Intervista tecnica e capacità programmatore [chiuso]

14

Ciò che dirò potrebbe essere un po 'controverso in natura ma oggi sono molto scoraggiato - e quindi lo chiederò a questo.

Ho appena avuto un colloquio con un'importante azienda tecnologica per una posizione di tirocinio, in cui mi è stato chiesto un sacco di domande tipiche sull'intervista basate sull'algoritmo. Ora, dato il mio background, mi considero strong negli algoritmi (ho anche ottenuto buoni voti negli algoritmi di livello post-laurea - full che coinvolgono NP-completezza e oltre (approssimazione e algoritmi randomizzati), ma sfortunatamente ho bocciato l'intervista. penso a un metodo molto efficace per risolvere un problema di corde in circa ~ 10 minuti .Una volta terminato l'intervista, ho bevuto un bicchiere d'acqua, mangiato una banana e rilassato per un po 'e ho provato di nuovo il problema. Risposta Potrei arrivare in meno di 5 minuti e il peggio di tutto - in realtà ero su quella traccia e l'intervistatore ne ha fatto cenno, ma troppa pressione mi ha cucinato.La mia intera esperienza mi ha fatto pensare a interviste tecnologiche. domande e volevo metterle in questo forum -

  1. È davvero possibile giudicare l'abilità tecnica di qualcuno in mezz'ora? Onestamente? O è solo un lancio di dadi?

  2. Le domande di interviste tecniche misurano la capacità di risoluzione dei problemi? Questo punto è molto discutibile? Come studente di dottorato di ricerca so che la risoluzione di problemi matematici implica la risoluzione di qualcosa di cui non hai mai sentito parlare prima. D'altra parte domande come: unire due liste concatenate in ordine o stampare tutti gli elementi di un albero binario nel livello kth diventano "semplici esercizi" una volta che qualcuno ha visto la soluzione o risolto il problema in anticipo?

  3. Le persone che escono a pieni voti in queste interviste diventano grandi programmatori? Continuano a progettare un motore di gioco elegante, librerie grafiche, scrivere framework di fork-join veloci? Ci sono prove che indichino una correlazione positiva tra fare bene nelle interviste tecniche e l'abilità di programmazione effettiva? Oppure queste interviste sono più orientate a trovare il tipo di persona che fa le cose (Spolsky)?

Posso scommettere che molti accademici che pubblicano idee rivoluzionarie - ICML, VLDB, Mobicom - lasceranno a bocca aperta queste interviste. Ma posso assicurarti che sono alcune delle persone più intelligenti che troverai su questo pianeta.

Sono principalmente accademico (studente universitario), quindi apprezzerò molto i percettivi di qualcuno dall'altra parte della barricata. Qualcuno che conduce effettivamente queste interviste?

