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 um código, certifique-se de que:
- O código não é trivial, mas é pequeno
- Você permite o acesso ao manual e à internet
Se você pedir ao candidato para ler o código, certifique-se de que:
- O código tem alguns erros triviais
- O código tem alguns erros não triviais
- O código funciona bem, mas pode ser facilmente otimizado
Você pode usar três ou mais códigos diferentes, começar do mais simples e só avançar para o próximo se perceber que o candidato lida com facilidade. Faça uma recursão para apimentar as coisas.
Recursos
Peça uma lista detalhada dos recursos do PHP que o candidato usa. Livros, blogs, fóruns, revistas, etc. Foi assim que meus atuais empregadores descobriram sobre o StackOverflow .
Se o candidato menciona StackOverflow ou programadores, você NÃO deve perguntar ou tentar descobrir seu nome de usuário. Se quisessem divulgar sua reputação, teriam incluído um link Carreiras 2.0 em seu currículo.
Frameworks
Todo desenvolvedor PHP deve conhecer os frameworks mais populares do PHP:
e seja fluente em pelo menos um deles. Você pode ter algumas amostras de código prontas para cada uma delas e pedir ao candidato que as leia e explique, depois de lhe dizerem qual delas estão mais familiarizadas.
Depuração e & Perfil
Eu sempre senti que os desenvolvedores PHP não têm habilidades de depuração e criação de perfil (talvez apenas os desenvolvedores PHP com quem trabalhei). Se durante a discussão você descobrir que o candidato usa ativamente o xdebug , não se preocupe com o restante da entrevista e apenas os contrate. ;)
Sanitização de entrada
Isso é importante. Você pode começar com uma discussão sobre por que é importante e, em seguida, pedir os métodos mais comuns para alcançá-lo. Esta discussão irá ajudá-lo sobre o que pergunte.
Algumas dicas:
- mysqli_real_escape_string é bom
- citações mágicas são ruins
PHP snafus
Você pode encontrar muitos problemas com PHP nesta excelente discussão . Se você está entrevistando para uma posição sênior, você deve definitivamente perguntar sobre alguns deles. Alguns exemplos:
Manipulação do PHP de valores numéricos em strings:
"01a4" != "001a4" // true
"01e4" == "001e4" // also true
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
Precisa dizer mais?
Conclusão
Um bom desenvolvedor PHP deve combinar uma variedade de habilidades & talentos:
- Uma boa compreensão do HTTP
- Um bom entendimento da configuração do Apache (mesmo se você usar um servidor da Web diferente em sua empresa)
- Pelo menos uma compreensão básica de JavaScript
- Um ótimo entendimento de HTML / CSS
A lista continua e continua. Certifique-se de adaptar a entrevista para as necessidades específicas da vaga de emprego, você não quer contratar apenas um bom desenvolvedor, mas um bom desenvolvedor que é ótimo no que você precisa imediatamente dele / dela fazer.