web-dev-qa-db-fra.com

Quelle aide dois-je apporter lors des entretiens techniques?

On me demande de jouer ou de m'asseoir lors de nombreuses entrevues techniques. Nous posons des questions de logique et de simples problèmes de programmation que l'interviewé devrait être en mesure de résoudre sur papier. (Je préférerais qu'ils aient accès à un clavier, mais c'est un problème pour une autre fois.) Parfois, je sens que les gens savent comment aborder un problème, mais ils sont suspendus par la nervosité ou par une seconde devinette de la question ( ils ne sont pas destinés à être des questions pièges).

Je n'ai jamais entendu mon patron donner de l'aide ou des indices. Il remercie simplement la personne interrogée pour la réponse (qu'elle soit bonne ou mauvaise) et passe à la question ou au problème suivant. Mais je sais quelque chose sur le trou du lapin que la défaite et les nerfs peuvent vous entraîner, et comment cela désactive votre esprit, et je ne peux m'empêcher de me demander si fournir un peu d'aide de temps en temps nous aiderait finalement à nous retrouver avec des programmeurs plus compétents. d'entrevues plus ratées.

Dois-je fournir des conseils et de l'aide aux interviewés confus (et si oui, jusqu'où dois-je aller tout en étant juste envers les candidats les mieux préparés)?

83
kojiro

Quand j'étais dans une position similaire, je disais à la personne interrogée: "Imaginez que je suis Google. Si vous avez besoin de rechercher quelque chose, dites-le."

Dans une question, les personnes interrogées devaient être en mesure de déterminer le volume d'un cylindre, donc cela ne me dérangeait pas si quelqu'un disait: "Je devrais rechercher Google pour la formule du volume d'un cylindre. Je voulais savoir s'ils savaient comment attaquer le problème, pas s'ils avaient mémorisé des formules. Pour le travail, ils devaient avoir une compréhension décente de la façon de traduire le monde réel en logiciel, donc c'était un concept important.

D'un autre côté, je n'allais pas leur dire qu'ils avaient besoin de cette formule.

Vous avez raison de dire que les nerfs peuvent être un problème, mais je m'attends toujours à ce que les gens puissent exprimer leur processus de pensée, même s'ils sont nerveux. Il était tout simplement inacceptable de ne pas donner de réponse.

111
Scott Whitlock

Vous avez deux approches qui fonctionnent à la fois pour la résolution de problèmes et de courtes questions techniques:

  1. Le premier est utilisé par votre patron: ne fournissez aucune aide pour tester le comportement de la personne dans un contexte stressant. C'est une approche parfaitement valable, et peut donner quelques indices sur la personne. Après tout, une fois que vous aurez embauché cette personne, elle ne pourra pas recevoir l'aide constante de tous ses collègues.

  2. La seconde consiste à fournir des conseils et un soutien. Le niveau de support n'a pas trop d'importance; la seule chose qui compte, c'est que plus vous apportez d'aide à la personne, moins vous devez valoriser son succès.

Personnellement, je pense que vous devriez prendre suffisamment de temps pour être sûr à la fois que la personne n'est pas en mesure de résoudre un problème par elle-même et lui faire sentir qu'elle est incapable de le résoudre sans aide. Mais alors, vous pouvez fournir une aide progressive jusqu'à ce que vous disiez à la personne la réponse elle-même.

Exemple:

- Pouvez-vous me dire comment créer des propriétés en lecture seule en C #, c'est-à-dire des propriétés avec une valeur qui ne peut être initialisée qu'au sein d'un constructeur et ne peut pas être modifiée ultérieurement?
- Bien sûr. J'utilise simplement le mot clé readonly.
- Êtes-vous sûr? Pouvez-vous m'expliquer la différence entre une propriété et un terrain?
- Hm. Une propriété est ... vous voyez ... obtenez et définissez ...
- D'accord. Ainsi, un champ est une variable déclarée à l'intérieur d'une classe ou d'une structure et valide dans la portée class/struct, tandis qu'une propriété est comme un champ, mais fournit également un mécanisme pour lire, écrire ou calculer une valeur. Qu'en est-il maintenant de readonly? Est-il utilisé avec des propriétés?
- Je crois qu'il est utilisé uniquement pour les champs ...
- Droite. Et les propriétés?
- Ils ne peuvent pas être lus uniquement.
- Êtes-vous sûr? Qu'en est-il des propriétés qui n'ont que des getters?
- Ils sont en lecture seule.
- Cela signifie-t-il que leur valeur restera toujours la même?
- Oui.
- Non, pas vraiment. Le fait que vous ayez une propriété avec un getter ne signifie pas que sa valeur ne change pas pendant la durée de vie de l'instance de la classe. Si le getter fait référence à un champ qui est incrémenté à chaque fois que vous accédez à la propriété, la valeur renvoyée augmentera continuellement.
- Droite.
- Donc? Avez-vous une idée d'un moyen d'implémenter une propriété avec une valeur qui ne change jamais?
- Non.
- Eh bien, vous pouvez utiliser un champ de support en lecture seule. Savez-vous ce qu'est un champ de support?
[...]

