Qual è la tua domanda di intervista preferita? [chiuso]


21

Quale domanda hai trovato particolarmente utile nell'intervista agli sviluppatori di software? Di cosa si tratta la domanda che l'ha resa particolarmente utile?

Sto cercando una domanda particolare che ti piace porre, non solo un approccio di intervista come "farli scrivere codice".


2
La domanda - come formulata - non è costruttiva, ma ha delle buone risposte. Sostituisci la domanda in modo che corrisponda alle risposte migliori e ti consiglierò di riaprirla.
ChrisF

@ChrisF: ho riformulato per cercare di ottenere un po 'più di "condivisione di esperienze" e "chiedendo perché", che dovrebbe anche colpire più "inviti a risposte più lunghe". Fammi sapere se necessita di ulteriori revisioni.
Tim Goodman,

va meglio!
ChrisF

Guardando la domanda e le risposte ora, sembra ancora abbastanza non costruttivo. Non sembra che nessuna delle risposte contenga il "perché" e abbia appena elencato le domande.
Adam Lear

Risposte:



22

Questo è un po 'specifico per il mio scenario, ma penso che sia stata comunque un'ottima domanda:

Quindi dici qui che non hai mai toccato C # o .NET prima, giusto? Ok, quindi ecco una workstation. Scopri come scrivere un programma che richiede questo DB qui e stampa un elenco di clienti con i loro ordini, ordinati per nome del cliente. Puoi usare qualunque risorsa tu voglia.

L'unica domanda che abbia mai avuto che ha effettivamente messo alla prova la mia capacità di apprendimento.


era quello prima che StackOverflow esistesse?
eds

1
Ehm, questa non dovrebbe essere una domanda che ti piace fare?
Paddyslacker

8
+1, questa è una domanda perfetta da porre. Se non riescono a capire i costrutti del linguaggio di base con Google, nulla li salverà.
Josh K,

Mi piace, mostra quanto riescono a imparare un linguaggio di programmazione che non hanno mai usato. Potrei rubarlo per le domande sulla mia intervista :)
Richard,

1
Sembra inutile, chiunque può copiare e incollare codice .net schifoso direttamente da msdn.
dotjoe

15

Questa non è una domanda di codifica, ma comportamentale:

Raccontami di un momento in cui non sei riuscito a completare tutto il tuo lavoro in tempo per rispettare una scadenza. Che cosa hai fatto? Qual'era il risultato?


3
Perché questa è una buona domanda? Mi sembra inutile
Joe Phillips,

9
Il punto è che dalla risposta degli sviluppatori ottengo molte informazioni. In primo luogo, se non ammettono che questa situazione è mai accaduta a loro, allora si sono fatti prendere in giro o non hanno esperienza in progetti reali. In secondo luogo, se non parlano di come comunicherebbero questo problema al team, ma piuttosto di quanto lavorerebbero duro per risolverlo, non voglio assumerli. Una scarsa comunicazione è responsabile della maggior parte dei problemi che vedo nei progetti. Voglio assumere comunicatori proattivi.
Paddyslacker,

3
Faccio una domanda simile, più generale ("parlami di un momento in cui qualcosa è andato storto, e cosa hai fatto in risposta ...") Molto aperto, eppure ho avuto un intervistato giurare su e giù che nulla aveva mai andato storto per lui. Inutile dire che non l'ho consigliato a noleggio.
Alex Feinman,

13

Come sei arrivato alla programmazione?

Bel modo di vedere se la persona ha una passione per la programmazione e rompere il ghiaccio.


11

Quando intervistando qualcuno che sostiene di avere una quantità non trascurabile di esperienza Java, li chiedo hashcode()e equals()e il rapporto tra di loro. Non è davvero possibile acquisire una significativa esperienza Java senza rendersi conto delle potenziali insidie ​​e chiunque ignori il problema aggiungerà bug difficili da trovare al mio progetto.

Chiederò anche di ArrayListe LinkedListe dei relativi pro e contro. Questo dovrebbe sperare di dimostrare che almeno sono consapevoli e stanno pensando alle implicazioni sulle prestazioni del codice che scrivono.

