Hai detto che stai intervistando per le posizioni interne nella domanda, quindi questo è da quel punto di vista, per gli sviluppatori a tempo pieno la barra sarà un po 'più alta.
Quando intervisti gli stagisti, devi ricordare che potrebbero non aver completato i loro studi e che potrebbero aver anche frequentato il college senza alcun precedente background in programmazione e informatica. In quanto tale, devi ridimensionare le aspettative su ciò che puoi ragionevolmente aspettarti che qualcuno sappia e sul grado di prestigio della posizione (ad esempio Google può farla franca con le aspettative che una società non ha mai sentito nominare).
Esaminando le domande che hai presentato, probabilmente le vedrei come segue in un'intervista:
1) Write a function that returns true if triangle sides (all integers) a, b and c can represent a right triangle.
Applicazione di base della geometria con semplice codifica, la maggior parte degli studenti dovrebbe essere in grado di farlo senza troppe difficoltà. Al massimo un promemoria del Teorema di Pitagora potrebbe essere necessario se mostrano un po 'di stress a causa dell'intervista. Questo potrebbe quasi essere visto come un problema di "ego boost" in quanto può aiutare a sistemare alcune persone se sono molto nervose durante l'intervista.
2) FizzBuzz
Ancora una volta, un'altra applicazione di alcune dichiarazioni di controllo di base. Gli studenti che non sono stati esposti all'operatore modulo, o non l'hanno usato molto, potrebbero aver bisogno di ricordarselo, ma non dovrebbero incontrare problemi reali per risolvere il problema.
3) Calculate the Nth element of Fibonacci using recursion (if they didn't
know what Fibonacci was, I would even write them the definition F(n) =
F(n-1) + F(n-2); F(1) = 1; F(0) = 1).
Questo tende ad essere un problema abbastanza comune, quindi molti (se non tutti) gli studenti lo vedranno ad un certo punto prima della laurea. Il problema è che solitamente si presenta quando la ricorsione viene presentata agli studenti come si presta bene o una soluzione ricorsiva o basata su loop che può essere quindi confrontata in modo che gli studenti di diverse scuole possano vederla in momenti diversi a seconda della sequenza di corsi. In pratica, se qualcuno non riuscisse a trovare il ricorsivo, chiederei un'alternativa usando i loop e se non fossero in grado di farlo sarei più preoccupato per la loro potenziale abilità.
4) Implement structure List for integer and write function to reverse it.
Questa domanda potrebbe in realtà essere un po 'troppo aperta come è stata scritta, quindi potrebbe anche essere una buona domanda per vedere come il candidato cerca informazioni aggiuntive (ad esempio dovrebbe essere inclusa la funzione di eliminazione, conversione in array, ecc.), ma data una dichiarazione di problemi ben definita ("Implementa una struttura di lista di base per numeri interi che consente di aggiungere numeri alla fine o in un indice arbitrario, eliminati e includere una funzione per restituire una copia invertita dell'elenco") gli studenti dovrebbero essere in grado di risolvere il problema fintanto che le liste sono una struttura comune presentata in un primo corso di strutture di dati, o in un corso di informatica iniziale di base.
In termini di trattare con i candidati, se stanno lottando, assicurati che siano rilassati e permetti loro un po 'di clemenza perché potrebbero semplicemente provare ansia da prestazione, perché questa potrebbe essere la loro prima vera intervista. Potrebbero essere necessari suggerimenti per risolvere i problemi, soprattutto nel caso del terzo e quarto problema rispetto ai primi due.
Inoltre, strutturare il processo dell'intervista in modo che ci siano dei punti di "grazia di uscita" integrati. Ad esempio potresti avere il seguente ordine del giorno:
- Meet and greet, procedure di intervista.
- Breve intervista con i programmatori dello staff, domande di base sullo sfondo.
- Presentazione del quiz di programmazione.
- Interruzione
- Ritorno dalla pausa, licenziamento di alcuni candidati che non sono adatti.
- Intervista estesa ai programmatori dello staff.
- Intervista con risorse umane (se necessario)
- Riepilogo.
Questo flusso di interviste tende a funzionare bene se vuoi essere in grado di licenziare i candidati in anticipo poiché sanno fin dall'inizio che potrebbero essere licenziati dopo la pausa. Il breve colloquio prima del quiz significa anche che non si presentano solo per sostenere il test che fa loro un po 'di pratica di colloquio e può anche consentire loro di decidere che non sono una buona scelta. Se ci sono altri programmatori che osservano il quiz o assistono il candidato durante questo, allora dà loro la possibilità di passare / fallire il candidato mentre stanno facendo una breve pausa.
In qualsiasi momento durante le interviste per uno stage ei candidati sono studenti, è necessario ricordare che sono ancora studenti e che potrebbero non avere molta pratica con le interviste (che portano a possibili ansie da prestazione) e potrebbero anche non aver raggiunto il punto i loro studi possono anche essere in grado di rispondere alle domande, il che significa che potrebbe essere una buona idea inviarli sulla loro strada con una copia delle "soluzioni ideali" ai problemi che vengono loro assegnati.