Donner la réponse est une bonne idée dans tous les cas. Il y a eu plusieurs cas où l'interviewé a commenté ma réponse d'une manière intéressante, montrant que même s'il n'était pas en mesure de répondre à la question en premier lieu, il savait encore des choses liées.

Aussi, en posant simplement une question sans autre aide, vous n'avez pas trop d'informations sur la personne, à part le fait qu'elle connaît ou ne connaît pas la réponse. Fournir une aide progressive peut vous permettre de voir comment la personne pense à un problème.

Cela peut aussi montrer d'autres choses que la personne ne sait pas. Prenons l'exemple ci-dessus: si je m'arrêtais à la première réponse, je n'aurais pas su que la personne ne peut pas expliquer la différence entre un champ et une propriété ou qu'elle ne sait pas ce qu'est un champ de support.

Si la personne répond immédiatement, ça va. Si elle a besoin d'aide, il n'y a rien de mal à cela. Si vous finissez par répondre vous-même à la question, c'est mauvais signe et j'espère que la personne interrogée pourra répondre aux autres.

28
Arseni Mourzenko

J'aime toujours aider les personnes interrogées si elles sont coincées sur quelque chose de simple (comme le nom d'un modèle particulier si elles savent évidemment de quoi il s'agit), et les laisser passer sous silence des choses comme les détails de l'établissement d'une connexion à la base de données. S'ils essaient de concevoir quelque chose, cependant, je ne dis pas grand-chose parce que je ne veux ni les guider ni les rejeter s'ils pensent à autre chose que là où je suppose qu'ils vont.

8
TMN

Je me souviens qu'on m'a posé une question de résolution de problème particulière d'un intervieweur qui avait un résultat très précis en tête, mais il n'a pas pu me communiquer la question clairement. Ceci décrit la situation dans laquelle se trouvent de nombreuses personnes interrogées. Parfois, le regard vide n'est pas parce que la personne n'est pas un bon résolveur de problèmes, mais parce que la personne qui pose la question n'est pas claire dans ce qu'elle demande. Dans ce cas, l'approche de votre collègue de dire et de ne rien faire prouve simplement que le candidat ne pense pas comme votre collègue, ou n'est pas dans la tête de votre collègue. Je pense que fournir des éclaircissements sur la question en d'autres termes pourrait fournir de meilleurs résultats pour toutes les parties concernées.

8
Jennifer S

