Ich hatte vor kurzem ein Telefoninterview mit einer Firma. Nach diesem Telefoninterview wurde mir gesagt, ich solle eine kurze Programmieraufgabe abschließen (ein kleines Programm; sollte nicht länger als drei Stunden dauern).
Ich würde mit Vorsicht weitermachen. Bewerten Sie die Relevanz der Herausforderung für den Job und stellen Sie sicher, dass sich die zukünftige Erstattung durch den Arbeitgeber für 3 Stunden Ihrer Zeit lohnt.
Ich stelle den Wert dieser Art von Tests in Frage und würde lieber jemanden nach seinen bisherigen Leistungen beurteilen. Eine vordefinierte Kurzaufgabe kann dem Arbeitgeber nichts darüber sagen, was Sie tun können. Nur was man nicht kann, und das lässt sich mit ein paar Fragen schnell am Telefon feststellen.
Testen hat seinen Platz. Stellen Sie sich die folgenden Fragen zum Test und antworten Sie entsprechend.
- Ist die Testmesse auf Ihrem aktuellen Karrierelevel?
- Hat der Test eine klar definierte richtige Antwort?
- Hat der Interviewer ein Interesse an Ihrem Potenzial als Person oder zeigt er mehr Interesse an den Testergebnissen (dh die Personalagenturen sind schrecklich dafür)?
- Stellt der Test die Art von Arbeit dar, die Sie gerne erledigen würden, oder handelt es sich um eine zweideutige Überprüfung der Fähigkeiten (dh testen Sie, ob Sie die Java-Syntax kennen).
Ich werde nur direkt angewiesen, die Aufgabe abzuschließen und den Code abzugeben.
Sie haben gerade Ihre eigene Frage beantwortet.
Sofort plante ich, es auf Github zu werfen, eine Testsuite dafür zu schreiben, Travis-CI (kostenlose fortlaufende Integration für öffentliche Github-Repositorys) zu verwenden, um die Testsuiten auszuführen, und CMake zu verwenden, um die Linux-Makefiles für Travis-CI zu erstellen.
Nein, darum haben sie dich nicht gebeten.
Auf diese Weise kann ich nicht nur zeigen, dass ich die Verwendung von Git, CMake, Travis-CI und das Schreiben von Tests verstehe, sondern ich kann auch einfach einen Link zur Travis-CI-Seite erstellen, damit sie die Ausgabe der Tests sehen können. Ich dachte, das würde es für den Interviewer ein bisschen bequemer machen.
Ich würde darauf achten, Fähigkeiten zu früh oder zu spät im Interviewprozess zu demonstrieren. Wenn Sie das Gefühl haben, dass Sie im Interview nicht gut abgeschnitten haben und jetzt versuchen, dies zu kompensieren, wird es nicht funktionieren. Auf der anderen Seite zeigt zu viel zu tun, wenn nicht zu gefragt, über Eifer. Dies könnte dazu führen, dass der Arbeitgeber mit einem niedrigeren Lohnangebot als erwartet kontert.
Ich bin jedoch etwas besorgt, dass all dies für eine relativ einfache Aufgabe schlecht aussehen würde.
Ja, es sieht schlecht aus. Das Lösen ihrer Herausforderung mit einer Codezeile wird weitaus beeindruckender sein als ein vollständig geleertes Projekt.
Aus meiner Erfahrung ist dies nicht der Weg, wie Sie das Vorstellungsgespräch gewinnen, aber es ist eine Möglichkeit, den Job zu verlieren. Der Code-Test ist ein Problem der Qualitätskontrolle. Jedes Unternehmen, das bei der Einstellung von Mitarbeitern Codetests verwendet, tut dies, weil sie zuvor keine Codetests verwendet haben. Sie hatten eine schlechte Erfahrung damit, dass jemand durch die Ritzen des Interviewprozesses gerutscht ist, die man nicht haben sollte.
Sie nehmen Ihren Quellcode und geben ihn im Büro weiter. Die Leute werden es kommentieren, und Sie möchten nicht, dass sie sagen: "Er hat diesen Fehler gemacht? Aber er hat Zeit mit Git, CMake und Travis-CI verbracht. Was für ein Idiot, diesen Fehler zu verpassen."
Das ist es. Du hast verloren.
Sie wollen wissen, dass Sie codieren können, weil sie Ihnen das nicht beibringen können. Git, CMake und Travis-CI können problemlos unterrichtet werden.