Was ist Ihre Lieblingsinterviewfrage? [geschlossen]

21

Welche Frage hat Ihnen bei der Befragung von Softwareentwicklern besonders gefallen? Was ist an der Frage, die es besonders nützlich gemacht hat?

Ich bin auf der Suche nach einer bestimmten Frage, die Sie gerne stellen, und nicht nur nach einem Interviewansatz wie "Code schreiben lassen".

Tim Goodman
quelle
2
Die Frage ist - wie formuliert - nicht konstruktiv, hat aber einige gute Antworten. Formulieren Sie die Frage so, dass sie den besten Antworten entspricht, und ich empfehle, sie erneut zu öffnen.
ChrisF
@ChrisF: Ich habe umformuliert, um ein bisschen mehr von den "Erfahrungen teilen" und "Warum fragen" zu bekommen, was auch mehr von den "längeren Antworten einladen" treffen sollte. Lassen Sie mich wissen, ob eine weitere Überarbeitung erforderlich ist.
Tim Goodman
das ist besser!
ChrisF
Wenn man sich die Frage und die Antworten jetzt ansieht, fühlt es sich immer noch ziemlich unkonstruktiv an. Es sieht nicht so aus, als ob eine der Antworten das "Warum" enthält und nur die Fragen aufgelistet.
Adam Lear

Antworten:

29

Schauen Sie sich diesen Beispielcode an und sagen Sie mir, wie Sie ihn verbessern können.

David Anderson
quelle
8
husten husten löschen?
Craige
22

Dies ist ein bisschen spezifisch für mein Szenario, aber ich denke, es war trotzdem eine großartige Frage:

Sie sagen hier also, dass Sie C # oder .NET noch nie zuvor berührt haben, oder? Ok, hier ist eine Workstation. Finden Sie heraus, wie Sie ein Programm schreiben, das diese Datenbank hier abfragt und eine Liste der Kunden mit ihren Bestellungen druckt, sortiert nach Kundennamen. Sie können jede Ressource verwenden, die Sie möchten.

Die einzige Frage, die ich je hatte, hat meine Lernfähigkeit auf die Probe gestellt.

Fischtoaster
quelle
war das bevor StackOverflow existierte?
Eds
1
Ist das nicht eine Frage, die du gerne stellst?
Paddyslacker
8
+1, das ist eine perfekte Frage. Wenn sie grundlegende Sprachkonstruktionen mit Google nicht herausfinden können, werden sie durch nichts gespeichert.
Josh K
Ich mag das, es zeigt, wie gut sie eine Programmiersprache lernen können, die sie noch nie benutzt haben. Ich könnte das für meine Interviewfragen stehlen :)
Richard
1
Scheint sinnlos, jeder kann beschissenen .net-Code direkt aus msdn kopieren und einfügen.
Dotjoe
15

Dies ist keine Kodierungsfrage, sondern eine Verhaltensfrage:

Erzählen Sie mir von einer Zeit, in der Sie einfach nicht alle Arbeiten rechtzeitig erledigen konnten, um eine Frist einzuhalten. Was haben Sie gemacht? Was war das Ergebnis?

Paddyslacker
quelle
3
Warum ist das eine gute Frage? Scheint mir sinnlos
Joe Phillips
9
Der Punkt ist, dass ich von den Entwicklern eine Menge Informationen bekomme. Erstens, wenn sie nicht zugeben, dass ihnen diese Situation jemals passiert ist, dann haben sie sich selbst etwas vorgemacht oder sie haben keine Erfahrung mit echten Projekten. Zweitens möchte ich sie nicht einstellen, wenn sie nicht darüber sprechen, wie sie das Problem dem Team mitteilen, sondern nur darüber, wie hart sie daran arbeiten würden, es zu beheben. Schlechte Kommunikation ist für die meisten Probleme verantwortlich, die ich bei Projekten sehe. Ich möchte proaktive Kommunikatoren einstellen.
Paddyslacker
3
Ich stelle eine ähnliche, allgemeinere Frage ("Erzählen Sie mir von einer Zeit, in der etwas schief gelaufen ist, und was Sie als Reaktion darauf getan haben ..."). Sehr offen, und dennoch hatte ich einen Befragten, der auf und ab schwor, dass nichts jemals passiert war falsch gelaufen für ihn. Unnötig zu erwähnen, dass ich ihn nicht zum Mieten empfohlen habe.
Alex Feinman
13