Étant donné que les programmeurs (la plupart d'entre nous au moins) ne travaillent pas dans le vide et que les entretiens sont suffisamment stressants sans limites artificielles, je serais enclin à offrir autant d'aide qu'une personne interrogée demande ou a besoin.

Mais prenez tout cela en compte lorsque vous portez un jugement final sur le niveau de compétence réel d'un candidat.

Quelqu'un qui recherche un poste de niveau supérieur mais qui a besoin de beaucoup d'aide sonne la sonnette d'alarme.

5
HappyCat

Pour les "seniors", je propose des questions courtes et ouvertes et je prête plus d'attention aux questions qu'ils posent qu'à la réponse. Je trouve des personnes âgées qui écoutent, communiquent, utilisent l'écoute active, clarifient, puis fournissent des solutions du type que j'aime.

Pour les "ingénieurs de ligne", j'ai utilisé la technique de programmation des tests où l'on donne à un candidat un ordinateur et un problème et quelques heures, puis on revient. Dans cette situation, nous avons demandé au demandeur à l'avance quel système d'exploitation et quels outils ils préféraient (également une partie intéressante de l'expertise d'un programmeur). Quand ils ont fini, en tant que groupe, nous leur avons demandé de présenter la solution et pourquoi elle était meilleure que d'autres solutions - une révision du code. Toutes les compétences que j'attends d'un ingénieur expérimenté le jour 1.

Surtout, toute l'équipe d'entrevue avait pris un après-midi pour faire le même test, nous savions donc que le test était équitable. Nous avons passé une heure à examiner l'approche de chaque personne comme nous le ferions avec une personne interrogée, ce qui nous a donné une idée des différentes approches.

Cette deuxième technique nous a trouvé parmi les meilleurs programmeurs "méconnus" (CV moche, compétences d'entrevue moche) que j'ai jamais trouvés.

5
Brian Bulkowski

Fournissant parfois minor hints lors de l'entretien oral permet de voir dans quelle mesure le candidat comprend le (s) sujet (s). Cependant, il devrait y avoir no hints sur les tests standard que chaque candidat est invité à passer.

Fondamentalement, il y a two main things que vous voudrez peut-être connaître au sujet d'un candidat potentiel:

a) Caractéristiques personnelles - s'intègre-t-il bien dans votre entreprise ou votre équipe

b) Compétences techniques - a-t-il une bonne formation technique et un intérêt pour ramasser de nouvelles choses

Pour en savoir plus sur ces points mentionnés, vous devez engager le candidat potentiel dans une conversation. Il est également important de s'assurer que le candidat est comfortable during the interview afin d'avoir une compréhension maximale de ses compétences actuelles (à la fois soft et tech) ainsi que son potentiel pour faire le travail.

De plus, les compétences en communication du candidat potentiel sont tout aussi importantes que ses compétences techniques et sa capacité à résoudre les problèmes.

4
Yusubov

Une partie de ce qui devrait être examiné est les compétences en communication. Si le candidat n'est pas clair sur la question, il doit poser des questions pour clarifier. C'est une bonne chose, à mon avis. Trop souvent, de mauvaises décisions sont prises parce que certaines hypothèses sont faites lors de la lecture des spécifications ou, dans ce cas, du traitement d'une question d'entrevue. Le candidat peut répondre sur la base de ces hypothèses et rater totalement le point souhaité. La question pourrait être erronée, ou ce pourrait être le candidat. Dans les deux cas, permettre une clarification via la communication démontre une compétence précieuse, une compétence que les employeurs devraient rechercher.

4
Victor Engel

Je préfère commencer les entretiens avec une question de confiance facile pour mettre le candidat à l'aise avec le processus. Lorsque cela fonctionne, cela vous permet de glaner autant d'informations que possible des questions ultérieures sans donner d'avantage aux candidats qui comprennent mieux le langage corporel que le matériel lié à l'emploi.

4
Mike Samuel

Je pense que cela se résume finalement à votre personnalité en tant qu'enquêteur, et à ce que vous pensez est important et, par conséquent, donne vraiment une note au candidat.

Personnellement, j'apprécie les capacités pratiques/pragmatiques par rapport aux anecdotes académiques/ésotériques. Je suis beaucoup plus intéressé par un candidat qui peut venir, se rendre au travail et contribuer efficacement d'une manière précieuse à tous les projets sur lesquels ils sont embauchés pour travailler que je ne sais à quel point leur mémoire pour la minutie est bonne.

Donc, je coacherai un peu si le candidat est coincé sur quelque chose d'ésotérique, ou une nuance rarement utilisée, ou un cas Edge qui pourrait être pertinent dans une question d'entrevue inventée mais qui est rarement, voire jamais, pertinent dans la vie réelle. Surtout tout ce qu'ils pourraient obtenir avec quelques minutes sur Google ou avec une référence de bureau pratique, ou "définir et oublier" des choses de type.

Cependant, je ne les encadrerai pas sur des choses du monde réel, courantes, courantes, fondamentales et de travail quotidien. Ce sont les choses I veulent leur être innées.

3
Ed Hastings

Cela dépend du type de programmeur que vous souhaitez. Un introverti qui peut écrire 20 bonnes lignes de code sur papier vous ira bien, patron. Un développeur de logiciels qui peut travailler sur des millions de bases de code de ligne au sein d'une équipe pour produire efficacement de bons logiciels ne réussira probablement pas très bien. J'adore ce genre d'entretiens en tant que candidat - ils me disent beaucoup sur la façon dont le patron traite son personnel et sur la culture de travail. Dans un cas comme celui-ci, alors que je quittais l'interview, j'ai dit "Merci - Permet de nous faire gagner un peu de temps, si ne m'appelez pas, je ne vous appellerai pas." Lorsqu'on m'a demandé pourquoi, j'ai fait remarquer que je ne voulais pas travailler pour une entreprise qui m'avait mis en échec.

