Código
- Pida al candidato que escriba el código
- Pida al candidato que lea el código
Si le pide al candidato que escriba el código, asegúrese de que:
- El código no es trivial pero es pequeño
- Usted permite el acceso al manual e Internet
Si le pide al candidato que lea el código, asegúrese de que:
- El código tiene algunos errores triviales
- El código tiene algunos errores no triviales
- El código funciona bien, pero se puede optimizar fácilmente
Puedes usar tres o más códigos diferentes, comienza desde el más simple y avanza hasta el siguiente si ves que el candidato hace frente con facilidad. Agrega algo de recursión para condimentar las cosas.
Resources
Solicite una lista detallada de los recursos de PHP que utiliza el candidato. Libros, blogs, foros, revistas, etc. Así es como mis empleadores actuales se enteraron de StackOverflow .
Si el candidato menciona StackOverflow o Programadores, NO debe preguntar ni intentar averiguar su nombre de usuario. Si quisieran anunciar su reputación, habrían incluido un enlace Careers 2.0 en su currículum.
Frameworks
Todo desarrollador de PHP debe conocer los frameworks PHP más populares:
y ser fluido en al menos uno de ellos. Puede tener algunas muestras de código listas para cada una y pedirle al candidato que las lea y las explique, después de que le indiquen con cuál están más familiarizadas.
Depuración & Perfil
Siempre he sentido que los desarrolladores de PHP carecen de habilidades de depuración y creación de perfiles (quizás solo los desarrolladores de PHP con los que he trabajado). Si durante la discusión descubre que el candidato utiliza activamente xdebug , no se moleste con el resto de la entrevista y simplemente contrátelos. ;)
Desinfección de entrada
Esto es importante. Puede comenzar con una discusión sobre por qué es importante y luego solicitar los métodos más comunes para lograrlo. Esta discusión lo ayudará a saber qué preguntar.
Algunos consejos:
Snafus de PHP
Puede encontrar una gran cantidad de errores de PHP en este excelente discusión . Si está entrevistando para un puesto de alto nivel, definitivamente debería preguntar sobre algunos de ellos. Algunos ejemplos:
Manejo de valores numéricos en cadenas por PHP:
"01a4" != "001a4" // true
"01e4" == "001e4" // also true
Código PHP válido :
System.out.print("hello");
En PHP, una cadena es tan buena como un puntero a una función:
$x = "foo";
function foo(){ echo "wtf"; }
$x(); # "wtf"
Prueba unitaria
¿Necesito decir más?
Conclusión
Un buen desarrollador de PHP debe combinar una variedad de habilidades & talentos:
- Una buena comprensión de HTTP
- Una buena comprensión de la configuración de Apache (incluso si utiliza un servidor web diferente en su empresa)
- Al menos una comprensión básica de JavaScript
- Una gran comprensión de HTML / CSS
La lista sigue y sigue. Asegúrese de adaptar la entrevista a las necesidades específicas de la apertura de trabajo, no desea contratar solo a un buen desarrollador, sino a un buen desarrollador que sea excelente en lo que necesita que haga de inmediato.