Wie bist du zur Programmierung gekommen?

Schöne Möglichkeit zu sehen, ob die Person eine Leidenschaft für das Programmieren hat und das Eis zu brechen.

Gordon
quelle
11

Wenn ich jemanden interviewe, der behauptet, nicht unbedeutende Java-Erfahrungen zu haben, frage ich ihn nach hashcode()und equals()und der Beziehung zwischen ihnen. Es ist nicht wirklich möglich, bedeutende Java-Erfahrungen zu sammeln, ohne sich der möglichen Fallstricke bewusst zu werden, und jeder, der das Problem nicht kennt, wird meinem Projekt schwer zu findende Fehler hinzufügen.

Ich werde auch nach ArrayListund LinkedListund den jeweiligen Vor- und Nachteilen fragen . Dies sollte hoffentlich beweisen, dass sie sich der Auswirkungen des von ihnen geschriebenen Codes auf die Leistung zumindest bewusst sind und darüber nachdenken.

Ich möchte sie auch dazu bringen, eine Meinung zu einem technischen Thema zu äußern (die Nützlichkeit oder das Gegenteil von Maven, geprüfte oder ungeprüfte Ausnahmen usw.) und dann Devil's Advocate zu spielen, um zu sehen, wie gut sie ihren Standpunkt vertreten können.

Dan Dyer
quelle
+1 Ich mag die ArrayList und LinkedList. Ich habe viele Kommentare zu SO über Leute gesehen, die sagten, ArrayLists sollten abgeschafft werden, aber ich kann mir viele Anwendungen vorstellen, bei denen sie besser sind als LinkedLists
Evan Plaice
LOL! Einmal fragten mich zwei Interviewer nach dem Unterschied zwischen einer Liste und einer Karte. Ich sah sie so erstaunt an, dass sie sich tatsächlich entschuldigten (und dann beantwortete ich ihre Frage und wir fuhren natürlich mit dem Interview fort).
Hila
6

"Was war das letzte (beste) technische Buch, das Sie gelesen haben?"

oder allgemeiner:

"Wie halten Sie Ihr Wissen auf dem neuesten Stand?"

Es ist erstaunlich, wie viele Menschen seit dem Schulabschluss noch nie ein technisches Buch gelesen haben. Und wenn Sie seit Ihrem Schul- und Schulabschluss vor zehn Jahren noch nie ein Buch gelesen haben, haben Sie wahrscheinlich noch nie etwas über Unit-Tests, Entwurfsmuster und SOLID-Prinzipien gehört ...

Antwort auf Kommentar :

Sie können mich ablehnen, wenn Sie möchten, aber dies ist eine meiner bevorzugten Interviewfragen. Blogs, Wikipedia und SO sind großartige Quellen für die neuesten High-Tech-Nachrichten. Aber ich glaube nicht, dass Sie wirklich komplexe Themen (wie das, was Sie in Knuths Büchern finden) in voller Tiefe lernen können, indem Sie Blogs lesen.

Wenn ich zwischen zwei Entwicklern wählen muss, von denen einer die Bereitschaft zeigt, neue komplexe Themen zu lernen, und der andere nicht, dann stelle ich den ersten ein. Auch wenn er oder sie mehr Geld will. Es wird sich langfristig auszahlen.

nikie
quelle
-1. Ich öffne selten technische Bücher, weiß aber, was TTD ist, und kenne einige der Entwurfsmuster. Ich habe viel mehr von SO (zum Beispiel, was Fabrikmuster ist) und von den Blogs von Jon Skeet und anderen Fachleuten gelernt, als ich von einem mittelmäßigen Buch lernen würde. In keinem der Bücher wurde zum Beispiel erklärt, warum FxCop- und StyleCop-Überprüfungen so wichtig sind, um einen absteigenden Quellcode zu schreiben, der wiederverwendet werden kann (noch wurden diese Tools erwähnt).
Arseni Mourzenko
3
+1 Mit Online-Artikeln und -Blogs kann man viel lernen, aber das Nichtlesen von Fachbüchern bedeutet für mich auch mangelnde Initiative und Mittelmäßigkeit.
Dunk
5

