Soll ich dem Interviewer mitteilen, dass ich die Antwort auf die gestellte Frage bereits kenne? [geschlossen]


29

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?


2
Ich habe Probleme, den Punkt in dieser Frage zu verstehen. Wenn Sie die Frage kennen, beantworten Sie sie, wenn Sie sie nicht kennen, versuchen Sie, etwas Vernünftiges zu finden. Solltest du ihnen sagen, dass du die Antwort kennst, anstatt ihnen nur die Antwort zu sagen?
Chris

7
@ Chris. Die letzte Frage in Ihrem Kommentar ist wirklich das, was das OP hier fragt: D
P Shved

1
Und das soll konstruktiv sein? Ich kann mir nicht vorstellen, wann ich dem Interviewer sagen würde "Ja, ich kenne die Antwort" und ich sage es ihnen nicht.
Chris

1
Ich warte darauf, dass "Fishtoaster" seine Antwort gibt.
Mark C

1
@ Chris - Richtig; Die Frage lautet meines Wissens: "Gibt es einen Vorteil und / oder eine ethische Überlegung zu Option 1 oder 2, wenn Sie den Brainteaser kennen und wenn ja, wie werden sie gewichtet?" Der fundamentale Punkt ist ziemlich tief vergraben und offen subjektiv formuliert, aber er scheint nützlich zu sein (nicht zuletzt, weil ich keine Ahnung habe, wie die richtige Antwort lautet und wie ich es tun sollte). IMO, dies ist eine Frage, die aus Gründen der Klarheit leicht bearbeitet werden muss und nicht geschlossen werden muss.
Inaimathi

Antworten:


41

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.


8
Ja, ich denke das ist fair. Es ist nicht so, dass man weiß, dass die Antworten betrügen. Wenn überhaupt, ist es ein Zeichen von Erfahrung. Ich meine, täusche es nicht vor, als hättest du gerade an Ort und Stelle Quicksort erfunden, ohne jemals davon oder so etwas gehört zu haben (schlechtes Beispiel, weil jeder von Quicksort gehört hat, aber du weißt was ich meine). Antworte einfach sofort. Es wird wahrscheinlich offensichtlich sein, dass Sie mit dem Problem vertraut waren, es ist jedoch nicht erforderlich, dies explizit zu erwähnen, und wenn überhaupt, könnte dies als Kritik an dem Interviewer angesehen werden, der ein nicht ursprüngliches Problem ausgewählt hat.
Tim Goodman

26

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 ... :)


5
Sie werden nicht herausfinden, wie der Befragte das Problem gelöst hat, wenn er nur die Antwort kennt.
P Shved

3
@Pavel: Klar, aber du könntest sie fragen: "Was war der Vorteil, es auf diese Weise anstatt auf diese Weise zu machen?" Auf diese Weise können Sie sehen, ob sie den Gedankenprozess hinter der Antwort wirklich verstehen oder ob sie sich die Antwort nur merken, ohne zu verstehen, warum.
Tim Goodman

@ Tim, wenn Sie also die Frage "Wie finde ich heraus, ob eine verknüpfte Liste Schleifen im O (1) -Speicher hat?" Stellen möchten und ich die Antwort kenne (zum Teufel, ich habe eine Menge solcher Probleme gelöst), was wäre das? Ihre Anschlussfrage ist?
P Shved

Tim, ich würde gerne zusehen, wie du jemanden interviewst (oder mich interviewst, haha), nur um zu lernen.
Mark C

1
@Pavel, ich würde das Problem wahrscheinlich komplizieren und mehrere Autoren in die Liste aufnehmen. Wenn Sie sich eine Minute Zeit genommen und darüber nachgedacht hätten, würde ich wahrscheinlich Ihre Meinung zu sperrfreien Methoden und die gleiche Frage erneut stellen und sich fragen, ob O (1) zu O (log n) gegangen ist. Wenn Sie mich komplett aus dem Wasser blasen und wir uns Sie leisten könnten, werde ich sicherstellen, dass Sie mein Chef werden. Entschuldigung für die Verspätung, das orangefarbene Umschlag-Ding oben hat sich in letzter Zeit ziemlich seltsam verhalten.
Tim Post

10

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.


8

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.)


4
Bei FizzBuzz geht es nicht um Factoring.
Zvrba

2
Ich denke auch, dass Sie den Punkt von FizzBuzz verpassen könnten.
Tim Post

Nun, worum geht es dann, wenn nicht der Fall von n mod 15 vermieden wird? Ich sagte "Factoring", weil ich mir gut vorstellen kann, dass jemand, der zwei andere Primzahlen für "Fizz" und "Buzz" verwendet, sie für schlau hält. Der Punkt ist immer noch, dass eine Zahl, die durch die von Ihnen verwendeten N Primzahlen (für FizzBuzzBazz) teilbar ist, auch durch eine Multiplikation dieser Primzahlen teilbar ist.
Frank Shearar

1
Was völlig egal ist, da 3 * 5 in einer FizzBuzz-Implementierung nicht speziell behandelt werden muss.
Joren

Meinetwegen; Ich habe die Lösungen haben gesehen, aber keine, die Sie nicht haben 3 * 5 speziell zu behandeln.
Frank Shearar

6

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!).


3

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.


+1 für Trickfragen. Wenn Sie die Antwort auf eine dieser Fragen bereits kennen, können Sie dies einfach sagen. Der Zweck einer solchen Frage wäre es, den Prozess zu beobachten, wenn die Teile zusammenfallen und wenn Sie bereits die Antwort wissen, wird dies nicht passieren.
Guffa

3

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.


1

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).


0

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

  1. Sie werden Sie respektieren, weil Sie nur versuchen werden, Fragen zu beantworten, die Sie noch nie zuvor gesehen / gehört haben.
  2. Sie werden von Ihrer Brillanz überwältigt sein - schließlich kennen Sie die Antworten auf die gestellten Fragen bereits - und werden Ihnen sofort einen Job anbieten
  3. Sie werden denken, dass Sie ein schlauer Esel sind, weil Sie anscheinend schon alles wissen - fragen Sie einfach! Oder
  4. Sie werden denken, dass Sie ein Dummkopf sind, weil Sie nicht wissen, wann die Dinge gut laufen.

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.