Mi piace anche far loro esprimere un'opinione su un argomento tecnico (l'utilità o meno di Maven, le eccezioni verificate rispetto a quelle non verificate, ecc.), E quindi interpretare l'avvocato del diavolo per vedere quanto possono discutere del loro punto.


+1 Mi piacciono ArrayList e LinkedList. Ho visto molti commenti su SO sulle persone che affermano che ArrayLists dovrebbe essere abolito, ma posso pensare a molti usi in cui sono meglio di LinkedLists
Evan Plaice,

LOL! Una volta due intervistatori mi hanno chiesto della differenza tra un elenco e una mappa. Ho dato loro uno sguardo così stupito, in realtà si sono scusati (e poi ho risposto alla loro domanda e abbiamo continuato con l'intervista, ovviamente).
Hila,

6

"Qual è stato l'ultimo (migliore) libro tecnico che hai letto?"

o, più in generale:

"Come mantenete aggiornate le vostre conoscenze?"

È incredibile quante persone non abbiano mai letto un libro tecnico da quando hanno finito la scuola. E se non hai mai letto un libro da quando hai finito la scuola e hai finito la scuola dieci anni fa, probabilmente non hai mai sentito parlare di cose come test unitari, modelli di progettazione, principi SOLIDI ...

Risposta al commento :

Puoi ridimensionarmi se vuoi, ma questa è una delle mie domande preferite per l'intervista. Blog, Wikipedia, SO sono tutte ottime fonti per le ultime notizie di alta tecnologia. Ma non credo che tu possa imparare argomenti molto complessi (come quello che trovi nei libri di Knuth) in modo approfondito leggendo blog.

Se devo scegliere tra due sviluppatori, dove uno mostra questa volontà di apprendere nuove materie complesse e l'altro no, assumerò il primo. Anche se lui o lei vuole più soldi. Pagherà a lungo termine.


-1. Raramente apro libri tecnici, ma so cos'è il TTD e conosco alcuni dei modelli di progettazione. Ho imparato molto di più da SO (ad esempio cos'è il modello di fabbrica) e dai blog di Jon Skeet e di altri professionisti di quanto avrei imparato da un libro mediocre. Nessuno dei libri che ho visto ha spiegato, ad esempio, perché i controlli FxCop e StyleCop sono così importanti per scrivere un codice sorgente di discendenza che può essere riutilizzato (e nemmeno menzionato quegli strumenti).
Arseni Mourzenko,

3
+1 Puoi imparare molto con articoli e blog online, ma anche così, non leggere libri tecnici implica una mancanza di iniziativa e anche la mediocrità.
Dunk,


5

Ti consideri una persona fortunata?

L'ho letto in un'intervista a uno dei membri fondatori di Bruel & Kjaer e mi ha colpito. È molto probabile che le persone di successo si considerino fortunate. Vedono le battute d'arresto come opportunità per apportare miglioramenti e tendono a condividere i loro successi (fortuna) con le persone che li circondano - Le persone fortunate portano più fortuna. *

Le persone che si considerano sfortunate hanno maggiori probabilità di essere una mela cattiva nella tua squadra.

* In questo contesto, la fortuna dovrebbe essere letta come occasione d'incontro di preparazione , non un quadrifoglio.


1
+1 Mi piacerebbe votarlo più volte.
ocodo,

Napoleone disse una volta "Dammi generali che sono fortunati!"
Zachary K,

4

Quello che ha sempre funzionato per me ...

"Parlami dei tuoi precedenti progetti" .

Quindi usa le loro risposte come punto di partenza per chiedere loro il loro ruolo nei progetti e perché hanno preso determinate decisioni. Invece di fare l'intervista al SAT, ho solo una conversazione con loro. È sempre stato più che sufficiente per giudicare se lo sviluppatore fosse adatto a una posizione.

Sono stato assunto solo una volta per un lavoro in cui conoscevo già la lingua in uso, quindi le domande specifiche sulla lingua non hanno molto valore per me. Personalmente, inoltre, non mi importa molto delle curiosità sulla sintassi ( come faresti un tipo di zucchero filato intrappolato in un recinto pieno di zebre affamate? ) E ho domande, quindi non faccio mai quel tipo di domanda.