Kehren Sie diese verknüpfte Liste um. Jetzt mache es in linearer Zeit. Jetzt mache es in linearer Zeit und konstantem Raum.

Fischtoaster
quelle
23
MyList.reverse ()
Joe Phillips
5

Betrachten Sie sich als Glückspilz?

Ich habe dies in einem Interview mit einem der Gründungsmitglieder von Bruel & Kjaer gelesen und es hat mich begeistert. Erfolgreiche Menschen schätzen sich sehr wahrscheinlich glücklich. Sie sehen Rückschläge als Verbesserungsmöglichkeiten und neigen dazu, ihre Erfolge (Glück) mit Menschen in ihrer Umgebung zu teilen - glückliche Menschen bringen mehr Glück. *

Menschen, die sich als unglücklich sehen, sind eher ein schlechter Apfel in Ihrem Team.

* In diesem Zusammenhang sollte Glück als Gelegenheit für ein Vorbereitungstreffen gesehen werden , nicht als Kleeblatt.

Oosterwal
quelle
1
+1 Ich würde das gerne mehrmals verbessern.
ocodo
Napoleon sagte einmal: "Gib mir Generäle, die Glück haben!"
Zachary K
4

Die, die immer für mich gearbeitet hat ...

"Erzählen Sie mir von Ihren bisherigen Projekten" .

Und dann nutzen Sie ihre Antworten als Ausgangspunkt, um sie nach ihrer Rolle in den Projekten zu fragen und warum sie bestimmte Entscheidungen getroffen haben. Anstatt das Interview in die SATs zu schreiben, habe ich nur ein Gespräch mit ihnen. Das war immer mehr als ausreichend, um zu beurteilen, ob der Entwickler für eine Position geeignet war.

Ich bin nur einmal für einen Job eingestellt worden, bei dem ich die verwendete Sprache bereits kannte. Daher haben langauge-spezifische Fragen für mich keinen großen Wert. Ich persönlich interessiere mich auch nicht sehr für Syntax-Trivia ( wie würdest du eine Zuckerwatte-Sorte machen, während du in einem Gefängnis voller hungriger Zebras gefangen bist? ) Und habe Cha-Fragen, also stelle ich diese Art von Frage nie.

GrandmasterB
quelle
+1. Das frage ich auch. Es ist jedoch manchmal schwierig herauszufinden, welche Funktion der Kandidat im Projekt hatte (Projektmanager? Hauptentwickler? Wartungsentwickler? Kaffeemaschinenbediener?), Besonders wenn er mit vielen Leuten an einem großen Projekt gearbeitet hat.
Nikie
2
Wenn du irgendeinen Job auf der Welt haben könntest, welcher wäre das?

Ich suche nur eines wirklich: einen ernsthaften Versuch, darauf zu antworten. Die einzig falsche Antwort ist es also zu lachen und dem Interviewer zu sagen, dass dies die klischeehafteste Interviewfrage der Welt ist. (Ich habe nicht eingestellt).

Es ist wirklich ein Setup für meine Lieblingsfrage aller Zeiten:

Wenn Sie [ein Rockstar] werden möchten, warum bewerben Sie sich hier bei [HugeCorp] als [Internet Development Engineer III]?

Es funktioniert am besten, wenn sie tatsächlich eine kühne Antwort geben. Sie sehen es selten und dies ist nur eine Gelegenheit für jemanden zu glänzen, indem er etwas sagt wie "Die Stunden hier sind besser" oder "Meine Karriere hier wird länger dauern als der typische Rockstar."

Ich habe auch gelogen, dass es keine falsche Antwort auf die erste Frage gibt. Wenn Sie nicht für einen absolut fantastischen Traumjob interviewen, ist der Job, für den sie interviewen, die falsche Antwort. Und wenn Sie sich für den Traumjob bewerben und ihn noch nicht haben, sollten Sie sich fragen, warum Sie sich nicht bewerben.

