Mir ist klar, dass es viele Diskussionen über diese Art von Dingen gegeben hat, und sie drehen sich oft um das Dogma, ob man dem Typ "100 logische Piraten" Fragen stellt oder ob man sie dazu bringt, "Fizz Buzz" zu schreiben.
Ich bin daran interessiert, welche Techniken und Fragen für Sie bei der Befragung potenzieller Entwickler für Jobs effektiv waren .
Eine Technik pro Antwort, damit wir darüber abstimmen können.
Lassen Sie sie Code schreiben, echten Code.
Der Interviewer lässt Sie möglicherweise die Programmiersprache auswählen, mit der Sie am besten vertraut sind, sei es C ++, Java, C # oder was auch immer, und bittet Sie, ein einfaches Problem zu lösen, z. Wenn Sie Probleme haben, Ihre beste Sprache zu verwenden, um ein einfaches Problem zu lösen, liegt ein Problem vor. Bitte beachten Sie Steve Yegge Blog - Post und insbesondere den Abschnitt „Mental Prep“.
quelle
Lassen Sie sie von mehreren Mitarbeitern Ihres Teams unabhängig voneinander interviewen. Teilen Sie Ihre Gedanken danach mit, sprechen Sie nicht dazwischen, bevor Sie sie interviewen. Dazwischen zu reden wird Ihr Urteil beeinflussen und Sie werden keine unabhängigen Beurteilungen haben.
Für die technischen Leute, die sie interviewen, schreiben sie Code. Versuchen Sie nicht, technische Fragen zu stellen, mit denen Sie nicht vertraut sind. Stellen Sie jedoch sicher, dass mindestens einige Techniker ein Interview führen.
Interviews sollten nicht nur von Managern geführt werden, sondern für jeden Arbeitnehmer, mit dem er in Zukunft zusammenarbeiten wird, von größter Bedeutung sein.
quelle
Ich möchte von einem Interviewpartner erklären lassen, welche Projekte er zuvor durchgeführt hat und was er getan hat. Aus dieser Antwort kann ich folgende Fragen haben: Warum haben sie Dinge auf eine bestimmte Weise getan, wie haben sie ein bestimmtes Problem gelöst, wenn sie eines erwähnt haben, aber am wichtigsten ist, was der Zweck des Projekts war und welches Geschäftsproblem dies löste.
Ich mache das, um zu sehen, ob sie so artikulieren können, dass ich verstehe, was sie getan haben, und um zu sehen, ob sie verstanden haben, was sie auch getan haben.
Es ist überraschend, dass die letzte Frage über den Zweck des Projekts und das Geschäftsproblem viele Leute aufregt. Sie haben keine Ahnung, WARUM das Projekt, an dem sie gearbeitet haben, überhaupt durchgeführt wurde. Wenn Sie nicht wissen, warum Ihr Projekt überhaupt existiert, frage ich mich, ob Sie Lösungen beisteuern oder einfach das tun, was Ihnen gesagt wurde.
(Ich habe mir gedacht, dass ich diese hier reinwerfe, da alle anderen Antworten in der Regel technisch sind. Ich möchte, dass die Leute wissen, warum sie die Probleme lösen, die sie auch lösen. Andernfalls neigen sie dazu, die falschen Probleme zu lösen, die der Endbenutzer nicht tut. ' ist mir egal :)
quelle
Fragen Sie nach einer wichtigen architektonischen Entscheidung
Beispielsweise. Hier ist das Programm x, das y Teilaufgaben gleichzeitig ausführt. Welche würden Sie wählen, eine Multi-Prozess- oder Threading-Struktur.
Was sind die Vor- / Nachteile von beiden? Wie gut würden sie funktionieren und wie könnten sie verwendet werden, um eine Multi-Core-, Multi-Prozessor-Plattform zu nutzen, was ist Ihre persönliche Präferenz? Persönliche Vorurteile können dabei helfen, herauszufinden, ob sie das Wissen jemals anwenden mussten, und ihnen einen Sprungpunkt geben, um ihre Erfahrungen auszutauschen?
Es gibt Unmengen von Fragen, die sich ein Interviewer stellen könnte:
Bei den meisten dieser Themen handelt es sich um die Typen, die eine genaue Kenntnis darüber beinhalten, wie / warum ein Computersystem so funktioniert, wie es funktioniert. Sie alle sind Probleme / Lösungen für Probleme, für die es keine eindeutige Antwort gibt. Sie geben einen Eindruck davon, wie gut diese Person in der Lage ist, sich den jeweiligen Herausforderungen anzupassen oder sie zu bewältigen. Nicht die Art von Konzepten, die ohne praktische Erfahrung leicht aufgegriffen werden können.
Hinweis: Es ist auch ein Muss, dass der Antragsteller einen Pesudo-Code schreibt, aber diese Antwort ist bereits vergeben.
quelle
Geben Sie ihnen einfach einen grundlegenden Code, den Sie auf dem Whiteboard ausführen können - z. B. Implementierung einer verknüpften Liste, Sortieren oder ähnliches.
Sie können beurteilen, wie gut sie mit ihrer Sprache ohne Hilfe des Compilers umgehen können, und Sie können ihren Denkprozess beurteilen (insbesondere, wenn sie so etwas nie implementiert haben - die meisten "neuen" Programmierer haben es nie getan).
quelle
Unterhalten Sie sich, lassen Sie sich auf dem technischen und professionellen Weg treiben und suchen Sie auf dem Weg nach aufschlussreichen oder dummen Kommentaren. Auf diese Weise erhalten Sie 3/4 Ihrer Anforderungen aus einem Interview, einer Einschätzung der Fähigkeiten und der Persönlichkeit der Mitarbeiter, der allgemeinen Intelligenz und einer groben Einschätzung der technischen Fähigkeiten.
Verwenden Sie die "Fragen" Ihres Interviews als Themenstarter und um die Konversation mit technischen Themen in Einklang zu bringen. Möglicherweise müssen Sie die Konversation von Zeit zu Zeit zurücksetzen (z. B. eine Codierungsübung durchführen), um Problembereiche / Interessenbereiche angemessen zu untersuchen.
Der eigentliche Trick bei dieser Technik besteht darin, sicherzustellen, dass sie alle Gespräche führen. Andernfalls riskieren Sie eine positive Bewertung, da Sie sich dadurch schlau fühlen, wenn Sie auf alles hören, was Sie gesagt haben, oder dem zustimmen.
quelle