Was suchen Top-Unternehmen in einem Interview? [geschlossen]

9
  1. Grundsätzlich suche ich nach dem, was Sie vermasseln und aus dem verbleibenden Prozess heraus sind?
  2. Sind Ausscheidungsrunden eine faire Möglichkeit, eine Person zu beurteilen? Jeder kann eine schlechte Stunde haben :-(
  3. Sollten Sie den bestmöglichen Code erstellen oder den richtigen Algorithmus finden? Im Allgemeinen codiere ich zuerst eine praktikable Lösung und arbeite dann daran, bis ich denke, dass sie für mich schön aussieht. Ist das ein falscher Ansatz?

Kürzlich hatte ich ein Telefoninterview, in dem ich gebeten wurde, innerhalb von 20 Minuten eine Variation des Level Order Traversal zu schreiben. Ich konnte den Algorithmus und den Arbeitscode in 20 Minuten erhalten, aber die Ausnahmebehandlung und die Codierungskonvention konnten nicht richtig ausgeführt werden. Danach hörte ich nichts mehr von ihnen :-( Alle anderen Fragen im Interview gingen sehr gut das einzige, was "nicht bis zur Marke" war.

Unnötig zu erwähnen, dass mir das Unternehmen gefällt und ich mich wieder bewerben werde, aber ich möchte es beim nächsten Mal richtig machen :-)

Bitte teilen Sie Ihre Erfahrungen und wertvollen Vorschläge.

Geek
quelle
4
Beachten Sie die relativen Kosten einer Fehleinschätzung eines Kandidaten. Ein falsches Negativ (keine Einstellung von jemandem, der ein guter Mitarbeiter gewesen wäre) hat nur Opportunitätskosten für den Arbeitgeber, während ein falsches Positiv sehr kostspielig sein kann und organisationsweite Konsequenzen haben kann, und auch böse.
Chris Bye
@ Chris: Du hast recht. +1.
Geek

Antworten:

7

Wenn ich technische Interviews mache, suche ich ehrlich nach Leuten, die einen Homerun machen. Wenn der Kandidat nicht so aussieht, als ob er sich auskennt, wird er in seiner Rolle nicht effektiv sein (ich spreche hier von Positionen als leitende Entwickler).

Schauen Sie sie es auf diese Weise: Würden Sie lieber ein hartes Interview, in dem Sie den Job nicht bekommen (weil Sie nicht eine gute Passform sind), oder ein einfaches Interview , in dem Sie tun den Job bekommen, aber dann lassen nach 90 gehen bekommen Tage, weil du über deinem Kopf bist?

Ich habe viel zu viele Entwickler im letzteren Lager gesehen. Wenn Sie den Job nicht bekommen haben, weil Sie den technischen Teil durcheinander gebracht haben, betrachten Sie ihn als einen Segen in der Verkleidung. Wenn Sie Ablehnung nicht mögen, sollten Sie Ihre technischen Fähigkeiten verbessern.

Marcel Lamothe
quelle
4
Sehr gut gesagt, Marcel. Irgendwie habe ich das Gefühl, dass nicht jeder (egal wie gut) bei einem unbekannten Problem alles richtig machen könnte (Zeit ist eine Einschränkung). Wenn jemand durch ein Problem segelt, hat er wahrscheinlich zuvor denselben oder einen ähnlichen Code geschrieben. Eine Frage in einer Ausscheidungsrunde, wissen Sie, dass jemand nicht gut genug ist, wenn er eine oder zwei Fragen vermasselt (es sei denn, jemand macht einen Fehler). Der Punkt, den ich versuche, ist "Eliminierungsrunde", während Sie sich anscheinend von einer Hypothese entfernen, "Sie wissen, dass some1 nicht gut genug ist". Ja ein böser Kerl? Offensichtlich keine Miete ..
Geek
Das Interviewen ist mit Sicherheit eine schwierige Kunst, und ich behaupte keineswegs, ein Experte zu sein. Aber in meinem Fall versuche ich nicht, eine Partie "Gotcha!" - wo ich nur darauf warte, dass jemand etwas falsch macht. Stattdessen prüfe ich ihr Wissen und versuche zu sehen, wie tief es ist. Kann der Kandidat beispielsweise leicht erklären, wie eine Hash-Tabelle funktioniert? Es ist normalerweise ziemlich leicht zu erkennen, wer in der Gewinnspalte landet und wer nicht.
Marcel Lamothe
@Geek - würdest du lieber die Person sein, die es richtig gemacht hat und von jemandem übergangen wurde, der es nicht getan hat? Es könnte eine Codierungsherausforderung oder eine leise Frage sein, wie Sie mit problematischen Teammitgliedern arbeiten, aber schließlich müssen alle Kandidaten bis auf einen eliminiert werden.
JeffO
@Geek: "hat schon mal ähnlichen Code geschrieben". Vielleicht haben sie einen grob ähnlichen Code geschrieben. Level-Order-Traversal ist eine Variation des Tree-Traversal, die jedem CS-Absolventen vertraut sein sollte. Wenn es Ihnen nicht bekannt ist, haben Sie irgendwo etwas verpasst. Sie haben einen Algorithmuskurs besucht, nicht wahr?
Kevin Cline
@kevin: Level Order Traversal ist einfach, wenn ich die Frage als "Angesichts der Zeitbeschränkung, was sind die Dinge, die Sie überspringen können und die immer noch als gut genug angesehen werden" umformulieren könnte. Ich denke, Chris Bye hat einen großartigen Kommentar zu dieser Frage.
Geek
4

Wenn Leute Sie bitten, einfache Algorithmen in sehr begrenzter Zeit zu codieren, sind Codierungskonventionen und Ausnahmebehandlung das Letzte, was sie sich ansehen. Es sei denn , Sie etwas schrecklich, natürlich tun, wie Ihre Verfahrfunktion Namensgebung func, und alle Variablen a, b, c. Vielleicht gab es einen anderen Grund, warum sie dich nicht zurückgerufen haben.

Natürlich kann jeder eine schlechte Stunde haben. Aber es ist ein schlechtes Zeichen, wenn Sie wahrscheinlich eine schlechte Stunde von den fünf haben, die Sie für mehrere Interviewrunden ausgeben, und wenn Sie sich nicht auf wichtige Aktionen vorbereiten können.

Persönlich denke ich, dass es ein falscher Ansatz ist, etwas zu bekommen, das funktioniert, und es dann zu verbessern. Viele Leute (einschließlich mir) denken, dass eine Person, die Code schreibt, der wie ein Durcheinander aussieht, auch ein Durcheinander im Kopf hat. Ich würde vorschlagen, dass Sie Code langsamer schreiben, aber nachdenklicher.

Und noch persönlicher (und vielleicht beleidigender) denke ich nicht, dass Sie gut genug in Algorithmen sind. Nur weil Sie es als "Algorithmus" mit der Hauptstadt A buchstabieren. Sie buchstabieren nichts, wovor Sie keine Angst haben.

P Shved
quelle
5
Lol .. Ich mochte den letzten Absatz :-) Beachten Sie das Großbuchstaben L in 'Lol'. Es tut mir leid, aber Englisch ist nicht meine Muttersprache. Übrigens habe ich gelernt, dass Algorithmus ohne Großbuchstaben A geschrieben werden muss :-)
Geek