Dois-je dire à l'intervieweur que je connais déjà la réponse à la question posée? [fermé]

29

Dans une interview de programmation si on me pose une question dont je connais déjà la réponse, comme donner un algorithme pour un problème particulier. Dois-je le divulguer à l'intervieweur? Ce problème n'a de sens que lorsqu'il y a un aspect de nouveauté dans la question.

Un exemple est "Comment inverseriez-vous chaque mot d'une chaîne, mais pas leur ordre?". Il semble également y avoir une division entre des choses plus faciles, que vous êtes "censé" connaître, comme mon exemple et des problèmes plus complexes et plus complexes.

Quelle est votre politique et votre justification pour traiter ce problème? Si vous connaissez déjà la question / le casse-tête, devez-vous le divulguer en plus de répondre à la question? Y a-t-il un dilemme éthique lié au fait de ne pas divulguer votre connaissance préalable de la question?

El cid
la source
2
J'ai du mal à voir le point dans cette question. Si vous connaissez la question à laquelle vous y répondez, si vous ne le faites pas, vous essayez de trouver quelque chose de raisonnable. Devriez-vous leur dire que vous connaissez la réponse au lieu de simplement leur dire la réponse?
Chris
7
@Chris. la dernière question dans votre commentaire est vraiment ce que le PO demande ici: D
P Shved
1
Et c'est censé être constructif? Je ne peux pas penser au moment où je dirais à l'intervieweur "Oui, je connais la réponse" et je ne leur dirai pas.
Chris
1
J'attends "Fishtoaster" pour donner sa réponse.
Mark C
1
@Chris - Correct; la question ici, si je comprends bien, se résume à "Y at-il un avantage et / ou une considération éthique à l'option 1 ou 2 si vous connaissez le casse-tête, et si oui, comment sont-ils pesés?" Le point fondamental est enfoui assez profondément, et il est formulé d'une manière ouvertement subjective, mais il semble utile (notamment parce que je n'ai aucune idée de la bonne réponse, et il semble que je devrais le faire). OMI, c'est une question qui a besoin d'une légère retouche pour plus de clarté, pas de fermeture.
Inaimathi

Réponses:

41

Je répondrais juste sans beaucoup d'hésitation ou de déconner. Connaître la réponse à une question n'est pas quelque chose de mal, cela signifie que vous l'avez déjà rencontrée et que vous savez comment la résoudre. Réparez-le, passez au suivant.

Cthulhu
la source
8
Ouais, je pense que c'est juste. Ce n'est pas comme savoir que les réponses trichent; au contraire, c'est un signe d'expérience. Je veux dire, ne le simulez pas, comme prétendre que vous venez d'inventer le tri rapide sur place sans jamais en avoir entendu parler ou quelque chose (mauvais exemple parce que tout le monde a entendu parler du tri rapide, mais vous savez ce que je veux dire). Répondez immédiatement. Il sera probablement évident que vous connaissiez le problème, mais il n'est pas nécessaire de le dire explicitement, et si quelque chose pourrait être considéré comme critiquant l'intervieweur pour avoir choisi un problème non original.
Tim Goodman,
26

Je répondrais toujours à la question. J'interroge très fréquemment les programmeurs. Je suis moins intéressé par le fait que vous pouvez résoudre le problème (sauf si vous ne le pouvez tout simplement pas) et plus intéressé par la façon dont vous avez résolu le problème.

Je pose beaucoup, et beaucoup .. et beaucoup de petites questions ennuyeuses lors d'une interview qui sont spécifiquement conçues (et affinées au fil du temps) pour me donner une très bonne compréhension de vos points forts réels et de ce que vous mettez sur votre CV. Je ferai de mon mieux pour vous guider le long d'une traînée de plaisanteries subjectives, puis vous frapper avec des problèmes de plus en plus difficiles.

En utilisant l'exemple de Frank , FizzBuzz, la dernière chose que je veux entendre de vous est "Oh oui, je sais comment utiliser l'opérateur de module ..." Si je vous interviewe, je le sais . Je pourrais vouloir voir à quelle vitesse votre cerveau change de vitesse, ou je pourrais tester dans quelle mesure vous accomplirez une tâche qui semble banale et stupide. Le fait est que je ne teste pas seulement votre capacité à résoudre des problèmes.

