Sie sagten, dass Sie für Praktikumsstellen in der Frage interviewen, also ist dies von diesem Standpunkt aus gesehen, für Vollzeitentwickler wird die Messlatte ein bisschen höher sein.
Wenn Sie Praktikanten interviewen, müssen Sie bedenken, dass sie möglicherweise ihr Studium noch nicht abgeschlossen haben und möglicherweise auch ohne Vorkenntnisse in Programmierung und Informatik studiert haben. Als solches müssen Sie die Erwartungen an das anpassen, was Sie vernünftigerweise von jemandem erwarten können, und an das Prestige der Position (dh Google kann mit Erwartungen davonkommen, von denen ein Unternehmen, von dem die Leute nichts gehört haben, nichts wissen kann).
Wenn ich mir die von Ihnen gestellten Fragen ansehe, sehe ich sie wahrscheinlich in einem Interview wie folgt:
1) Schreiben Sie eine Funktion, die true zurückgibt, wenn die Dreieckseiten (alle ganzen Zahlen) a, b und c ein rechtwinkliges Dreieck darstellen können.
Grundlegende Anwendung der Geometrie mit einfacher Codierung, die meisten Schüler sollten dies ohne große Schwierigkeiten können. Allenfalls eine Erinnerung an den Satz von Pythagoras könnte erforderlich sein, wenn sie etwas Stress zeigen, weil sie in einem Interview sind. Dies könnte fast als ein "Ego Boost" -Problem angesehen werden, da es einigen Leuten helfen kann, sich zu beruhigen, wenn sie sehr nervös sind, wenn sie in das Interview gehen.
2) FizzBuzz
Wieder eine andere Anwendung einiger grundlegender Steueranweisungen. Schüler, die mit dem Modul-Operator nicht vertraut waren oder ihn nicht häufig verwendeten, müssen möglicherweise daran erinnert werden, sollten jedoch keine wirklichen Probleme bei der Lösung des Problems haben.
3) Berechnen Sie das N-te Element von Fibonacci mithilfe der Rekursion (wenn sie nicht wüssten, was Fibonacci ist, würde ich ihnen sogar die Definition F (n) = F (n-1) + F (n-2) schreiben; F (1) ) = 1; F (0) = 1).
Dies ist in der Regel ein recht häufiges Problem, sodass die meisten (wenn nicht alle) Schüler es irgendwann vor dem Abschluss bemerken. Der Haken ist, dass es normalerweise angezeigt wird, wenn den Schülern eine Rekursion präsentiert wird, da es sich gut eignet, oder eine rekursive oder schleifenbasierte Lösung, die dann verglichen werden kann, so dass Schüler aus verschiedenen Schulen es zu unterschiedlichen Zeiten sehen können, abhängig von der Reihenfolge der Kurse. In der Praxis würde ich, wenn sich jemand das Rekursive nicht einfallen lassen würde, nach einer Alternative mit Schleifen fragen, und wenn er sich das nicht einfallen lassen würde, wäre ich besorgter über seine möglichen Fähigkeiten.
4) Implementieren Sie die Strukturliste für die Ganzzahl- und Schreibfunktion, um sie umzukehren.
Diese Frage könnte tatsächlich ein bisschen zu offen sein, wie sie geschrieben steht, sodass es auch eine gute Frage sein könnte, um zu sehen, wie der Kandidat zusätzliche Informationen sucht (z. B. sollten Löschfunktionen enthalten sein, in Arrays konvertiert werden usw.), aber einen Brunnen gegeben Defined Problem Statement ("Implementieren Sie eine grundlegende Listenstruktur für Ganzzahlen, mit der Zahlen am Ende oder an einem beliebigen Index hinzugefügt, gelöscht und mit einer Funktion zum Zurückgeben einer umgekehrten Kopie der Liste versehen werden können") Die Schüler sollten in der Lage sein, zu lösen das Problem, solange Listen eine gemeinsame Struktur sind, die entweder in einem frühen Kurs über Datenstrukturen oder in einem frühen Kurs über grundlegende Informatik präsentiert wird.
Achten Sie im Umgang mit den Kandidaten darauf, dass sie entspannt sind, wenn sie Probleme haben, und lassen Sie ihnen ein wenig Nachsicht zu, da sie möglicherweise nur Leistungsangst haben, da dies möglicherweise ihr erstes wirkliches Interview ist. Möglicherweise sind Tipps zur Lösung der Probleme erforderlich. Dies gilt insbesondere für das dritte und vierte Problem im Gegensatz zu den ersten beiden.
Strukturieren Sie außerdem den gesamten Interviewprozess so, dass "elegante Ausstiegspunkte" integriert sind. Beispielsweise haben Sie möglicherweise die folgende Agenda:
- Treffen und Begrüßen, Interviewverfahren.
- Kurzinterview mit Mitarbeiterprogrammierer (n), Grundfragen zum Hintergrund.
- Vorstellung des Programmierquiz.
- Brechen
- Rückkehr aus der Pause, Entlassung einiger Kandidaten, die nicht gut passen.
- Erweitertes Interview mit Programmierern.
- Interview mit der Personalabteilung (falls erforderlich).
- Einpacken.
Dieser Interviewablauf funktioniert in der Regel gut, wenn Sie Kandidaten vorzeitig entlassen möchten, da sie von Anfang an wissen, dass sie nach der Pause möglicherweise entlassen werden. Das kurze Interview vor dem Quiz bedeutet auch, dass sie nicht nur zum Test erscheinen, was ihnen einige Interviewübungen einbringt und ihnen möglicherweise auch erlaubt, zu entscheiden, dass sie nicht gut passen. Wenn andere Programmierer das Quiz beobachten oder den Kandidaten dabei unterstützen, haben sie auch die Möglichkeit, den Kandidaten während einer kurzen Pause zu bestehen oder nicht zu bestehen.
Zu jeder Zeit, wenn Sie für ein Praktikum interviewen und die Kandidaten Studenten sind, müssen Sie sich daran erinnern, dass sie noch Studenten sind und möglicherweise nicht viel Übung mit Interviews haben (was zu möglichen Leistungsangst führen kann) und möglicherweise auch nicht den Punkt erreicht haben, an dem sie studieren Sie können sogar die Fragen beantworten, was bedeutet, dass es eine gute Idee sein könnte, sie mit einer Kopie der "idealen Lösung (en)" für die Probleme, die sie haben, auf den Weg zu schicken.