Wenn ich in einem Programmierinterview eine Frage stelle, kenne ich bereits die Antwort, beispielsweise einen Algorithmus für ein bestimmtes Problem. Soll ich das dem Interviewer mitteilen? Dieses Problem ist nur dann sinnvoll, wenn die Frage einen neuen Aspekt aufweist.
Ein Beispiel ist "Wie würden Sie jedes Wort in einer Zeichenfolge umkehren, aber nicht deren Reihenfolge?". Es scheint auch eine Trennung zwischen einfacheren Dingen zu geben, die Sie "kennen" sollten, wie meinem Beispiel und schwierigeren, ausgeklügelten Problemen.
Was ist Ihre Politik und Begründung für die Behandlung dieses Problems? Wenn Sie mit der Frage / dem Brainteaser bereits vertraut sind, sollten Sie diese zusätzlich zur Beantwortung der Frage offenlegen? Gibt es ein ethisches Dilemma, wenn Sie Ihre Vorkenntnisse zu dieser Frage nicht preisgeben?
Antworten:
Ich würde es einfach beantworten, ohne zu zögern oder herumzudrehen. Zu wissen, dass die Antwort auf eine Frage nicht böse ist, bedeutet, dass Sie ihr bereits begegnet sind und wissen, wie sie zu lösen ist. Beheben Sie es, fahren Sie mit dem nächsten fort.
quelle
Ich würde die Frage immer noch beantworten. Ich interviewe Programmierer sehr häufig. Es interessiert mich weniger, dass Sie das Problem lösen können (es sei denn, Sie können es einfach nicht), als vielmehr, wie Sie das Problem gelöst haben.
Ich stelle während eines Interviews viele, viele ... und viele ärgerliche kleine Fragen, die speziell entwickelt (und im Laufe der Zeit verfeinert) wurden, um mir ein sehr gutes Verständnis für Ihre tatsächlichen Stärken zu vermitteln, die Sie in Ihren Lebenslauf aufgenommen haben. Ich werde mein Bestes tun, um Sie auf eine Spur subjektiver Scherze zu führen und Sie dann mit immer härteren Problemen zu treffen.
Am Beispiel von Frank , FizzBuzz, möchte ich als letztes von Ihnen hören: "Oh ja, ich weiß, wie man den Moduloperator verwendet ..." Wenn ich Sie interviewe, weiß ich das. Ich möchte vielleicht sehen, wie schnell Ihr Gehirn die Gänge wechselt, oder ich möchte testen, wie gut Sie einen Auftrag ausführen, der banal und dumm erscheint. Der Punkt ist, ich teste nicht nur Ihre Fähigkeit, Probleme zu lösen.
Ich kann eine Mausefalle mit hunderten beweglichen Teilen bauen. Wenn eine Firma Mäuse fängt ... na ja ... :)
quelle
Als ich auf dem Interviewersitz saß, sahen ich viele Leute, die "Oh, ich habe das gehört" sagten und sich dann Mühe gaben, sich eine Lösung zu merken oder sie zu überarbeiten. In vielen Fällen verschafft Ihnen das Vorwissen keinen so großen Vorteil. Ich würde empfehlen, ihnen mitzuteilen, dass Sie es schon einmal gehört haben, und eine Lösung vorzuschlagen. Wenn es Ihnen zu einfach war, werden sie Ihnen eine weitere Frage stellen und Ihre Ehrlichkeit schätzen.
quelle
Ich bin für eine offene und ehrliche Kommunikation, also würde ich definitiv sagen, dass ich die Frage und den Trick kenne.
Ich nehme an, dass Sie für zusätzliches Guthaben sagen könnten: "OK, so machen es alle anderen, aber mal sehen, ob es einen anderen Weg gibt." Oder Sie könnten die Frage auf andere Weise dekonstruieren und zeigen, warum die Leute die Frage mögen, was die Frage angeblich versucht, Sie zum Sehen zu bringen.
(Bearbeiten: Der Verweis auf FizzBuzz wurde aus den Kommentaren anderer Personen zu diesem Beitrag entfernt.)
quelle
Als Interviewer stelle ich nicht die Frage, ob Sie die Antwort auf eine knifflige Henne-Ei-Frage kennen. Stattdessen möchte ich sehen, wie Sie ein Problem lösen, um zu einer Antwort zu gelangen. Daher ist es oft einfach, den Unterschied zwischen dem Kennen der Antwort und dem Erreichen der Antwort zu erkennen (es sei denn, der Befragte reagiert darauf, zur Antwort zu gelangen!).
quelle
Nach meiner Erfahrung interessiert sich der Befragte für die meisten technischen Interviews wirklich für Ihre Lösung und dafür, wie Sie darauf gekommen sind und wie Sie sie erklären, und nicht dafür, ob Sie genau dasselbe zuvor gehört hatten. Sofern es sich nicht um eine dieser "Rätsel" -Fragen handelt, bei der es sich um einen "Trick" handelt, bringt Ihnen das vorherige Kennen des Problems nur dann einen entscheidenden Vorteil, wenn Sie es selbst lösen können.
Für eine hinreichend nicht triviale Frage könnte das Problem tatsächlich ein bekanntes sein oder auf eins reduziert werden. Wenn Sie gefragt werden, wie Sie die kürzeste Route zwischen zwei Knoten in einem Diagramm finden können, tun Sie dann so, als würden Sie BFS / Dijkstra nicht kennen? IMHO, für einige Probleme kann es sogar kontraproduktiv sein, die Tatsache zu verbergen, dass Sie Ihre Sachen kennen.
quelle
Ich denke, dem Interviewer zu sagen, gilt nur für diese albernen "Gotcha" -Fragen, wie das runde Mannloch und andere Sachen wie diese. Fragen, bei denen es völlig offensichtlich ist, wenn Sie die Antwort kennen.
Das Umkehren von Zeichenfolgen usw. hat keine offensichtliche "Gotcha" -Lösung, die Sie in 3 Sekunden erklären können, wenn Sie sie kennen.
quelle
Die Antwort "zu wissen" ist nicht der Punkt. Kommunizieren Sie es so, dass der Interviewer die Antwort, die Sie geben, verstehen kann. (Natürlich kennt der Interviewer eine Reihe von Antworten, aber wie gesagt, darum geht es nicht.)
Also würde ich versuchen, die Antwort in einem angemessenen didaktischen oder vielleicht humorvollen Rahmen zu kommunizieren, damit der Interviewer sehen kann, wie ich denke und funktioniere oder nicht.
Zum Beispiel könnte es für Sie alle (und für den Interviewer informativ) Spaß machen, die gestellte Frage in einen völlig anderen Kontext zu stellen, um zu zeigen, dass das vorliegende Problem zwar ähnlich aussieht, die Lösung im neuen Kontext jedoch nicht funktioniert. Ich denke, die Kunst hier ist es, einen irgendwie verwandten Kontext für die Frage zu finden, in dem die Lösung aus der ersten Antwort nicht funktioniert, und dann spektakuläre Lösungsideen vorzuschlagen, über die der Interviewer möglicherweise kaut (oder darüber lacht).
quelle
Also, was ist die Alternative? Wenn Sie dem Interviewer mitteilen, dass Sie die Antwort auf eine gestellte Frage kennen, und von ihm erwarten, dass er Ihnen nur Fragen stellt, auf die Sie die Antwort nicht kennen, was passiert dann? Entweder
Ich vermute, dass die Optionen (1) und (2) nicht zutreffen werden - nennen Sie mich Mr. Cynical. Sie müssen also entweder ein Dummkopf oder ein Schlauer sein, was Ihnen wahrscheinlich keinen Job einbringt. Hey, viel Glück!
Das Ziel eines Interviews ist es, wie bereits erwähnt, Ihnen die Möglichkeit zu geben, Ihre technischen Fähigkeiten unter Beweis zu stellen, indem Sie alle Fragen beantworten, die Ihnen gestellt werden. Dies bedeutet, dass es zu Ihren Gunsten ist, Fragen zu stellen, mit denen Sie bereits vertraut sind. Wenn Sie darauf bestehen, sich selbst zu sabotieren, machen Sie weiter - niemand wird Sie aufhalten -, aber ich schlage vor, Sie tun es nicht.
Teile und genieße.
quelle