Hai detto che stai intervistando per le posizioni degli stagisti nella domanda, quindi questo è da quel punto di vista, per gli sviluppatori a tempo pieno la barra sarà un po 'più alta.
Quando stai intervistando stagisti, devi ricordare che potrebbero non aver completato i loro studi e che potrebbero anche essere entrati al college senza precedenti in programmazione e informatica. Pertanto, è necessario ridimensionare le aspettative rispetto a ciò che ci si può ragionevolmente aspettare che qualcuno conosca e al grado di prestigio della posizione (ad esempio, Google può cavarsela con le aspettative di cui una società di cui la gente non ha sentito parlare).
Osservando le domande che hai presentato, probabilmente le vedrei come segue in un'intervista:
1) Scrivi una funzione che ritorni vera se i lati del triangolo (tutti i numeri interi) a, bec possono rappresentare un triangolo rettangolo.
Applicazione di base della geometria con semplice codifica, la maggior parte degli studenti dovrebbe essere in grado di farlo senza troppe difficoltà. Al massimo potrebbe essere necessario un promemoria del teorema di Pitagora se mostrano un po 'di stress a causa del fatto di essere in un'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 del modulo, o che non lo hanno usato molto, potrebbero aver bisogno di ricordarselo, ma non dovrebbero riscontrare problemi reali nella risoluzione del problema.
3) Calcola l'ennesimo elemento di Fibonacci usando la ricorsione (se non sapessero cosa fosse Fibonacci, scriverei anche la definizione F (n) = F (n-1) + F (n-2); F (1 ) = 1; F (0) = 1).
Questo tende ad essere un problema abbastanza comune, quindi la maggior parte degli studenti (se non tutti) lo vedranno ad un certo punto prima della laurea. Il trucco è che di solito si presenta quando la ricorsione viene presentata agli studenti mentre si presta bene o una soluzione ricorsiva o basata su loop che può quindi essere confrontata in modo che gli studenti di diverse scuole possano vederlo in momenti diversi a seconda della sequenza dei corsi. In pratica, se qualcuno non fosse in grado di trovare il ricorsivo, chiederei un'alternativa usando i loop e se non fosse in grado di inventarlo, sarei più preoccupato per la loro potenziale capacità.
4) Implementare la struttura Elenco per intero e scrivere la funzione per invertire.
Questa domanda potrebbe in realtà essere un po 'troppo aperta in quanto è scritta, quindi potrebbe anche essere una buona domanda per vedere come il candidato cerca informazioni aggiuntive (ad esempio dovrebbe includere funzioni di cancellazione, conversione in array, ecc.), Ma dato un pozzo definizione del problema definita ("Implementare una struttura di elenco 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 gli elenchi sono una struttura comune presentata in un corso iniziale sulle strutture di dati o in un corso iniziale di informatica.
In termini di rapporti con i candidati, se stanno lottando, assicurati che siano rilassati e concedi loro un po 'di indulgenza poiché potrebbero avere solo ansia da prestazione in quanto questa potrebbe essere la loro prima vera intervista. Potrebbero essere necessari suggerimenti per risolvere i problemi, soprattutto nel caso del terzo e del quarto problema rispetto ai primi due.
Inoltre, strutturare il processo di intervista generale in modo che siano integrati punti di "uscita gradevole". Ad esempio, è possibile avere il seguente ordine del giorno:
- Incontrare e salutare, procedure di intervista.
- Breve intervista con i programmatori del personale, domande di base sul background.
- Presentazione del quiz di programmazione.
- Rompere
- Rientro dalla pausa, licenziamento di alcuni candidati che non sono adatti.
- Intervista estesa con i programmatori del personale.
- Intervista con le risorse umane (se necessario).
- Incartare.
Questo flusso di interviste tende a funzionare bene se si desidera essere in grado di licenziare i candidati in anticipo poiché sanno fin dall'inizio che potrebbero essere licenziati dopo l'interruzione. La breve intervista prima del quiz significa anche che non si stanno solo presentando per fare il test, il che li rende un po 'di pratica del colloquio e può anche consentire loro di decidere che non sono adatti. Se ci sono altri programmatori che osservano il quiz o assistono il candidato durante questo, allora dà loro anche la possibilità di passare / fallire il candidato mentre stanno facendo una breve pausa.
In ogni momento in cui stai intervistando per uno stage e i candidati sono studenti, devi ricordare che sono ancora studenti e potrebbero non avere molta pratica con le interviste (portando a possibili ansie da prestazione) e potrebbero anche non aver raggiunto il punto nei loro studi per anche essere in grado di rispondere alle domande, il che significa che potrebbe essere una buona idea inviarle sulla loro strada con una copia della "soluzione (e) ideale" ai problemi che vengono loro sottoposti.