shemnon
quelle
"Und wenn Sie für den Traumjob interviewen und ihn noch nicht haben, sollten Sie sich fragen, warum Sie sich nicht dafür bewerben." - Klingt wie eine Frage "verdammt, wenn Sie das tun, verdammt, wenn Sie das nicht tun" - vor allem, wenn Sie die Antwort so behandeln, wie Sie sie beschreiben. Wenn jemand einen Traumjob im Sinn hat, hat er vielleicht noch nicht das Gefühl, bereit zu sein, ihn anzunehmen, und braucht mehr Erfahrung mit dem, was er in Ihrem Unternehmen lernen kann. Warum das gegen sie halten?
Mark Freedman
4
-1 Ich habe Stellenangebote von Unternehmen abgelehnt, bei denen Leute völlig irrelevante Fragen wie diese gestellt haben. # 1 Es hat nichts mit dem Job oder der Art und Weise zu tun, wie Sie sich verhalten würden. # 2 Statt die Person zu interviewen, versucht der Interviewer wirklich zu zeigen, wie schlauer sie sind als der Befragte, indem er sie hereinlegt. 3 Ich glaube nicht, dass ich mit pr @ # k $ arbeiten möchte, die solche Fragen bei einem Vorstellungsgespräch stellen, wenn ich sie im Vorstellungsgespräch nicht mag. Bei einem Bier die Frage zu stellen, ist eine andere Geschichte.
Dunk
@Dunk: Sie haben Recht, Trickfragen sagen mehr über den Interviewer als über den Interviewten aus. Es macht jedoch Sinn, nach den Zielen und Wünschen einer Person zu fragen. Sie möchten, dass Ihre Mitarbeiter mit ihren Jobs zufrieden sind (unglückliche Menschen sind nicht produktiv), und möchten wissen, ob Sie den richtigen Job für sie haben.
Nikie
@Dunk Da die Kunden, mit denen ich täglich zu tun habe, Klischee-Fragen stellen und oft die gleichen dummen Fehler wiederholen, hilft eine solche Klischee-Frage auch dabei, die Art von Menschen selbst auszuwählen, die sich nicht um die Kunden in meinem Job kümmern können. Der Vorteil ist, dass der Job sich auszahlt, um zu kompensieren, dass er ein solches Verhalten toleriert. In diesem Sinne ist es wirklich die Präfektenfrage.
Shemnon
@ Mark Freedman - Ich halte es nicht gegen sie. Dies gibt ihnen die Möglichkeit, ehrlich und direkt über ihren Karriereweg zu sprechen. Wenn ein Befragter das Gefühl hat, dass er "verdammt ist, wenn er es tut, und verdammt ist, wenn er es nicht tut", dann ist der Job nicht für ihn. Wenn Sie nicht gewillt sind, eine ehrliche Antwort zu geben, ist dies bereits ein Nachteil.
Semnon
2

Bei C # -Interviews frage ich gerne: "Wie gehen Sie mit Fehlern in einer Methode um?" Wenn ich eine anständige Antwort auf diese Frage bekomme, frage ich: "Wie richten Sie die Fehlerbehandlung in einer Webanwendung ein?"

Ich bin immer wieder erstaunt, wie viele Entwickler mit der ersten Frage kein Problem und mit der zweiten keine Ahnung haben. Ich habe sogar viele interviewt, die nicht beschreiben konnten, wie Fehler in ihrem aktuellen Projekt behandelt wurden.

Jeff Siver
quelle
2

Etwas wie das:

multiplizieren Wert von 7 ohne die Verwendung von *, /und +Operationen. :)

Dmitko
quelle
4
Benötigt Ihre Codebasis Kenntnisse über Bit-Twiddling, oder dient dies nur dazu, das Interesse an kleinsten Details zu messen?
Peter Taylor
2
Beachten Sie, er sagte nicht "oder"
Ben L
1
@ Ben, ich denke du hast gerade eine Logikbombe in die Falltür
geworfen
2
Ist es nicht einfach (x << 3) - x?
user13278
1
Oder noch einfacher:x -(-x) - (-x) -(-x) - (-x) -(-x) - (-x)
Nikie
1

Ähnlich wie David, aber etwas anders:

