Código
- Peça ao candidato para escrever o código
- Peça ao candidato para ler o código
Se você pedir ao candidato para escrever código, verifique se:
- O código não é trivial, mas pequeno
- Você permite o acesso ao manual e à internet
Se você solicitar ao candidato que leia o código, verifique se:
- O código tem alguns erros triviais
- O código possui alguns erros não triviais
- O código funciona bem, mas pode ser facilmente otimizado
Você pode usar três ou mais partes diferentes do código, comece pelo mais simples e avance para o próximo se perceber que o candidato lida com facilidade. Jogue alguma recursão, para apimentar as coisas.
Recursos
Peça uma lista detalhada dos recursos PHP que o candidato usa. Livros, blogs, fóruns, revistas etc. Foi assim que meus atuais empregadores descobriram o StackOverflow .
Se o candidato mencionar StackOverflow ou Programmers, você NÃO deve perguntar ou tentar descobrir o nome de usuário. Se eles quisessem anunciar sua reputação, teriam incluído um link de Carreiras 2.0 em seu currículo.
Frameworks
Todo desenvolvedor PHP deve conhecer as estruturas PHP mais populares:
e seja fluente em pelo menos um deles. Você pode ter alguns exemplos de código prontos para cada um e pedir ao candidato que os leia e explique, depois que eles disserem com quem eles estão mais familiarizados.
Depuração e criação de perfil
Sempre achei que os desenvolvedores de PHP não possuem habilidades de depuração e criação de perfil (talvez apenas os desenvolvedores de PHP com quem trabalhei). Se durante a discussão você descobrir que o candidato usa o xdebug ativamente , não se preocupe com o resto da entrevista e apenas contrate-os. ;)
Desinfecção de entrada
Isso é importante. Você pode começar com uma discussão sobre por que é importante e depois pedir os métodos mais comuns para alcançá-lo. Esta discussão irá ajudá-lo sobre o que perguntar.
Algumas dicas:
Snafus PHP
Você pode encontrar muitos snafus PHP nesta excelente discussão . Se você está entrevistando para uma posição sênior, você definitivamente deve perguntar sobre alguns deles. Alguns exemplos:
Manipulação do PHP de valores numéricos em strings:
"01a4" != "001a4" // true
"01e4" == "001e4" // also true
Código PHP válido :
System.out.print("hello");
No PHP, uma string é tão boa quanto um ponteiro de função:
$x = "foo";
function foo(){ echo "wtf"; }
$x(); # "wtf"
Teste de unidade
Preciso dizer mais?
Conclusão
Um bom desenvolvedor de PHP deve combinar uma variedade de habilidades e talentos:
- Uma boa compreensão do HTTP
- Um bom entendimento da configuração do Apache (mesmo se você usar um servidor Web diferente na sua empresa)
- Pelo menos um entendimento básico de JavaScript
- Um ótimo entendimento de HTML / CSS
A lista continua e continua. Certifique-se de adaptar a entrevista às necessidades específicas da vaga, você não deseja contratar apenas um bom desenvolvedor, mas um bom desenvolvedor que seja ótimo no que você precisa que ele faça imediatamente.