Tivemos um candidato a nível sênior da entrevista reprovado em uma nuance da pergunta 1 2 do FizzBuzz .
Quero dizer, realmente, completamente, completamente, falhei na pergunta - nem mesmo perto.
Eu até treinou-lo através de pensamento sobre usando um loop e que 3
e 5
foram realmente vale a pena considerar como casos especiais.
Ele estragou tudo.
Apenas para fins de controle de qualidade, fiz a mesma pergunta exata a três colegas de equipe; deu a eles 5 minutos; e depois voltou para coletar seu pseudo-código. Todos eles acertaram em cheio e não tinham visto a pergunta antes. Dois perguntaram qual era o truque ...
Em um exercício lógico diferente, o candidato mostrou alguma compreensão de alguns dos recursos disponíveis no idioma que ele escolheu usar (C #). Portanto, não é como se ele nunca tivesse escrito uma linha de código. Mas sua lógica ainda fedia.
Minha pergunta é se eu deveria ter dado a ele a resposta para as perguntas lógicas.
Ele sabia que estragou tudo e reconheceu isso mais tarde na entrevista.
Por outro lado, ele nunca pediu a resposta ou o que eu esperava ver.
Eu sei que exercícios de codificação podem ser usados para configurar candidatos a falhas (novamente, veja o segundo link acima). E eu realmente tentei ajudá-lo a responder ao cerne da questão. Mas esse era um candidato de nível sênior e o Fizz-Buzz é, francamente, ridiculamente fácil, mesmo depois de considerar o nervosismo das entrevistas.
Eu senti que deveria ter mostrado a ele uma maneira de resolver o problema para que ele pudesse pelo menos aprender com a experiência. Mas, novamente, ele não perguntou.
Qual é o caminho certo para lidar com essa situação?
1 Ok, esse não é o link para a pergunta real do FizzBuzz, mas é uma boa discussão sobre a P.SE em torno do FizzBuzz e os links para os vários aspectos dela.
2 Para ajudar a esclarecer, esta é a nuance do Fizz-Buzz que perguntei e é do primeiro problema do Project Euler . Impressão substituta Fizz | Buzz para somar os números e você tem a mesma pergunta fundamental.
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Write a function that finds the sum of all the multiples of 3 or 5 below 1000.
3 Essa pergunta atraiu mais atenção do que eu esperava e aprecio todas as respostas. Algumas das respostas posteriores chegaram realmente ao cerne da minha pergunta, portanto, permitirei que a comunidade analise e vote antes de atribuir a "resposta".
4 Selecionei "a" resposta com base nos votos da comunidade naquele momento. E acho que a resposta de Yannis é apropriada para entrevistas com desenvolvedores mais recentes. Eu acho que a resposta coletiva focada na falta de pedir a resposta também é clara.