+1. Lo chiedo anche a me. Ma a volte è difficile scoprire quale fosse la funzione del candidato nel progetto (responsabile del progetto? Sviluppatore principale? Sviluppatore di manutenzione? Operatore macchina da caffè?) Soprattutto quando hanno lavorato su un grande progetto con molte persone.
Nikie,

2
Se potessi avere un lavoro al mondo, quale sarebbe?

Sto solo cercando una cosa: un serio tentativo di rispondere. L'unica risposta sbagliata è ridere e dire all'intervistatore che è la domanda di intervista più cliché al mondo. (Ho votato senza assunzione).

È davvero un set up per la mia domanda preferita di tutti i tempi:

Se vuoi essere [una rock star], perché stai facendo domanda per essere un [ingegnere dello sviluppo Internet III] qui a [HugeCorp]?

Funziona meglio se in realtà danno una risposta audace. Raramente lo vedono arrivare e questa è davvero un'opportunità per qualcuno di brillare dicendo qualcosa come "le ore qui sono migliori" o "la mia carriera qui durerà più a lungo della tipica rock star".

Ho anche mentito sull'assenza di una risposta errata alla prima domanda. A meno che tu non stia intervistando per un lavoro da sogno assolutamente fantastico, il lavoro per cui sta intervistando è la risposta sbagliata. E se stai intervistando per il lavoro dei sogni e non lo hai già, dovresti chiederti perché non ti stai candidando.


"E se stai intervistando per il lavoro dei sogni e non lo hai già, dovresti chiederti perché non ti stai candidando." - Sembra una domanda "dannato se lo fai, dannato se non lo fai", specialmente se tratti la risposta nel modo in cui descrivi. Se qualcuno ha in mente un lavoro da sogno, forse non si sentono ancora pronti ad accettarlo e hanno bisogno di più esperienza con ciò che possono imparare nella tua azienda. Perché tenerlo contro di loro?
Mark Freedman,

4
-1 Ho rifiutato le offerte di lavoro di aziende in cui le persone hanno posto domande stupide totalmente irrilevanti come queste. # 1 Non ha nulla a che fare con il lavoro o il modo in cui eseguiresti # 2 Invece di intervistare la persona che l'intervistatore sta davvero cercando di mostrare come sono più intelligenti dell'intervistato ingannandoli, e credimi che la loro arroganza si imbatte abbastanza fortemente # 3 Non penso che mi piacerebbe lavorare con pr @ # k $ che pongono questi tipi di domande durante un colloquio di lavoro se non li avessi graditi durante il colloquio. Fare una domanda davanti a una birra è un'altra storia.
Dunk il

@Dunk: hai ragione, le domande trabocchetto dicono di più sull'intervistatore che sull'intervistato. Ma avere un senso sugli obiettivi e i desideri di una persona in generale ha senso. Vuoi che i tuoi dipendenti siano soddisfatti del loro lavoro (le persone infelici non sono produttive), quindi vuoi sapere se hai il lavoro giusto per loro.
Nikie,

@Dunk dato che i clienti con cui mi occupo quotidianamente fanno domande cliché e spesso ripetono gli stessi stupidi errori, una domanda cliché come questa aiuta anche a selezionare autonomamente il tipo di persone che non possono trattare con i clienti nel mio lavoro. L'aspetto positivo è che il lavoro paga per compensare la necessità di tollerare tale comportamento. Quindi in questo senso è davvero la domanda perfetta.
shemnon,

@Mark Freedman - Non lo tengo contro di loro. Questo dà loro la possibilità di essere onesti e diretti sul proprio percorso di carriera. Se un intervistato ritiene di essere "dannato se lo fa e dannato se non lo fa", il lavoro non fa per loro. Se non sei disposto a sporgere il collo con una risposta onesta che è già un segno contrario.
shemnon,

2

Facendo interviste in c #, adoro chiedere: "Come gestite gli errori in un metodo"? Se ricevo una risposta decente a questa domanda, chiedo "Come si fa / si imposta la gestione degli errori in un'applicazione Web?"

