Code
- Demander au candidat d'écrire le code
- Demander au candidat de lire le code
Si vous demandez au candidat d'écrire du code, assurez-vous que:
- Le code est non trivial mais petit
- Vous autorisez l'accès au manuel et à Internet
Si vous demandez au candidat de lire le code, assurez-vous que:
- Le code a quelques erreurs triviales
- Le code a des erreurs non triviales
- Le code fonctionne bien, mais il peut être facilement optimisé
Vous pouvez utiliser trois codes différents ou plus, commencez par le plus simple et avancez au suivant si vous voyez que le candidat s'en sort facilement. Ajoutez de la récursion pour pimenter les choses.
Ressources
Demandez une liste détaillée des ressources PHP utilisées par le candidat. Livres, blogs, forums, magazines, etc. C'est ainsi que mes employeurs actuels ont découvert StackOverflow .
Si le candidat mentionne StackOverflow ou des programmeurs, vous ne devez PAS demander ou essayer de connaître son nom d'utilisateur. S'ils voulaient faire connaître leur réputation, ils auraient inclus un lien vers Carrières 2.0 dans leur CV.
Cadres
Tous les développeurs PHP doivent connaître les frameworks PHP les plus populaires:
et parler couramment au moins l'un d'entre eux. Vous pouvez avoir quelques exemples de code prêts pour chacun et demander au candidat de les lire et de les expliquer, après vous avoir indiqué lequel de ceux-ci sont les plus familiers.
Débogage et profilage
J'ai toujours pensé que les développeurs PHP manquaient de compétences en débogage et en profilage (peut-être uniquement les développeurs PHP avec lesquels j'ai travaillé). Si, au cours de la discussion, vous découvrez que le candidat utilise activement xdebug , ne vous embêtez pas avec le reste de l'entretien et engagez-le simplement. ;)
Assainissement des entrées
C'est important. Vous pouvez commencer par discuter de la raison pour laquelle c'est important, puis demander les méthodes les plus courantes pour y parvenir. Cette discussion vous aidera sur ce qu'il faut demander.
Quelques astuces:
Snafus PHP
Vous pouvez trouver beaucoup de snafus PHP dans cette excellente discussion . Si vous vous entretenez pour un poste de cadre supérieur, vous devez absolument vous renseigner sur certains d'entre eux. Quelques exemples:
Traitement par PHP des valeurs numériques en chaînes:
"01a4" != "001a4" // true
"01e4" == "001e4" // also true
Code PHP valide :
System.out.print("hello");
En PHP, une chaîne vaut autant qu'un pointeur de fonction:
$x = "foo";
function foo(){ echo "wtf"; }
$x(); # "wtf"
Tests unitaires
Ai-je besoin d'en dire plus?
Conclusion
Un bon développeur PHP doit combiner une variété de compétences et de talents:
- Une bonne compréhension de HTTP
- Une bonne compréhension de la configuration d'Apache (même si vous utilisez un serveur Web différent dans votre entreprise)
- Au moins une compréhension de base de JavaScript
- Une grande compréhension de HTML / CSS
La liste se rallonge de plus en plus. Assurez-vous d’adapter l’entretien aux besoins spécifiques de l’emploi, vous ne voulez pas embaucher un bon développeur, mais un bon développeur qui est excellent dans ce que vous devez immédiatement faire.