[Ok tutti. Grazie per tutte le risposte gentili e riflessive. Dato che non voglio fare un'altra domanda, ti chiederò di rispondere a questa domanda per me.

Supponiamo che il candidato X abbia un buon portfolio pubblico di opere in cui ha contribuito a qualche progetto open source conosciuto dove - puoi effettivamente andare a verificare le sue patch, verificare i bug che ha chiuso e dare un'occhiata ai disegni che ha creato . In tal caso, la domanda è: quanto peso sei disposto a dare al suo lavoro pubblicamente disponibile / verificabile rispetto a quanto bene fa nel rispondere a una domanda di intervista ad alberi binari molto forzata in meno di 15 minuti?]

    
posta user396089 29.02.2012 - 02:14
fonte

5 risposte

11

Ricorda che ...

  1. L'obiettivo principale di un processo di intervista non è quello di arrivare alla verità assoluta su ciascuna abilità personale degli intervistati, ma selezionare pochi candidati da un gruppo di molti.
  2. È MOLTO, MOLTO più costoso assumere uno sviluppatore malvagio che passare un buono.

Quindi molte volte durante le interviste, le scorciatoie imperfette (come i quiz tecnici) sono prese perché, come hai detto, non c'è un processo perfetto per poter giudicare una persona in 30 minuti. Ma dato che la maggior parte non ha il lusso di lavorare fianco a fianco, dovresti semplicemente accettare che è quello che è, un gioco di dispari che tutti giocano.

    
risposta data 29.02.2012 - 03:50
fonte
9

Is it really possible to judge someone's technical ability in half and hour?

Non esattamente. È possibile estirpare le persone che non possono programmare affatto e coloro che non riescono a spiegare le cose sul loro CV. Oltre a questo, di solito sto solo cercando di valutare l'intelligenza generale e l'interesse nel campo. È difficile commentare ulteriormente la tua situazione senza conoscere il problema che ti è stato chiesto di risolvere.

Do technical interview questions measure problem solving ability?

Questo non è l'obiettivo delle mie domande tecniche. Invece sto cercando di scoprire se il candidato ha una conoscenza dei fondamenti dell'informatica. Per valutare la capacità di risoluzione dei problemi, chiedo a un candidato di raccontare un problema interessante su cui hanno lavorato.

Do people who come out with flying colors in these interview go on to become great programmers? Or are these interviews more geared towards finding "getting things done" type of person (Spolsky)?

Questo è tutto. La grandezza è rara. Sono felice di trovare qualcuno competente.

    
risposta data 29.02.2012 - 02:36
fonte
5
  1. Sì. Sì, onestamente. Questo non vuol dire che 30 minuti siano sufficienti per avere un quadro completo di ciò di cui una persona è capace. Il compito dell'intervistatore è di fare il meglio per capire chi è l'intervistato e cosa possono fare. Trovare le persone che mettono qualcosa sul loro curriculum che non conoscevano veramente è semplice. Trovare esattamente ciò che l'intervistato può fare, incluse tutte le sue capacità e punti di forza, non lo è.

  2. Sì. Ti permettono di vedere come pensa l'intervistato. Ottenere la risposta corretta non è sempre necessario. Vedere qualcuno affrontare un problema con cui ha a che fare è altrettanto utile che vedere qualcuno rispondere correttamente a un problema senza troppi problemi. Faccio sempre una domanda a cui penso che l'intervistato potrebbe non essere in grado di rispondere.

  3. Non conosco alcuna prova empirica secondo cui le interviste tecniche trovino i migliori candidati, ma è la cosa migliore che ho provato. Persone diverse sono brave in cose diverse e ottenere risposte tecniche corrette non è l'unica cosa che decide se qualcuno viene assunto. Essere molto adatti all'azienda è anche molto importante.

In base alla tua domanda, ritengo che la cosa più importante da capire sia che i giorni di feedback chiaramente definiti come il voto di una lettera siano finiti. Ottenere la risposta giusta è solo una parte del risultato. Scrivere un buon codice, comunicare le tue idee e ascoltare gli altri è altrettanto importante. Tuttavia, queste aree sono più soggettive e devono essere trattate come tali.

Proprio come hai risolto il problema, fai un passo indietro e schiarisci la testa. Molto passa in un'intervista e l'intervistatore sa che non è un sistema perfetto. Stanno cercando di fare il meglio che possono per l'azienda, proprio come stai cercando di fare il meglio per te.

    
risposta data 29.02.2012 - 02:46
fonte
5

In mezz'ora puoi giudicare che l'abilità tecnica di una persona è almeno pari a x. Cioè, la loro abilità potrebbe essere più alta di quella dimostrata, ma puoi essere abbastanza sicuro che non è peggio. Se x è superiore ai tuoi requisiti, li assumi. Sì, è ingiusto se mostri di seguito la tua capacità effettiva. Tutto quello che posso dire è migliorare nella dimostrazione.

Se qualcuno avesse snocciolato una risposta praticamente memorizzata, avrei dato loro un problema più difficile. Nella memoria del mondo accademico è un'abilità importante. In un lavoro, è per lo più ridondante quando hai google proprio lì.

Visto come vengono impiegati i grandi programmatori, è sicuro che a un certo punto abbiano superato un colloquio di lavoro. No, non puoi dire se qualcuno sarà un grande programmatore da un'intervista di mezz'ora. Fortunatamente, molte aziende non hanno bisogno di grandi programmatori. Vanno d'accordo con programmatori solidi e affidabili che non hanno paura di affrontare compiti appena fuori dalla loro zona di comfort.

La ragione per cui i pensatori pionieristici potrebbero cedere le interviste di lavoro è che le opportunità per risolvere problemi appariscenti sono molto rari, e ci si può fidare solo di risolverli dopo aver dimostrato di poter risolvere banali, ma difficili problemi che i tuoi colleghi non possono, come il motivo per cui il software si blocca quando supera il 16% di carico.

    
risposta data 29.02.2012 - 05:11
fonte
3

Pochissime persone sanno se le loro tecniche di intervista funzionano davvero, perché non imparano mai di più su coloro che hanno fallito. Ma quando nulla confuta la loro ipotesi, la prendono come conferma che sono vere. Quindi c'è un elemento preciso nel lancio dei dadi.

Se le teorie economiche che dicevano che i mercati sono razionali ed efficienti erano vere, allora le aziende avrebbero cercato di assumere persone che erano cattive intervistate in modi che non le avrebbero penalizzate nel loro lavoro. Quindi, qualcuno che indossava un abito inadeguato, sudava, sembrava molto nervoso e aveva difficoltà a risolvere problemi tecnici sotto la pressione di un'intervista - se ci fossero prove al di fuori che altrimenti avrebbero potuto fare problemi tecnici e le pressioni del lavoro non erano come quelle di un'intervista (come in genere non lo sono) - rappresenterebbe la migliore possibilità per un'azienda di ottenere un candidato migliore di quanto potrebbe attrarre altrimenti e agirà di conseguenza. (Pensa alla sfera del denaro per il mondo aziendale). Alla fine i pregiudizi dell'intervista svanirebbero.

In pratica ciò va contro la natura umana. Gli intervistatori come estroversi sicuri, non importa quale sia la posizione, e anche se il colloquio tecnico fornisce informazioni peggiori rispetto al curriculum e ai riferimenti (come forse è vero nel tuo caso), lo prenderanno in considerazione.

Per quanto riguarda le tue domande:

  1. Un po '. I test hanno uno scarso rapporto segnale / rumore ma possono essere sintonizzati per eliminare completamente il non qualificato a scapito delle interviste qualificate-ma-male-tecniche.

  2. Vedi # 1. Parte del rumore deriva dalla variazione nel caso in cui le persone abbiano già visto il problema.

  3. Vedi # 1. C'è probabilmente una piccola correlazione positiva tra questi test e diventare un ottimo programmatore.

Il mio consiglio: studia alcune domande tecniche di esempio per acquisire familiarità di base. Ricorda che è un po 'un lancio di dadi, quindi durante l'intervista cerca di essere sicuro. Se riesci a spiegare quello che stai pensando senza distrarti dal pensare veramente, fallo. Se va davvero male, ammetti di essere nervoso durante le interviste e fagli sapere che sembra qualcosa con cui normalmente non avresti problemi, magari dando un esempio di un problema simile ma più difficile che hai risolto.

    
risposta data 29.02.2012 - 03:36
fonte

Leggi altre domande sui tag