Sono sempre stupito di quanti sviluppatori non hanno problemi con la prima domanda e nessun indizio sulla seconda. Ho anche intervistato molti che non sapevano descrivere come venivano gestiti gli errori nel loro attuale progetto.


2

Qualcosa come questo:

moltiplicare un valore 7 senza utilizzare *, /e +le operazioni. :)


4
La tua base di codice richiede la conoscenza di bit-twiddling o è solo per misurare l'interesse per i dettagli nitidi?
Peter Taylor,

2
Nota, non ha detto "o"
Ben L

1
@Ben, penso che tu abbia appena lanciato una bomba logica nella botola -: /
ocodo

2
Non è giusto (x << 3) - x?
user13278,

1
O ancora più semplice:x -(-x) - (-x) -(-x) - (-x) -(-x) - (-x)
nikie,

1

Simile a David ma leggermente diverso:

Dai un'occhiata al disordinato codice di produzione reale da una versione precedente che in seguito abbiamo risolto e migliorato. Dimmi cosa fa. Dimmi dove sono i problemi (correttezza e stile). Dimmi come vorresti risolverlo e migliorarlo

Questo aiuta a distinguere le persone che possono semplicemente scrivere un nuovo codice e le persone che possono far fronte alla realtà delle basi di codice legacy.


0

molti anni fa mi è stata chiesta la differenza tra regexps / a * / e / a *? /

Personalmente tendo a porre alcune domande sulla ricorsione.


1
Il ?denota goloso o zero o uno ? Ho visto entrambe le sintassi.
Paul Nathan,

1
Quale dialetto?

Era perl5, era anche circa 11 anni fa. Quindi sì, è stato avido contro non avido.
Zachary K,

0

Sono sorpreso dal numero di risposte non riuscite a questa domanda:

Come cercheresti un elemento in un elenco non ordinato?


È una domanda piuttosto profonda: come viene definita una partita? hai qualche conoscenza sull'ordinamento parziale nell'elenco? Che tipo di lista è? Gli articoli sono ordinabili? Quanto è grande l'elenco? Qual è il costo computazionale relativo del confronto rispetto al controllo di una partita? Diverse risposte a queste domande potrebbero cambiare l'approccio ottimale .....
mikera,

Con quale frequenza verrà eseguita questa ricerca? Potrebbe essere un collo di bottiglia per le prestazioni?
Justsalt,

WTF, ragazzi. Inizia dal primo o dall'ultimo elemento, confronta, se non una corrispondenza, passa all'elemento successivo. L'unica domanda è: ci preoccupiamo per più corrispondenze o interrompiamo la ricerca sulla prima corrispondenza? Se vuoi dare alcune informazioni puoi aggiungere: Per gli elenchi collegati non importa, ma per gli elenchi indicizzati, se anche io volessi estrarre le corrispondenze, attraverserei l'elenco in ordine inverso, quindi non devo aggiornare il indice al di fuori della condizione del loop.
NotGaeL,

0

La mia domanda preferita è:

(Presumibilmente in un mix di Java / C # e pseudocodice)

Utilizzando contenitori non esotici, progettare una classe che si comporterebbe come un dizionario il più performante possibile, il che consente anche di enumerare le chiavi non in ordine "casuale" ma nell'ordine in cui queste chiavi sono state aggiunte al dizionario poiché è stato creato per la prima volta.


Questo porta a troppe domande di chiarimento. È giusto usare solo due tabelle hash o una tabella hash e un elenco di array: uno che contiene l'ordinamento e uno per contenere l'ordinamento? Deve essere possibile rimuovere roba? (Questo rende un po 'più complicato.) Se un valore viene aggiornato, conta come aggiungerlo nuovamente?
dsimcha,

@dsimcha, buon punto. Ho 20-30 minuti per parlare e inizio con: non esitate a chiedere chiarimenti in qualsiasi momento. Se ti senti bloccato, sarei felice di fornirti un suggerimento o guidarti nella giusta direzione. Se la persona sta ancora girando le ruote, direi che non capiscono le strutture dei dati. Per quanto riguarda il chiarimento di ciò che voglio, preferirei lasciare questo indeterminato e prenderlo in diverse direzioni.
Lavoro il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.