Il y a déjà quelques de bonnes réponses, mais j'espère que je peux ajouter quelque chose. Dans mon esprit, vous avez à regarder cette question dans le contexte plus large de
"Ce qui constitue une entrevue efficace?'
ou même plus simplement
"Comment savez-vous que la personne que vous interviewez sera travail?"
En tant que responsable du développement, j'ai très peu d'options. Dans un monde idéal, et compte tenu de l'infini du temps et des ressources, vous permettrait d'apporter un potentiel de chaque nouvelle location, demandez-lui de travailler pour un mois ou deux, et de faire une évaluation à la fin de cette période, s'il était utile de garder. Ce n'est pas faisable, cependant, pour un certain nombre de raisons:
- Apportant une nouvelle personne est perturbant pour le personnel existant
- On ne va quitter son emploi actuel pour un nouveau si ce n'est pas une garantie de position
- Les entreprises ne voulez pas payer la facture de la rampe quelqu'un, seulement par la suite de le laisser aller
- Si vous avez fait cela pour tout le monde, tu finirais par perdre une énorme quantité de temps, les gens qui ont été totalement inadaptées
Un peu plus pratique que la version de cette opération est d'offrir des stages à des étudiants ou récemment diplômés. De cette façon, vous pouvez voir comment la personne travaille, à fabriquer un reslationship, et si il est vraiment exceptionnel d'étendre une offre.
Dans la plupart des cas, cependant, il est impossible de simplement apporter une personne. De la sorte, alors vous êtes de retour à un certain type d'entrevue. Les questions que l'on peut poser à l'intérieur d'une certaine période de temps sont nécessairement circonscrit, et un peu artificiel. Il est difficile d'obtenir une sensation pour les capacités de quelqu'un dans un très court laps de fenêtre, de sorte que vous devez décider de la manière proche, vous pouvez venir à ce que vous pourriez obtenir à partir de l'exercice de répétition décrit ci-dessus tout en limitant la quantité de temps et de ressources que vous investissez dans le futur employé.
Dans mon expérience, le meilleur test qu'il vienne avec un simple exercice de programmation (quelque chose que la plupart des gens devraient être en mesure de résoudre complètement dans les 2-3 heures), donner au candidat un ordinateur portable, l'accès à son IDE de choix, de Google, et de toutes autres ressources, il aurait quand en train de faire son travail. C'est le plus proche, vous serez en mesure de venir à l'évaluation de lui en vertu de "monde réel" des conditions. Bien sûr, l'exercice sera toujours un peu artificiel (mais si possible, il doit être le reflet d'un travail similaire à ce qu'il va vraiment le faire). Lui donner des informations incomplètes, peut-être un peu misqueues. Mettez-le dans une pièce, donnez-lui votre numéro de téléphone, et dites-lui qu'il peut vous appeler à tout moment, et vous aurez à répondre à toute question qu'il a fait.
À la fin, il peut ou peut ne pas avoir répondu à la question complètement. Mais regardez ce qu'il a fait. C'est le travail sur le plan conceptuel solide? Son code paraître raisonnable? Faisait-il de poser des questions intelligentes? Avait-il l'avis des pièges que vous définissez pour lui et de lui demander des éclaircissements?
Généralement, c'est la dernière étape dans le processus d'entrevue. Retour à la question initiale, je tiens à obtenir un plus en face-à-face se sentir pour les candidats à la résolution de problèmes de compétences et de connaissances.
Comme d'autres l'ont mentionné, 8 personnes sur 10 qui de soumettre un curriculum vitae ne peut même pas résoudre le plus simple des questions dans la langue de leur choix. Je ne cesse d'être surpris par cela. Je ne peux même pas compter le nombre de gens que j'ai interrogés qui avaient reprend inscription '8 années de Java EE' expérience et pourtant pouvais à peine le programme "Hello World" en Java. Comme un résultat, j'ai appris à ignorer en grande partie reprend. Coversely, certaines personnes qui ont vraiment merdique reprend, ne phénoménale dans une interview. À moins que le résumé est juste atroce, presque chaque futur candidat obtient un écran de téléphone. Au lieu de quelque chose de mieux, je vais demander un peu de structure de base de données et algorithmique des questions.
Encore une fois, comme d'autres personnes l'ont mentionné, une question sur un algorithme ne devrait pas être posée comme un test pour voir si la personne peut mémoriser les choses. Je n'avais jamais demander de me parler de l'algorithme QuickSort?' alors si la personne ne s'en souvenait pas, le disqualifier. Non, ces questions sont posées de voir une personne du processus de pensée, un sentiment qu'ils comprennent les principes de base de l'informatique (par exemple, si une personne ne peut pas me donner les notions de base de ces listes, les tableaux et les tables de hachage, il va vraiment avoir une rude bataille). La chose est aussi artificiel que de telles questions sont, ils sont la meilleure chose que nous avons. Si j'ignore reprend, j'ai besoin d'une certaine manière à choisir la vraiment atroce et je ne perdez pas de 3-4 heures sur un parking. Et lorsqu'un candidat se rend sur place, j'ai besoin d'un moyen pour choisir les personnes qui ne devraient pas avoir passé l'écran. C'est une escalade de l'échelle. Encore une fois, comme artificiel, comme la plupart des questions sont des questions que devlve dans les fondamentaux de l'informatique, ceux que l'illustration d'une personne compétences de résolution de problèmes, et que de me montrer la personne peut penser sont le meilleur outil que j'ai après avoir vu comment la personne effectue dans le monde réel.
La pire des questions d'entrevue pour moi, ce sont ceux tha besoin rote récital de faits. J'ai toujours eu une rude bataille avec les départements de ressources humaines et de mes patrons, arguant que je n'ai pas de soins si une personne sait mettre en veille prolongée ou de Printemps ou ce que les technologies nous arrive d'utiliser. - Je me soucier de quelqu'un qui peut penser de façon critique, a une solide maîtrise des notions de base (y compris l'efficacité des compromis à des algorithmes & structures de données) et qui semble avoir un geniuine intérêt dans l'apprentissage de nouvelles choses.
Qui l'emporte sur le savoir à l'avance à chaque fois.