Je peux faire un piège à souris avec des centaines de pièces mobiles. Si une entreprise est en train d'attraper des souris ... eh bien ... :)

Tim Post
la source
5
Vous ne découvrirez pas comment l'interviewé a résolu le problème s'il connaît simplement la réponse.
P Shved
3
@ Pavel: Bien sûr, mais vous pouvez leur demander "Quel était l'avantage de le faire de cette façon plutôt que de cette façon?" De cette façon, vous pouvez voir s'ils comprennent vraiment le processus de réflexion derrière la réponse, ou s'ils ont simplement mémorisé la réponse sans comprendre pourquoi.
Tim Goodman,
@Tim, donc si vous voulez poser la question "comment savoir si la liste chaînée a des boucles dans la mémoire O (1)", et je connais la réponse (diable, j'ai résolu beaucoup de ce genre de problèmes), qu'est-ce qui votre question de suivi soit?
P Shved
Tim, je serais intéressé de vous voir interviewer quelqu'un (ou m'interviewer, haha), juste pour apprendre.
Mark C
1
@ Pavel, je compliquerais probablement le problème et présenterais plusieurs écrivains à la liste. Si vous avez pris une minute et réfléchi à cela, je vous demanderais probablement votre avis sur les méthodes sans verrouillage et poserais la même question à nouveau, en me demandant si O (1) était allé à O (log n). Si vous me soufflez complètement hors de l'eau et que nous pouvons vous le permettre, je m'assurerai que vous deveniez mon patron. Désolé pour le retard, ce 'truc d'enveloppe orange' en haut a été assez étrange ces derniers temps.
Tim Post
10

Quand je suis sur le siège de l'intervieweur, j'ai vu beaucoup de gens dire "Oh, j'ai entendu celui-ci", puis se battre pour se souvenir ou retravailler une solution. Donc, dans de nombreux cas, la connaissance préalable ne vous donne pas beaucoup d'avantages. Je recommanderais de leur dire que vous l'avez déjà entendu et de proposer une solution. Si c'était trop facile pour vous, ils vous poseront une autre question et apprécieront votre honnêteté.

Tristan Havelick
la source
8

Je suis en faveur d'une communication ouverte et honnête, donc je dirais certainement que je connaissais la question et l'astuce impliquée.

Je suppose que pour un crédit supplémentaire, vous pourriez dire "OK, c'est comme ça que tout le monde le fait, mais voyons s'il y a une manière différente." Ou vous pouvez déconstruire la question d'autres façons et montrer pourquoi les gens aiment la question, ce que la question essaie soi-disant de vous faire voir.

(Modifier: suppression de la référence à FizzBuzz, dans les commentaires d'autres personnes sur ce post.)

Frank Shearar
la source
4
FizzBuzz ne concerne pas l' affacturage.
zvrba
2
Je pense aussi que vous pourriez manquer le point de FizzBuzz.
Tim Post
Eh bien, de quoi s'agit-il, sinon en évitant le cas de n mod 15? J'ai dit "factoriser" parce que je peux bien imaginer quelqu'un utilisant deux autres nombres premiers pour "Fizz" et "Buzz", pensant qu'ils étaient intelligents. Le fait est toujours qu'un nombre divisible par les N nombres premiers que vous utilisez (pour FizzBuzzBazz) est également divisible par toute multiplication de ces nombres premiers.
Frank Shearar
1
Ce qui n'a pas d'importance car 3 * 5 n'a pas besoin d'être géré spécialement dans une implémentation FizzBuzz.
Joren
C'est suffisant; les solutions que je l' ai vu fait, mais non, vous n'avez à gérer 3 * 5 spécialement.
Frank Shearar
6

En tant qu'intervieweur, je ne pose pas la question pour voir si vous connaissez la réponse à une question délicate sur le poulet et les œufs. Au lieu de cela, je cherche à voir comment vous résolvez un problème pour arriver à une réponse. Par conséquent, il est souvent facile de faire la différence entre connaître la réponse et arriver à la réponse (à moins que, par couse, la personne interrogée n'agisse pour arriver à la réponse!)

