Je suis développeur C ++. Je sais comment Windows fonctionne au niveau natif, mais je ne suis pas un grand expert en C # et .NET. Maintenant, j'ai besoin d'un développeur C # dans mon équipe (tous mes développeurs sont C ++). Comment puis-je embaucher un grand développeur C # si je ne connais pas C # à un bon niveau? Comment poser des questions, comment tester si les réponses sont bonnes ou avec des erreurs stupides?
15
Réponses:
Je suis parfois confronté au problème d'interviewer des programmeurs principalement expérimentés en C ++, que je ne connais pas aussi bien qu'eux. Ma stratégie consiste à:
posent principalement des questions de programmation générale, des algorithmes, la conception OO, comment refactoriser, ce qui fait un bon test unitaire, etc. J'ajoute quelques questions générales ciblées sur le style de langage, donc pour C ++, je pourrais poser des questions sur la gestion de la mémoire et la durée de vie des objets pour C # Je pourrais demander des choses comme, pouvez-vous avoir une fuite de mémoire lorsque vous utilisez un garbage collector?
essayez de savoir comment ils ont appris la langue, quels livres ils ont lus, etc.
vérifiez qu'ils ont écrit une quantité substantielle de C ++. Approfondissez quand ils l'ont utilisé, combien, ce qu'ils en ont fait et pour qui. Essayez ensuite de vérifier cela autant que possible en utilisant leurs références.
S'ils peuvent bien répondre aux questions de conception et de théorie difficiles et qu'ils ont écrit une quantité décente de C ++, je m'attends à ce qu'ils soient à moitié bons au moins, et probablement capables d'apprendre rapidement tout ce qui manque.
la source
Le vrai test pour tous les programmeurs est de savoir comment ils résolvent les problèmes. Un résolveur de problèmes de premier ordre avec seulement des compétences C # médiocres sera beaucoup plus précieux pour vous qu'un dieu C # (dess) qui ne peut pas comprendre comment gérer la saisie de formulaire.
Essayez de trouver un vrai problème raisonnable dans votre domaine d'activité et laissez-le le résoudre en C #. Vous connaissez le domaine et vous savez quel devrait être le résultat. Vous pouvez revoir la logique vous-même et poser des questions car le flux de base et les commandes en C # ne sont pas significativement différents de C ++.
Si vous êtes toujours inquiet, envoyez son code fini à l'un de vos amis C # ou peut-être à un partenaire commercial et demandez-leur s'ils peuvent l'examiner et fournir des commentaires.
la source
Je suppose que vous avez réellement besoin du développeur C #.
Déterminez d'abord quel type de tâches vous devez accomplir.
Demandez-leur ensuite comment ils pourraient accomplir ces tâches. Demandez-leur comment ils ont effectué des tâches comme celle-ci précédemment.
Au cours de votre entretien, demandez à d'autres candidats leur évaluation des solutions proposées. Je suggérerais de semer les solutions avec une solution que vous savez ne fonctionnera pas, et peut-être une solution que vous jugez bonne. Cela servira à déterminer comment le candidat peut travailler avec votre équipe. Les contrôles devraient aider à éliminer les oui et les Idea Assassins .
Cela devrait vous fournir un bon groupe de candidats avec des idées acceptées par leurs pairs et avoir la capacité de travailler avec votre équipe.
la source
avoir l'interview comme vous dirigiez un développeur C ++. ne vous concentrez pas trop sur les techniques C ++, mais plutôt sur la résolution de problèmes, la POO et la programmation en général. Si vous l'embauchez en tant que développeur C ++ qui veut faire du C #, alors il serait un bon embauché.
la source
Étant moi-même développeur .Net et traitant beaucoup avec les gars C ++, je pense que vous voudrez toujours savoir si une personne connaît au moins quelque chose sur la plate-forme .Net: garbage collection, GAC, JIT, NGEN, Value vs Reference type, purpose d'IDispose, etc. Une bonne liste de questions est disponible sur le blog de Scott Hanselman . Il n'y a pas de moyen simple de déterminer si les réponses sont correctes si vous ne comprenez pas les questions vous-même, il peut donc être judicieux de jeter un œil à la vue d'ensemble .Net sur MSDN ou de prendre un bon livre, comme Essential C # 4.0.
Si vous recherchez un programmeur GUI, cela aide beaucoup de demander à implémenter quelque chose de simple, comme une calculatrice ou un rover Mars ou autre. C'est OK de donner un jour ou deux pour ça. Vous verrez tout de suite si l'interface graphique est utile et agréable, par exemple, comment elle se comporte lorsqu'elle est redimensionnée.
la source
Commencez par vérifier leurs réponses aux questions C # sur SO ..
la source