Votre approche est susceptible d'obtenir de meilleures sélections pour le développement de logiciels. L'approche de votre patron fonctionnerait bien pour les collecteurs d'ordures et les gars qui tiennent les sucettes Stop/Go aux travaux routiers.

Le développement logiciel est un effort d'équipe, pas un jeu solo/lecture d'esprit/non interactif. Combien de projets échouent parce que le logiciel fait ce qui a été demandé, pas ce que l'on voulait.

2
mattnz

Je pense que cela dépend de la situation de l'entretien et des questions. J'ai utilisé les deux techniques.

Pourquoi pourrais-je ne pas poser de questions de suivi? Quand j'essaie de découvrir la réponse de la personne au stress. J'ai interviewé des gens pour certains emplois qui étaient dans des environnements très stressants et la façon dont ils pouvaient gérer le stress était un facteur critique dans nos évaluations, nous avons donc posé des questions extrêmement difficiles auxquelles personne ne pouvait répondre sans stress.

Lorsque j'essaie de découvrir leurs connaissances techniques, je pose des questions de suivi qui peuvent contenir des conseils sur ce que je recherche. Contrairement à la pensée du manager qui a dit qu'il fallait poser à tout le monde les mêmes questions pour être juste, je pense que c'est juste tant que plusieurs conditions sont remplies. Tout le monde se pose d'abord la même question de base. Deuxièmement, vous ne devez pas poser de questions de suivi pour aider une seule personne. Si vous avez laissé les autres patauger sans aide, vous devez laisser tous les patauger sans aide. Deuxièmement, vous devez comparer les performances des candidats sur la question, non seulement en termes de réponse finale, mais aussi en termes de difficulté à les extraire. Ce processus traite toujours tout le monde équitablement.

2
HLGEM

Une partie de ce que vous voulez chez un employé est quelqu'un qui peut interagir avec le reste de l'équipe. Vous avez besoin de quelqu'un avec les compétences requises, c'est vrai. Mais vous avez aussi besoin de quelqu'un qui sait quand demander de l'aide et qui a la connaissance de soi et les compétences sociales pour le faire. Ce dernier jeu de seuils permettra de construire l'entreprise à long terme mieux que n'importe quel langage informatique Du-jour particulier.

1
emsr

J'étais récemment dans une situation similaire. La direction que j'ai reçue de mon directeur et des RH était que nous devions être complètement équitables envers les 6 personnes interrogées, j'ai donc dû poser le même ensemble de questions techniques avec une aide minimale pour voir comment chaque personne interrogée se comportait. Parfois, quand ils connaissaient la réponse mais restaient avec un terme technique ou quelque chose, je les aidais indirectement avec certaines questions qui les guidaient vers ce terme. Il y avait une deuxième série d'entrevues après la ronde technique sur la personnalité et les traits de comportement s'ils réussissaient à passer la première ronde.

1
softveda

La façon dont je le vois, ne interview est une session de coworking d'essai, pas un test. J'essaie principalement de répondre à la question "qu'est-ce que ça fait de travailler avec cette personne?" J'ai même parfois prétendu avoir oublié la réponse à la question, pour que l'exercice se sente plus collaboratif.

Avez-vous déjà travaillé avec quelqu'un que vous ne pouviez pas ne pas obtenir sur la même page chaque fois que vous parliez d'un problème? Ou quelqu'un qui a posé trop de questions au lieu de se lancer et de résoudre des problèmes? Dans une interview, je m'assure principalement que la personne à qui je parle n'est pas de ceux-là. Il y a là un fort élément de chimie.

Au cours du processus, j'apprendrai bien sûr aussi des choses comme "écrit-elle du code propre", "connaît-elle les concepts requis" et "peut-elle astucieusement lancer un problème pour arriver à des informations? Le candidat sera toujours celui qui "conduit" et écrit le code. Mais en cours de route, j'espère qu'elle sera plus détendue et je verrai une version d'elle plus proche de ce que je verrais au jour le jour en tant que collègue.

1
Parker Phinney