Darren
la source
3

D'après mon expérience, pour la plupart des entretiens techniques, la personne interrogée s'intéresse vraiment à votre solution et comment vous l'avez trouvée et comment vous l'expliquez, plutôt que de savoir si vous avez déjà entendu exactement la même chose. À moins que ce ne soit une de ces questions «énigmes» qui implique un «truc», connaître le problème à l'avance ne vous donne pas vraiment un avantage décisif à moins que vous ne puissiez le résoudre par vous-même de toute façon.

Pour une question suffisamment banale, le problème posé peut en fait être bien connu, ou peut être réduit à un. Si quelqu'un demande comment trouver le chemin le plus court entre deux nœuds dans un graphique, prétendez-vous ne pas connaître BFS / Dijkstra? À mon humble avis, pour certains problèmes, il pourrait même être contre-productif de cacher le fait que vous connaissez vos affaires.

MAK
la source
+1 pour les questions pièges. Si vous connaissez déjà la réponse à l'un d'entre eux, vous pouvez simplement le dire. Le but d'une telle question serait de surveiller le processus lorsque les pièces se mettent en place, et si vous connaissez déjà la réponse, cela ne se produira pas.
Guffa
3

Je pense que le fait de dire à l'intervieweur ne s'applique qu'à ces questions loufoques, comme le trou d'homme rond et d'autres choses comme ça. Des questions où une fois que vous connaissez la réponse, c'est complètement évident.

Les chaînes inversées, etc., n'ont pas de solution "gotcha" évidente que vous pouvez expliquer en 3 secondes si vous la connaissez.

comment s'appelle-t-il
la source
1

"Connaître" la réponse n'est pas la question. La communiquer de manière à ce que l'intervieweur ait une chance de comprendre la réponse que vous donnez est. (Bien sûr, l'intervieweur connaît un tas de réponses, mais comme je l'ai dit, ce n'est pas le sujet.)

J'essaierais donc de communiquer la réponse dans un cadre raisonnablement didactique, ou peut-être humoristique, afin que l'intervieweur puisse voir comment je pense et fonctionne, ou pas.

Par exemple, il peut être amusant pour vous tous (et instructif pour l'intervieweur) de replacer la question posée dans un contexte totalement différent, montrant que même si le problème en question semble similaire, la solution ne fonctionne pas dans le nouveau contexte. Je pense que l'art ici est de trouver un contexte en quelque sorte lié à la question dans laquelle la solution de la première réponse ne fonctionne pas, puis de proposer des idées de solutions spectaculaires que l'intervieweur peut mâcher (ou rire).


la source
0

Alors, quelle est l'alternative? Si vous dites à l'intervieweur que vous connaissez la réponse à une question posée et que vous vous attendez à ce qu'il ne vous donne que des questions dont vous ne connaissez pas la réponse, que se passe-t-il? Non plus

  1. Ils vous respecteront car vous ne tenterez de répondre qu'à des questions que vous n'avez jamais vues / entendues auparavant,
  2. Ils seront époustouflés par votre éclat - après tout, vous connaissez déjà les réponses aux questions qu'ils posent - et vous offriront immédiatement un emploi
  3. Ils penseront que vous êtes un cul intelligent parce que vous semblez déjà tout savoir - il suffit de vous demander!, Ou
  4. Ils penseront que vous êtes un imbécile parce que vous ne savez pas quand les choses vont bien.

Je soupçonne que les options (1) et (2) ne se produiront pas - appelez-moi M. Cynical. Vous vous retrouvez donc avec un imbécile ou un imbécile, qui ne risque pas de vous décrocher un emploi. Hé, bonne chance!

Le but d'une entrevue, comme d'autres l'ont souligné, est de vous offrir une chance de démontrer votre compétence technique en répondant aux questions qui vous sont posées. Cela signifie qu'il est en votre faveur de vous poser des questions que vous connaissez déjà. Si vous insistez pour vous saboter, allez-y - personne ne vous arrêtera - mais je vous suggère de ne pas le faire.

Partagez et profitez.

Bob Jarvis - Réintégrer Monica
la source