Ce que je dirai pourrait être un peu controversé, mais je suis très découragé aujourd'hui - et je vais donc vous poser cette question.
Je viens d'avoir un entretien avec une grande firme de technologie pour un poste de stage, où on m'a posé beaucoup de questions d'entrevue orientées algorithmes typiques. Maintenant, étant donné mes antécédents, je me considère comme étant fort en algorithmes (j'ai également de bonnes notes en algorithmes de niveau supérieur - des choses impliquant NP-complétude et au-delà (approximation et algorithmes randomisés), mais malheureusement j'ai raté l'interview. Je n'ai pas pu pensez à une méthode très efficace pour résoudre un problème de cordes en environ 10 minutes. Une fois l'entretien terminé, j'ai bu un verre d'eau, j'ai mangé une banane et je me suis détendu pendant un certain temps et j'ai essayé à nouveau le problème. Et vola! Je pouvais arriver en moins de 5 minutes et le pire de tout - j'étais en fait sur cette piste et l'intervieweur a fait allusion à ce sujet, mais trop de pression m'a fait cuire. Toute mon expérience m'a fait penser à des entretiens techniques. J'avais quelques questions et je voulais les poser dans ce forum -
Est-il vraiment possible de juger de la capacité technique de quelqu'un en une demi-heure? Honnêtement? Ou est-ce juste un jet de dés?
Les questions d'entrevue techniques mesurent-elles la capacité de résolution de problèmes? Ce point est très discutable? En tant que doctorant, je sais que la résolution de problèmes mathématiques implique de résoudre quelque chose dont vous n'avez jamais entendu parler auparavant. D'un autre côté, des questions comme - fusionner deux listes chaînées dans un ordre trié, ou imprimer tous les éléments d'un arbre binaire au kième niveau deviennent de "simples exercices" une fois que quelqu'un a vu la solution ou résolu le problème à l'avance?
Les gens qui sortent avec brio dans ces interviews deviennent-ils de grands programmeurs? Est-ce qu'ils continuent et conçoivent des moteurs de jeu élégants, des bibliothèques graphiques, écrivent des frameworks de jointure rapide? Existe-t-il des preuves indiquant une corrélation positive entre le fait de réussir dans les entretiens techniques et la capacité réelle de programmation? Ou est-ce que ces entretiens sont plus orientés vers la recherche du type de personne "faire avancer les choses" (Spolsky)?
Je peux parier que beaucoup d'universitaires publiant des idées révolutionnaires - ICML, VLDB, Mobicom - échoueront ces interviews. Mais je peux vous assurer qu'ils font partie des personnes les plus intelligentes que vous trouverez sur cette planète.
Je suis principalement dans le milieu universitaire (étudiant diplômé) - j'apprécierai donc grandement la perception de quelqu'un de l'autre côté de la clôture. Quelqu'un qui mène réellement ces interviews?
[Ok tout le monde. Merci pour toutes les réponses gentilles et réfléchies. Comme je ne veux pas poser une autre question, je vais vous demander de répondre à cette question pour moi.
Supposons que le candidat X possède un bon portefeuille public d'œuvres où il a contribué à un projet open source connu où - vous pouvez réellement aller vérifier ses correctifs, vérifier les bogues qu'il a fermés et jeter un œil aux conceptions qu'il a créées. Dans ce cas, la question est de savoir quel poids êtes-vous prêt à accorder à son travail accessible au public / vérifiable par rapport à sa capacité à répondre à une question d'entrevue d'arbre binaire très artificielle en moins de 15 minutes?]
Réponses:
Garde en tête que...
Donc, souvent, lors des entretiens, des raccourcis imparfaits (tels que des questionnaires techniques) sont pris car, comme vous l'avez mentionné, il n'y a pas de processus parfait pour pouvoir juger une personne en 30 minutes. Mais comme la plupart n'ont pas le luxe de travailler côte à côte avec vous, vous devez simplement accepter que c'est ce que c'est, un jeu de cotes auquel tout le monde joue.
la source
Pas exactement. Il est possible d'éliminer les gens qui ne peuvent pas programmer du tout et ceux qui ne peuvent pas expliquer les choses sur leur CV. Au-delà de cela, j'essaie généralement de mesurer l'intelligence générale et l'intérêt pour le domaine. Il est difficile de commenter davantage votre situation sans connaître le problème qu'on vous a demandé de résoudre.
Ce n'est pas le but de mes questions techniques. Au lieu de cela, j'essaie de découvrir si le candidat a une compréhension des principes fondamentaux de l'informatique. Pour évaluer la capacité de résolution de problèmes, je demande à un candidat de parler d'un problème intéressant sur lequel il a travaillé.
C'est à peu près ça. La grandeur est rare. Je suis heureux de trouver quelqu'un de compétent.
la source
Oui. Oui, honnêtement. Cela ne veut pas dire que 30 minutes suffisent pour obtenir une image complète de ce dont une personne est capable. Le travail de l'intervieweur est de faire de son mieux pour avoir une idée de qui est la personne interrogée et de ce qu'elle peut faire. Trouver les personnes qui ont mis quelque chose sur leur CV qu'ils ne connaissaient pas vraiment est simple. Découvrir exactement ce que la personne interrogée peut faire, y compris toutes ses compétences et ses forces, ne l'est pas.
Oui. Ils vous permettent de voir comment pense l'interviewé. Il n'est pas toujours nécessaire d'obtenir la bonne réponse. Voir quelqu'un faire face à un problème avec lequel il lutte est tout aussi bénéfique que voir quelqu'un répondre correctement à un problème sans trop de problèmes. Je pose toujours une question à laquelle je pense que la personne interrogée pourrait ne pas être en mesure de répondre.
Je ne connais aucune preuve empirique qui dit que les entretiens techniques trouvent les meilleurs candidats, mais c'est la meilleure chose que j'ai essayée. Différentes personnes sont douées pour différentes choses et obtenir des réponses techniques correctes n'est pas la seule chose qui décide si quelqu'un est embauché. Être bien adapté à l'entreprise est également très important.
Sur la base de votre question, je pense que la chose la plus importante que vous devez comprendre est que les jours de commentaires clairement définis comme une note de lettre sont terminés. Obtenir la bonne réponse n'est qu'une partie du résultat. Écrire un bon code, communiquer vos idées et écouter les autres est tout aussi important. Cependant, ces domaines sont plus subjectifs et doivent être traités comme tels.
Tout comme la façon dont vous avez résolu le problème, reculez et dégagez la tête. Il y a beaucoup de choses dans une interview et l'intervieweur sait que ce n'est pas un système parfait. Ils essaient de faire de leur mieux pour l'entreprise, tout comme vous essayez de faire de votre mieux.
la source
En une demi-heure, vous pouvez juger que la capacité technique d'une personne est au moins aussi bonne que x. Autrement dit, leur capacité pourrait être supérieure à ce qu'ils ont démontré, mais vous pouvez être sûr que ce n'est pas pire. Si x est supérieur à vos besoins, vous les engagez. Oui, c'est injuste si vous démontrez en dessous de vos capacités réelles. Tout ce que je peux dire, c'est de mieux faire la démonstration.
Si quelqu'un proposait une réponse pratiquement mémorisée, je lui donnerais un problème plus difficile. Dans le milieu universitaire, la mémorisation est une compétence importante. Dans un travail, c'est surtout redondant lorsque vous avez Google juste là.
En voyant comment la plupart des grands programmeurs sont employés, il est sûr de supposer qu'ils ont réussi un entretien d'embauche à un moment donné. Non, vous ne pouvez pas dire si quelqu'un sera un excellent programmeur à partir d'une entrevue d'une demi-heure. Heureusement, la plupart des entreprises n'ont pas besoin de bons programmeurs. Ils s'entendent très bien avec des programmeurs solides et fiables qui n'ont pas peur de s'atteler à des tâches juste en dehors de leur zone de confort.
La raison pour laquelle des penseurs révolutionnaires pourraient échouer dans les entretiens d'embauche est que les opportunités de résoudre des problèmes flashy et révolutionnaires sont très rares, et on ne vous fera confiance pour les résoudre qu'après avoir prouvé que vous pouvez résoudre des problèmes banals, mais difficiles, vos collègues. ne peut pas, comme pourquoi le logiciel se bloque quand il dépasse 16% de charge.
la source
Très peu de gens savent si leurs techniques d'entrevue fonctionnent vraiment, car ils n'en apprennent jamais plus sur ceux qui ont échoué. Mais quand rien ne réfute leur hypothèse, ils la prennent comme une confirmation qu'ils sont vrais. Il y a donc un élément certain de lancer les dés.
Si les théories économiques affirmant que les marchés sont rationnels et efficaces étaient vraies, alors les entreprises chercheraient à embaucher des gens qui étaient mauvais lors d' une entrevue d'une manière qui ne les rendrait pas mauvais dans leur travail. Donc, quelqu'un qui portait un costume mal ajusté, transpirait, semblait très nerveux et avait du mal à faire des problèmes techniques sous la pression d'un entretien - s'il y avait des preuves extérieures, il pourrait autrement faire des problèmes techniques et les pressions du travail n'étaient pas comme celles d'une entrevue (comme ils ne le sont généralement pas) - représenterait les meilleures chances d'une entreprise d'obtenir un candidat meilleur qu'elle ne pourrait autrement l'attirer et agirait en conséquence. (Pensez Money-ball pour le monde de l'entreprise). Finalement, les biais d'interview disparaîtraient.
En pratique, cela va à l'encontre de la nature humaine. Les enquêteurs aiment les extravertis confiants, quelle que soit la position, et même si l'entretien technique fournit des informations pires que le CV et les références (comme c'est peut-être vrai dans votre cas), ils en tiendront compte.
Quant à vos questions:
Quelque peu. Les tests ont un mauvais rapport signal / bruit mais peuvent être réglés pour éliminer complètement les non qualifiés au détriment des entretiens qualifiés mais mauvais au niveau technique.
Voir # 1. Une partie du bruit provient de la variation du fait que les gens ont déjà vu le problème auparavant.
Voir # 1. Il y a probablement une minuscule corrélation positive entre ces tests et devenir un grand programmeur.
Mon conseil - Étudiez quelques exemples de questions techniques pour obtenir une familiarité de base. N'oubliez pas que c'est un petit coup de dé, alors pendant l'entretien, essayez d'être confiant. Si vous pouvez expliquer ce que vous pensez sans vous distraire de la réflexion, faites-le. Si cela se passe vraiment mal, admettez que vous devenez nerveux lors des entretiens et faites-leur savoir que cela semble être quelque chose que vous n'auriez normalement pas de problème - en donnant peut-être un exemple d'un problème similaire mais plus difficile que vous avez résolu.
la source