Hier, j'ai eu une expérience terrible lors d'une interview.
L'intervieweur m'a posé des questions sur la fonction virtuelle pure. J'ai dit, il peut ou peut ne pas avoir de définition dans la classe de base, mais les classes dérivées devraient fournir la définition à moins qu'elles ne souhaitent également être une classe abstraite.
Mais l'intervieweur a continué à demander que "le virtuel pur peut-il avoir la définition !!! ???" ... j'ai dit oui.
Encore une fois il a dit "pur?"
J'ai dit oui. Il est permis aux classes dérivées d'appeler explicitement cette fonction si elles souhaitent ce comportement particulier.
Il m'a envoyé dehors. Je suis sûr qu'il ne sait pas que la fonction virtuelle pure peut avoir une définition.
Comment traiter avec ce genre d'intervieweurs?
Après avoir demandé la deuxième fois, devrais-je mentir qu'il ne peut pas avoir de définition? :)
Ou je devrais m'en tenir à mes mots et perdre l'occasion de l'emploi?
arr[++i] = i
. Et quand je l' ai dit invoque -comportement non défini et lui ai parlé de points de séquence , il était sans voix pendant un moment, puis expression de son visage et ses autres questions me fait croire qu'il n'a même jamais entendu ces termes avant!Réponses:
Et vous devriez remercier vos étoiles chanceuses d'avoir perdu cette balle. Travailler pour des personnes qui refusent d’admettre qu’elles ne savent peut-être pas tout et d’apprendre des autres est une expérience TRÈS désagréable.
la source
Exemple de fonction virtuelle pure avec une définition:
la source
L'enjeu n'est pas l'exactitude technique, mais les compétences sociales / de communication. Restez ferme, mais reconnaissez le point de vue de l'intervieweur et permettez-lui de sauver la face.
Une fois que vous pouvez voir pour quoi il pêchait ("pur?" Est un bon indice), une bonne réponse peut être:
la source
Vous auriez pu expliquer comment déclarer une fonction virtuelle pure ayant une implémentation.
En fait, j'aimerais que vous veniez ici parce que je ne sais pas comment faire cela non plus.
la source
Souvent, lorsque j'interviewe un candidat, je cherche à voir comment cette personne gère l'incertitude ou gère la confrontation. La prochaine fois que vous interviewez, soyez sensible à cela et essayez de répondre de manière constructive à la question ou d'expliquer votre position. Cela peut être plus important que la bonne réponse.
la source
J'ai eu des entretiens où j'en savais plus que mon intervieweur. Cependant, ils voulaient quelqu'un pour remplir un rôle et n'avaient personne (bien sûr) qui pourrait interviewer à ce niveau.
Dans votre cas, estimez-vous qu’il s’agissait d’une ignorance aveugle ou d’un véritable malentendu? Peut-être un email de suivi avec des exemples et des références: voyez comment ils réagissent avant de décider.
J'ai tendance à «l'ignorance aveugle» bien que basé sur votre question et resterais bien clair…
la source
Dans une situation comme celle-ci, je proposerais d'écrire une classe simple avec une fonction virtuelle avec un corps et de voir si elle compile. À tout le moins, je proposerais de google le sujet.
Si l'interviewer relève le défi, admet sa défaite et ne donne pas l'impression qu'il est sur le point de vous étrangler après cela, alors vous devriez être en forme. Sinon, ce n'est probablement pas la personne avec laquelle vous voulez travailler.
la source
Je suis totalement en désaccord avec l'idée selon laquelle vous devriez abandonner une entreprise parce que le type qui vous interroge ne connaît pas la réponse à sa question. Même lorsque vous travaillez, vous allez rencontrer des gens qui sont obstinés même quand ils se trompent. C'est une bonne habileté de diriger les gens vers la bonne réponse.
Dans mon cas, l'intervieweur a demandé comment calculer la variance d'un grand nombre de nombres sur de nombreuses machines. J'ai commencé par dire que la variance est la moyenne des carrés moins le carré des moyennes. Il intervint, "non, c'est
E[(x - mu)²]
."J'ai dit: "Oui, tu as raison. Mais ta formule est la même que la mienne. Trouvons-la ensemble." Et puis nous l'avons dérivé ensemble.
Dans votre situation, lorsque vous reconnaissez que l'intervieweur est incrédule, vous devez modifier votre approche. Dites-lui que c'est une fonctionnalité rarement connue (c'est pour que vous sonniez comme si vous ne le savez pas tout) et s'il le souhaite, vous lui enverrez un exemple de programme ou une référence à un livre C ++ après l'interview (c'est pour que l’entretien puisse avancer avec élégance.)
Essayez d'imaginer les choses de son point de vue. Vous allez interroger des gens un jour et parfois vous aurez tort. Comment voudriez-vous qu'un candidat brillant réponde à une telle question?
la source
Je pense que vous auriez dû déplacer l'interview du bureau vers un ordinateur avec un compilateur. Cela aurait résolu le problème.
la source
EDIT: apparemment je me trompe complètement, voir les commentaires ci-dessous cette réponse. Laissant la réponse ici à des fins éducatives.
Malheureusement, vous vous trompez. Une fonction virtuelle peut avoir une définition. une fonction virtuelle pure ne peut pas. Le manque de définition est ce qui le rend pur.
la source
Vous savez que tout ce que vous avez répondu est juste. À mon avis, vous avez fait du bon travail en restant fidèle à votre réponse puisque vous aviez raison. Il n'est pas nécessaire de mentir, car si ce n'est pas aujourd'hui, un intervieweur en apprendra plus sur les fonctions virtuelles pures !!!! .. Il pourrait également vous tester pour vérifier votre fermeté dans vos décisions? Êtes-vous la personne qui s'emballe facilement? Il n'y a pas besoin de perdre espoir, car vous savez que votre droit
la source