Schauen Sie sich den chaotischen tatsächlichen Produktionscode einer früheren Version an, die wir später repariert und verbessert haben. Sag mir, was es tut. Sag mir, wo die Probleme sind (Richtigkeit und Stil). Sagen Sie mir, wie Sie es beheben und verbessern würden.

Dies hilft bei der Unterscheidung zwischen Personen, die nur neuen Code schreiben können, und Personen, die mit der Realität älterer Codebasen umgehen können.

Uri
quelle
0

Vor vielen Jahren wurde ich nach dem Unterschied zwischen den regulären Ausdrücken / a * / und / a * gefragt? /

Ich persönlich neige dazu, ein paar Fragen zur Rekursion zu stellen.

Zachary K
quelle
1
Hat das ?bezeichnet gierig oder null oder eins ? Ich habe beide Syntaxen gesehen.
Paul Nathan
1
Welcher Dialekt?
Das war perl5, das war auch vor ca. 11 Jahren. Also ja, es war gierig gegen nicht gierig.
Zachary K
0

Ich bin überrascht über die Anzahl der fehlgeschlagenen Antworten auf diese Frage:

Wie würden Sie nach einem Artikel in einer unsortierten Liste suchen?

Oosterwal
quelle
Es ist eine ziemlich tiefe Frage: Wie ist ein Match definiert? Haben Sie Kenntnisse über Teilbestellungen in der Liste? Was ist das für eine Liste? Sind die Artikel sortierbar? Wie groß ist die Liste? Wie hoch sind die relativen Berechnungskosten für das Vergleichen und das Überprüfen auf Übereinstimmungen? Unterschiedliche Antworten auf diese Fragen könnten den optimalen Ansatz verändern .....
mikera
Wie oft wird diese Suche durchgeführt? Könnte es ein Engpass für die Leistung sein?
Justsalt
WTF, Leute. Beginne mit dem ersten oder letzten Gegenstand, vergleiche, wenn keine Übereinstimmung vorliegt, gehe zum nächsten Gegenstand. Die Frage ist nur: Interessieren uns mehrere Übereinstimmungen oder brechen wir die Suche bei der ersten Übereinstimmung ab? Wenn Sie einen Einblick geben möchten, können Sie Folgendes hinzufügen: Für verknüpfte Listen spielt es keine Rolle, aber für indizierte Listen, wenn ich auch Übereinstimmungen extrahieren möchte, würde ich die Liste in umgekehrter Reihenfolge durchlaufen, damit ich die Liste nicht aktualisieren muss Index außerhalb der Schleifenbedingung.
NotGaeL
0

Meine Lieblingsfrage ist:

(Vermutlich in einer Mischung aus Java / C # und Pseudocode)

Entwerfen Sie mit nicht-exotischen Containern eine Klasse, die sich wie ein Wörterbuch verhält, das so leistungsfähig wie möglich ist. Auf diese Weise können Sie die Schlüssel nicht in "zufälliger" Reihenfolge, sondern in der Reihenfolge auflisten, in der sie dem Wörterbuch hinzugefügt wurden wurde zuerst erstellt.

Job
quelle
Dieser führt zu zu vielen Klärungsfragen. Ist es fair, nur zwei Hash-Tabellen oder eine Hash-Tabelle und eine Array-Liste zu verwenden: Eine, die die Reihenfolge und eine, die die Reihenfolge enthält? Muss es möglich sein, Dinge zu entfernen? (Dies macht es etwas komplizierter.) Wenn ein Wert aktualisiert wird, zählt dies als erneutes Hinzufügen?
Dsimcha
@dsimcha, guter Punkt. Ich habe 20 bis 30 Minuten Zeit, um zu sprechen, und beginne mit: Bitte fragen Sie jederzeit um Klärung. Wenn Sie sich festgefahren fühlen, gebe ich Ihnen gerne einen Hinweis oder leite Sie in die richtige Richtung. Wenn die Person immer noch ihre Räder dreht, würde ich sagen, dass sie Datenstrukturen nicht versteht. Soweit klar ist, was ich will, lasse ich dies lieber offen und gehe in verschiedene Richtungen.
Job