Sou desenvolvedor de C ++. Sei como o Windows funciona no nível nativo, mas não sou um grande especialista em C # e .NET. Agora eu preciso de um desenvolvedor de C # na minha equipe (todos os meus desenvolvedores são C ++). Como posso contratar um ótimo desenvolvedor de C # se não conheço C # em bom nível? Como fazer perguntas, como testar se as respostas são ótimas ou se há erros tolos?
15
Respostas:
Ocasionalmente, deparo-me com o problema de entrevistar programadores com experiência principalmente em C ++, que eu não conheço tão bem quanto eles. Minha estratégia é:
geralmente faço perguntas gerais de programação, algoritmos, design de OO, como refatorar, o que faz um bom teste de unidade etc. Eu adiciono algumas perguntas gerais direcionadas ao estilo da linguagem, então para C ++ eu poderia perguntar sobre gerenciamento de memória e vida útil do objeto. C # Eu poderia perguntar coisas como, você pode ter um vazamento de memória ao usar um coletor de lixo?
tente descobrir como eles aprenderam o idioma, quais livros eles leram etc.
verifique se eles criaram uma quantidade substancial de C ++. Entre em detalhes sobre quando eles o usaram, quanto, o que eles fizeram com ele e para quem. Em seguida, tente verificar isso o máximo possível usando suas referências.
Se eles puderem responder bem às questões difíceis de design e teoria e escreverem uma quantidade decente de C ++, espero que sejam pelo menos metade bons e provavelmente capazes de aprender rapidamente qualquer coisa que estiver faltando.
fonte
O verdadeiro teste para todos os programadores é o quão bem eles resolvem os problemas. Um solucionador de problemas de alto nível, com apenas habilidades C # medíocres, será muito mais valioso para você do que um deus C # (dess) que não consegue descobrir como lidar com a entrada de formulário.
Tente encontrar um problema real razoável em seu domínio comercial e deixe-o resolver o problema em c #. Você conhece o domínio e sabe qual deve ser o resultado. Você mesmo pode revisar a lógica e fazer perguntas, pois o fluxo e os comandos básicos em C # não são significativamente diferentes do C ++.
Se você ainda estiver preocupado, envie o código final para um de seus amigos em C # ou talvez para um parceiro de negócios e pergunte se eles podem revisá-lo e fornecer feedback.
fonte
Presumo que você tenha uma necessidade real do desenvolvedor de C #.
Primeiro, descubra que tipo de tarefas você precisa para realizar.
Depois pergunte-lhes como eles realizariam essas tarefas. Pergunte como eles concluíram tarefas como essa anteriormente.
Ao entrevistar, pergunte a outros candidatos a avaliação das soluções propostas. Eu sugeriria que semear as soluções com uma que você sabe que não funcionará, e talvez uma que você considere boa. Isso servirá para ajudar a determinar como o candidato pode trabalhar com sua equipe. Os controles devem ajudar a eliminar os homens sim e os Idea Assassins .
Isso deve fornecer a você um bom grupo de candidatos com idéias que são aceitas pelos colegas e ter a capacidade de trabalhar com sua equipe.
fonte
faça a entrevista enquanto você estava hierarquizando um desenvolvedor de C ++. não se concentre muito nas tecnologias C ++, mas na solução de problemas, POO e programação em geral. Se você o contratasse como um desenvolvedor de C ++ que deseja fazer C #, ele seria um bom contratado.
fonte
Sendo desenvolvedor de .Net e lidando muito com caras de C ++, acho que você ainda gostaria de descobrir se uma pessoa conhece pelo menos algo sobre a plataforma .Net: coleta de lixo, GAC, JIT, NGEN, Valor versus tipo de referência, finalidade IDispose, etc. Uma boa lista de perguntas está disponível no blog de Scott Hanselman . Não há uma maneira simples de descobrir se as respostas estão corretas se você não entender as perguntas, portanto, pode fazer sentido dar uma olhada na visão geral do .Net no MSDN ou pegar um bom livro, como o Essential C # 4.0.
Se você está procurando um programador de GUI, ajuda muito pedir para implementar algo simples, como calculadora ou Mars rover ou qualquer outra coisa. Não há problema em dar um ou dois dias para isso. Você verá imediatamente se a GUI é útil e agradável, por exemplo, como ela se comporta quando redimensionada.
fonte
Comece verificando suas respostas às perguntas de C # no SO ..
fonte