Codice
- Chiedi al candidato di scrivere il codice
- Chiedi al candidato di leggere il codice
Se chiedi al candidato di scrivere il codice, assicurati che:
- Il codice non è banale ma piccolo
- Consenti l'accesso al manuale e a Internet
Se chiedi al candidato di leggere il codice, assicurati che:
- Il codice ha alcuni errori banali
- Il codice ha alcuni errori non banali
- Il codice funziona bene, ma può essere facilmente ottimizzato
Puoi usare tre o più parti di codice diverse, iniziare da una più semplice e avanzare alla successiva solo se vedi che il candidato fa fronte con facilità. Getta in qualche ricorsione, per ravvivare le cose.
Risorse
Richiedi un elenco dettagliato delle risorse PHP che il candidato utilizza. Libri, blog, forum, riviste, ecc. Ecco come i miei attuali datori di lavoro hanno scoperto StackOverflow .
Se il candidato menziona StackOverflow o Programmatori, NON devi chiedere o provare a scoprire il loro nome utente. Se volevano pubblicizzare la propria reputazione, avrebbero incluso un link Careers 2.0 sul proprio curriculum.
Strutture
Ogni sviluppatore PHP dovrebbe conoscere i framework PHP più popolari:
ed essere fluente almeno in uno di essi. Puoi avere alcuni esempi di codice pronti per ciascuno e chiedere al candidato di leggerli e spiegarli, dopo che ti hanno detto con quale sono più familiari.
Debug e amp; Profiling
Ho sempre pensato che agli sviluppatori PHP mancassero capacità di debug e di profiling (forse solo gli sviluppatori PHP con cui ho lavorato). Se durante la discussione scoprite che il candidato utilizza attivamente xdebug , non preoccupatevi del resto dell'intervista e assumeteli. ;)
Disinfezione degli input
Questo è importante. Puoi iniziare con una discussione sul perché è importante e poi chiedere i metodi più comuni per raggiungerlo. Questa discussione ti aiuterà su cosa chiedere.
Alcuni suggerimenti:
PHP snafus
Puoi trovare molti PHP snafus in questa discussione eccellente . Se stai intervistando per una posizione di alto livello, dovresti assolutamente chiederne alcuni. Alcuni esempi:
Gestione di PHP di valori numerici nelle stringhe:
"01a4" != "001a4" // true
"01e4" == "001e4" // also true
Codice PHP valido :
System.out.print("hello");
In PHP, una stringa vale quanto un puntatore a funzione:
$x = "foo";
function foo(){ echo "wtf"; }
$x(); # "wtf"
Test dell'unità
Devo aggiungere altro?
Conclusione
Un buon sviluppatore PHP dovrebbe combinare una varietà di abilità e amp; talenti:
- Una buona conoscenza di HTTP
- Una buona conoscenza della configurazione di Apache (anche se si utilizza un server Web diverso nella propria azienda)
- Almeno una conoscenza di base di JavaScript
- Ottima conoscenza di HTML / CSS
L'elenco potrebbe continuare all'infinito. Assicurati di adattare l'intervista alle esigenze specifiche dell'apertura del lavoro, non vuoi assumere solo un buon sviluppatore, ma un buon sviluppatore che è bravo in quello che hai immediatamente bisogno di lui / lei.