Você disse que está entrevistando para cargos de estagiário na pergunta, portanto é desse ponto de vista; para desenvolvedores em período integral, o nível será um pouco maior.
Ao entrevistar estagiários, você deve se lembrar de que eles podem não ter concluído seus estudos e que também podem ter ingressado na faculdade sem nenhum conhecimento prévio em programação e ciência da computação. Dessa forma, você precisa dimensionar as expectativas para o que você razoavelmente espera que alguém conheça e para o grau de prestígio da posição (por exemplo, o Google pode se safar das expectativas que uma empresa que as pessoas nunca ouviram falar).
Examinando as perguntas que você apresentou, provavelmente as veria da seguinte maneira em uma entrevista:
1) Escreva uma função que retorne true se os lados do triângulo (todos os números inteiros) a, bec forem representados por um triângulo retângulo.
Aplicação básica da geometria com codificação simples, a maioria dos estudantes deve ser capaz de fazer isso sem muita dificuldade. No máximo, um lembrete do teorema de Pitágoras pode ser necessário se eles estiverem mostrando um pouco de estresse por estarem em uma entrevista. Isso quase pode ser visto como um problema de "aumento do ego", pois pode ajudar a acalmar algumas pessoas se elas estiverem muito nervosas na entrevista.
2) FizzBuzz
Novamente, outra aplicação de algumas instruções básicas de controle. Os alunos que não foram expostos ao operador do módulo, ou que não o usaram muito, podem precisar ser lembrados, mas não devem encontrar problemas reais para solucionar o problema.
3) Calcule o N-ésimo elemento de Fibonacci usando recursão (se eles não soubessem o que era Fibonacci, eu escreveria para eles a definição F (n) = F (n-1) + F (n-2); F (1 ) = 1; F (0) = 1).
Como esse é um problema bastante comum, a maioria dos alunos (se não todos) o verá em algum momento antes da formatura. O problema é que geralmente aparece quando a recursão é apresentada aos alunos, uma vez que se presta bem ou uma solução recursiva ou baseada em loop que pode ser comparada para que alunos de escolas diferentes possam vê-lo em momentos diferentes, dependendo da sequência dos cursos. Na prática, se alguém não pudesse inventar a recursiva, eu pediria uma alternativa usando loops e, se não conseguisse, eu ficaria mais preocupado com sua capacidade potencial.
4) Implementar a lista de estruturas para funções inteiras e de gravação para revertê-las.
Essa questão pode ser um pouco aberta demais, pois está escrita, portanto, também pode ser uma boa pergunta ver como o candidato procura informações adicionais (por exemplo, se as funções de exclusão devem ser incluídas, a conversão em matrizes etc.), mas com um bom resultado. declaração de problema definida ("Implemente uma estrutura básica de lista para números inteiros que permita que números sejam adicionados ao final ou em um índice arbitrário, excluídos e incluam uma função para retornar uma cópia invertida da lista") os alunos devem ser capazes de resolver o problema desde que as listas sejam uma estrutura comum apresentada em um curso inicial de estruturas de dados ou em um curso básico de ciência da computação.
Em termos de lidar com os candidatos, se eles estiverem lutando, verifique se eles estão relaxados e permita um pouco de clemência, pois eles podem estar apenas com ansiedade no desempenho, pois essa pode ser sua primeira entrevista real. Dicas para solucionar os problemas podem ser necessárias, principalmente no terceiro e quarto problemas, em oposição aos dois primeiros.
Além disso, estruture o processo geral da entrevista para que haja pontos de "saída normal" incorporados. Por exemplo, você pode ter a seguinte agenda:
- Conheça e cumprimente, procedimentos de entrevista.
- Entrevista curta com programadores da equipe, perguntas básicas sobre o histórico.
- Apresentação de questionário de programação.
- Quebrar
- Retorno do intervalo, demissão de alguns candidatos que não se encaixam bem.
- Entrevista prolongada com programadores da equipe.
- Entrevista com recursos humanos (se necessário).
- Embrulhar.
Esse fluxo de entrevistas tende a funcionar bem se você quiser demitir candidatos cedo, pois eles sabem desde o início que eles podem ser demitidos após o intervalo. A breve entrevista antes do questionário também significa que eles não estão apenas aparecendo para fazer o teste, o que lhes dá algumas práticas de entrevista e também pode permitir que eles decidam que não se encaixam bem. Se houver outros programadores observando o questionário ou auxiliando o candidato durante o processo, isso também lhes dará a chance de passar / reprovar no candidato enquanto eles estão fazendo uma pequena pausa.
Em todos os momentos em que você está entrevistando para um estágio e os candidatos são estudantes, lembre-se de que eles ainda são estudantes e podem não ter muita prática com entrevistas (levando a uma possível ansiedade no desempenho) e também podem não ter atingido o ponto em seus estudos. até ser capaz de responder às perguntas, o que significa que pode ser uma boa ideia enviá-las a caminho com uma cópia da "solução (s) ideal (is)" para os problemas que eles também apresentam.