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?]