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 presenta alcuni errori non banali
- Il codice funziona bene, ma può essere facilmente ottimizzato
Puoi usare tre o più pezzi di codice diversi, iniziare da quello più semplice e passare a quello successivo solo se vedi che il candidato affronta facilmente. Getta un po 'di ricorsione, per rendere le cose più piccanti.
risorse
Richiedi un elenco dettagliato delle risorse PHP utilizzate dal candidato. Libri, blog, forum, riviste, ecc. È così che i miei attuali datori di lavoro hanno scoperto StackOverflow .
Se il candidato menziona StackOverflow o Programmatori, NON dovresti chiedere o provare a scoprire il loro nome utente. Se avessero voluto pubblicizzare la loro reputazione avrebbero incluso un link Careers 2.0 nel loro curriculum.
Frameworks
Ogni sviluppatore PHP dovrebbe conoscere i framework PHP più popolari:
ed essere fluente in almeno uno di essi. Puoi avere alcuni esempi di codice pronti per ognuno e chiedere al candidato di leggerli e spiegarli, dopo che ti hanno detto quale hanno più familiarità.
Debug e profilazione
Ho sempre pensato che agli sviluppatori PHP mancassero le capacità di debug e profiling (forse solo gli sviluppatori PHP con cui ho lavorato). Se durante la discussione scopri che il candidato utilizza attivamente xdebug , non preoccuparti del resto dell'intervista e assumilo . ;)
Sanificazione in ingresso
Questo è importante. Puoi iniziare con una discussione sul perché è importante e quindi chiedere i metodi più comuni per raggiungerlo. Questa discussione ti aiuterà su cosa chiedere.
Alcuni suggerimenti:
PHP Snafus
Puoi trovare molti snafus in PHP in questa eccellente discussione . Se stai intervistando per una posizione senior, dovresti sicuramente chiedere ad alcuni di questi. Qualche esempio:
Gestione PHP di valori numerici nelle stringhe:
"01a4" != "001a4" // true
"01e4" == "001e4" // also true
Codice PHP valido :
System.out.print("hello");
In PHP, una stringa è valida come un puntatore a funzione:
$x = "foo";
function foo(){ echo "wtf"; }
$x(); # "wtf"
Test unitari
Devo aggiungere altro?
Conclusione
Un buon sviluppatore di PHP dovrebbe combinare una varietà di abilità e 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
- Una grande conoscenza di HTML / CSS
La lista potrebbe continuare all'infinito. Assicurati di adattare il colloquio alle esigenze specifiche dell'apertura del lavoro, non vuoi assumere solo un buon sviluppatore ma un buon sviluppatore che è bravo in quello che devi fare immediatamente.