
Im letzten Jahr habe ich die letzten zwei Monate mit der Vorbereitung auf das Vorstellungsgespräch für das Praktikum bei Google (Google Internship) verbracht. Alles lief gut: Ich habe sowohl den Job als auch wertvolle Erfahrungen erhalten.
Jetzt, zwei Monate nach dem Praktikum, möchte ich das Dokument teilen, das ich zur Vorbereitung auf die Vorstellungsgespräche verwendet habe. Für mich war es eine Art Spickzettel vor der Prüfung. Aber der Prozess der Erstellung des Dokuments und das ständige Schritt-für-Schritt-Überprüfen haben mir geholfen, alles Wichtige zu behalten.
Ich bin mir sicher, dass jeder in der Lage ist, erfolgreich an Vorstellungsgesprächen bei großen Technologiefirmen teilzunehmen, man muss nur etwas Zeit investieren, um zu verstehen, wie diese Vorstellungsgespräche ablaufen, und sich darauf vorzubereiten.
Mein Spickzettel reicht aus, um sich auf jedes technische Vorstellungsgespräch vorzubereiten, sei es bei Google, einem Start-up oder deinem ersten Praktikum. Er wird dir helfen, dich sowohl während der Vorbereitung als auch im Vorstellungsgespräch sicherer zu fühlen.
Wir empfehlen kostenlose Intensivkurse zur Programmierung für Anfänger:
— 8.–10. August;
— 12.–14. August;
— 15.–17. August
Spickzettel für technische Vorstellungsgespräche
Webseiten
Auf dieser Plattform kannst du üben, Vorstellungsgespräche zu führen. Die Teilnehmer interviewen sich abwechselnd (es gibt Audio- und Video-Kanäle) und können einen gemeinsamen Code-Editor nutzen. Wahrscheinlich wirst du bei den ersten solchen Vorstellungsgesprächen Schwierigkeiten haben und dich unbehaglich fühlen. Aber je mehr du übst, desto sicherer wirst du sie meistern, und das echte Vorstellungsgespräch wird danach einfach erscheinen.
Gute Fragen von echten Vorstellungsgesprächen bei Facebook, Google, Microsoft usw. Ich empfehle, diese Website zusammen mit Coding-Praktikressourcen zu nutzen, einschließlich des Studiums der algorithmischen Komplexität.
Bücher
Cracking the Coding Interview
Meine Lieblingsabschnitte: Interview Preparation Grid (S. 32), der Abschnitt über Verhaltensweisen im Vorstellungsgespräch sowie Interview Questions: Data Structures (S. 88–107). Wenn du den Begriff „algorithmische Komplexität“ noch nie zuvor gehört hast, ist jetzt der beste Zeitpunkt, das Buch führt hervorragend in das Thema ein.
Was solltest du im Vorstellungsgespräch tun?
- Schalte nicht aus der Kommunikation und antworte ehrlich. Wenn du über die Frage nachdenkst, denker laut und beschreibe den Verlauf deiner Gedanken.
- Fügen Sie etwas Humor in Ihre Kommunikation ein, scheuen Sie sich nicht zu scherzen. Versuchen Sie, das Gespräch zu genießen.
- Notieren Sie wichtige Informationen.
- Stellen Sie Fragen und versuchen Sie, das zu nutzen, was Sie vom Interviewer gelernt haben.
Das Vorstellungsgespräch Schritt für Schritt
Hier ist eine Checkliste zur Vorbereitung auf die Antworten im Vorstellungsgespräch. Nicht alle Punkte müssen verwendet werden, überspringen Sie die, die Ihnen unnötig erscheinen. Wichtig ist, dass Sie gesunden Menschenverstand einbringen. Selbst wenn Sie nicht bis zum Ende der Liste kommen, ist das nicht schlimm.
- Lesen Sie die Frage.
- Analysieren Sie alle Daten, sowohl Eingaben als auch Ausgaben, und achten Sie auf Nebenwirkungen.
- Klären Sie den Kern der Aufgabe und äußern Sie Ihre Vermutungen, damit der Interviewer den Verlauf Ihrer Gedanken versteht. Zum Beispiel, welche Datenmengen zu erwarten sind und wer die Nutzer sein werden.
- Suchen Sie ein Beispiel und erläutern Sie es dem Interviewer, um sicherzustellen, dass Sie die Aufgabe richtig verstehen. Scheuen Sie sich nicht, Zeit darauf zu verwenden, die Bedingungen der Aufgabe zu durchdringen. Je besser Sie sie verstehen, desto schneller finden Sie die optimale Lösung.
- Entwickeln Sie einen Algorithmus. Versuchen Sie, eine ähnliche, aber weniger komplexe Aufgabe zu lösen. Notieren Sie Ihre Gedanken und analysieren Sie Beispiele in einem Entwurf.
- Gehen Sie Ihren Algorithmus mit Beispielen durch, um sicherzustellen, dass der Code korrekt funktioniert. Überprüfen Sie alle kritischen und Grenzfälle.
- Bewerten Sie die Komplexität des Algorithmus sowohl hinsichtlich der Zeit- als auch der Speicherkomplexität.
- Wenn es Ihnen gelungen ist, eine effizientere Lösung für das Problem zu finden, dann kehren Sie zu Punkt 4 zurück.
- Schreiben Sie die Lösung unter Verwendung des gewählten Algorithmus. Teilen Sie das Problem in mehrere Methoden auf, wenn dies im konkreten Fall möglich ist.
- Überprüfen Sie den Code auf Fehler.
- Denken Sie darüber nach, wie die Implementierung des Algorithmus mit kritischen und Grenzfällen umgeht.
- Überprüfen Sie die Implementierung anhand eines Beispiels und durchsuchen Sie den Code nach Fehlern.
- Sobald Sie sichergestellt haben, dass der Code korrekt ausgeführt wird, überprüfen Sie seine Sauberkeit und Stil.
Das ist also alles!
Quelle: habr.com
