Wie mache ich Fortschritte beim Lernen für Coding-Interviews?

Feststecken macht nie Spaß. Vor allem, wenn Sie sehr hart arbeiten. Und doch finde ich, dass dies immer wieder Menschen passiert, die sich auf das Codieren von Interviews vorbereiten.

Sie haben konsequent gearbeitet. Sie haben Hunderte von Übungsproblemen durchlaufen und jeden Tag eine Stunde zum Lernen gesperrt. Aber du machst einfach keine Fortschritte.

Selbst nach all diesen Vorbereitungsarbeiten haben Sie das Gefühl, dass jedes Problem eine neue Herausforderung ist, die Sie nicht genau lösen können. Sie können die Probleme die meiste Zeit lösen, aber es fühlt sich nicht so an, als würde es einfacher werden.

Wenn ich mit 1: 1-Coaching-Kunden zusammenarbeite, ist dies genau die Situation, in der ich sie oft vorfinde. Und in fast allen Fällen erleben sie große Durchbrüche, wenn wir das oder die Dinge identifizieren, die sie zurückhalten. Das Lösen dieser Probleme hat meinen Kunden Jobs bei Amazon, Bloomberg, Uber und mehr eingebracht!

Was genau hält Sie zurück? Was hindert Sie daran, die gewünschten Fortschritte zu erzielen? In diesem Artikel zeige ich Ihnen die zehn häufigsten Probleme, mit denen Menschen zu kämpfen haben. Faire Warnung: Es kann sehr schwierig sein, diese Probleme in sich selbst zu identifizieren. Wenn Sie Ihre Probleme wirklich durchbrechen möchten, empfehle ich, mit einem Coach zusammenzuarbeiten.

1. Entwickeln Sie ein starkes Fundament

Ich habe bereits zuvor über dieses Problem gesprochen, aber einer der wichtigsten Schlüssel zum Erfolg beim Codieren von Interviews ist, dass die Grundlagen der Informatik stark verankert sind.

Im Laufe der Zeit habe ich viele verschiedene Techniken entwickelt, um meinen Schülern zu helfen, ihre Probleme in ihren Interviews zu lösen, wie zum Beispiel die FAST-Methode. Keine dieser Techniken ist jedoch nützlich, wenn Sie keine soliden Grundlagen haben.

Beispielsweise soll die FAST-Methode den Schülern bei der dynamischen Programmierung helfen. Der erste Schritt der FAST-Methode besteht darin, eine erste rekursive Brute-Force-Lösung zu finden. Dies ist etwas, das Sie alleine tun müssen, damit die FAST-Methode für Sie von Nutzen ist. Selbst wenn Sie die Methodik verstehen, hilft es Ihnen nicht, wenn Sie nicht wissen, wie Sie diese anfängliche Lösung erhalten.

Wenn Sie über solide Fundamentaldaten verfügen, dürfte die Rekursion für Sie nicht schwierig sein. Es ist ein Thema, das häufig genug auftaucht, damit Sie es auspeitschen können, wann immer Sie möchten.

Dies ist bei allen anderen grundlegenden Datenstrukturen und Algorithmen der Fall. Wenn Sie nicht wissen, wie eine verknüpfte Liste implementiert wird, spielt es keine Rolle, wie viele Tricks Sie zum Lösen von Problemen mit verknüpften Listen lernen.

Wenn Ihnen ein formaler Informatik-Hintergrund fehlt oder Sie einfach feststellen, dass die empfohlenen Problemlösungstechniken für das Codieren von Interviews nicht wirklich hilfreich sind, sollten Sie sich zunächst dem Erlernen aller grundlegenden Datenstrukturen und Algorithmen widmen.

Der beste Weg, dies zu tun, besteht darin, entweder den Kurs MIT (Python) oder Princeton (Java) für Datenstrukturen und Algorithmen zu belegen. Kaufen Sie das Buch, erledigen Sie die Aufgaben und legen Sie die Prüfungen ab. Wenn Sie sich an die Arbeit machen, können Sie den Kurs problemlos in maximal 3 Monaten abschließen und haben eine solide Grundlage, um voranzukommen.

2. Holen Sie sich mehr Codiererfahrung

Haben Sie jemals versucht, zum ersten Mal etwas zu tun? Als ich zum ersten Mal Gitarre lernte, brauchte ich 30 Sekunden, um einen Grundakkord zu fingern. Theoretisch könnte ich jedes Lied spielen, wenn ich genug Zeit hätte und die Akkordkarten vor mir hätte, aber es würde nicht sehr gut klingen.

Manchmal arbeite ich mit Schülern, die mit ihrer Kodierung in einer ähnlichen Position sind. Sie haben einfach noch kein Niveau erreicht, in dem sie den Code in ihrem Interview leicht aufschreiben können.

Theoretisch sollte die Codierungskomponente des Interviews der einfache Teil sein. Solange Sie an einem Whiteboard geübt haben, sollte der schwierige Teil Ihres Interviews darin bestehen, zunächst eine Lösung zu entwickeln, bevor Sie jemals eine Codezeile schreiben. Wenn dies nicht der Fall ist, müssen Sie wahrscheinlich Ihre Codierungsfähigkeiten verbessern.

Es gibt auch Gruppen, die von diesem Problem stärker betroffen sind als andere. In erster Linie diejenigen, die weniger Erfahrung im Codieren haben. Ich sehe oft Bootcamp-Absolventen, Masterstudenten, die aus einem anderen Bereich in die Informatik wechselten, oder Langzeitmanager, die sich in einer Weile einfach nicht mehr mit dem Codieren auseinandersetzen.

Der Schlüssel hier ist einfach, mehr Übung beim Codieren zu bekommen, und dies idealerweise in einer Umgebung, in der Sie ein gutes Feedback zu Ihrem Code erhalten. Eine der besten Möglichkeiten, dies zu tun, besteht darin, einen Beitrag zu Open Source-Projekten zu leisten. Dies ist nicht nur eine großartige Möglichkeit, Ihre Erfahrungen zu demonstrieren, sondern Sie erhalten auch den Vorteil, dass Sie gründliche Codeüberprüfungen durchführen und lernen, wie Sie in einer Produktionsumgebung arbeiten.

Wenn Sie neu in der Arbeit mit Open Source sind, ist First Timers Only eine großartige Ressource für diejenigen, die den Einstieg suchen. Sie teilen Tutorials darüber, wie man einen Beitrag leistet, und haben eine Liste potenzieller Projekte zusammengestellt, die für Anfänger geeignet sind.

3. Gehen Sie jede Interviewfrage strategisch an

Wenn ein General in die Schlacht zieht, hat er einen detaillierten Plan. Wenn Sie ein erfolgreiches Vorstellungsgespräch führen möchten, benötigen Sie auch einen detaillierten Plan.

Der gebräuchlichste Plan zur Lösung von Interviewproblemen sieht ungefähr so ​​aus:

  1. Schau dir das Problem an
  2. Denken Sie über das Problem nach
  3. Kommen Sie mit einer Lösung
  4. Schreiben Sie die Lösung
  5. Erfolg

Bemerken Sie hier jedoch ein Problem? Hoffentlich haben Sie als Erstes gefragt: „Wie finde ich eine Lösung?“ In diesem Plan fehlt jede Strategie, um eine Lösung zu finden. Es wird davon ausgegangen, dass die Lösung nur angezeigt wird.

Und so denken die meisten Menschen über Interviewprobleme. Sie merken sich Unmengen von Lösungen, in der Hoffnung, dass einer von ihnen dem Problem ähnelt, mit dem sie in ihrem Interview konfrontiert sind, dass eine Lösung auf magische Weise eintreten wird.

Das ist bestenfalls riskant.

Ein weitaus besserer Weg, ein Interview zu führen, besteht darin, einen klaren Plan zu haben, wie Sie mit jedem Interview und jedem Problem innerhalb des Interviews umgehen. Hier ist eine grobe Übersicht darüber, wie Sie sich einem einstündigen Interview nähern können:

[0: 00–0: 05] Machen Sie es sich bequem und vergewissern Sie sich, dass Sie das gestellte Problem vollständig verstehen. Arbeiten Sie die bereitgestellten Beispieleingaben durch.

[0: 05–0: 10] Finden Sie eine Brute-Force-Lösung für das Problem. An dieser Stelle gibt es keine Kodierung. Sprechen Sie einfach durch und zeichnen Sie Bilder, wenn Sie dies hilfreich finden. Wenn Sie keine Brute-Force-Lösung finden, versuchen Sie, das Problem von Hand zu lösen und Ihren Lösungsprozess in einen Algorithmus zu übersetzen.

[0: 10–0: 15] Optimieren Sie Ihre Lösung. Nehmen Sie sich diese 5 Minuten Zeit, um die absolut beste Lösung für diesen Zeitraum zu finden. Berücksichtigen Sie beim Vergleich von Lösungen die zeitliche Komplexität.

[0: 15–0: 35] Codieren Sie Ihre Lösung. Auch wenn es nicht optimal ist, ist es besser, eine vollständige, nicht optimale Lösung zu haben als eine unvollständige, optimale Lösung.

[0: 35–0: 50] Testen Sie Ihren Code und beheben Sie alle Probleme. Das ist unglaublich wichtig. Es spielt keine Rolle, ob Ihr Code beim ersten Mal nicht perfekt ist, aber Sie sollten die Fehler besser identifizieren können.

[0: 50–1: 00] Fragen an Ihren Interviewer.

Wenn Sie diese Schritte ausführen, erreichen Sie zwei Dinge gleichzeitig. Zunächst planen Sie Ihre Zeit effektiv ein. Das Frustrierendste auf der Welt ist, dass die Zeit knapp wird, wenn Sie das Problem vollständig lösen können.

Zweitens können Sie mit diesen Schritten sicherstellen, dass Sie immer zu einer Lösung gelangen. Wenn Sie mit der Brute-Force-Lösung beginnen und optimieren, können Sie fast garantieren, dass Sie zumindest eine Lösung finden. In vielen Fällen ist die optimale Lösung nicht erforderlich, wenn Sie im weiteren Verlauf des Interviews gute Ergebnisse erzielen.

4. Betrachten Sie verschiedene mögliche Lösungen

Wussten Sie, dass die meisten Interviewfragen mehr als eine richtige Lösung haben? Ich weiß, Schockierer, richtig? Viele Menschen finden jedoch eine Lösung und hören einfach dort auf, ohne weiter zu suchen.

Das enttäuscht mich immer. Oft gibt es eine andere Lösung, die noch besser gewesen wäre und die so nah beieinander lag. Oder es gab vergleichbare Lösungen mit unterschiedlichen Kompromissen.

Betrachten Sie beispielsweise dieses Problem:

  • Eine Lösung hat O (n) Zeitkomplexität und O (1) Raumkomplexität
  • Eine andere Lösung hat O (log n) Zeitkomplexität und O (log n) Raumkomplexität

Welche dieser Lösungen ist besser?

Nun, das hängt davon ab, wonach wir eigentlich suchen. Wenn wir einen riesigen Datensatz und nicht viel Speicher haben, ist die erste Lösung möglicherweise besser. Wenn Speicher jedoch kein Problem ist, möchten wir natürlich mit der zweiten Lösung fortfahren.

Der Schlüssel dabei ist, dass es in einigen Fällen zwar eine „beste“ Lösung gibt, es jedoch weitaus mehr Probleme gibt, bei denen Sie unterschiedliche Kompromisse eingehen und sich entscheiden müssen, welche. Als Interviewer sehe ich gerne Kandidaten, die die verschiedenen Möglichkeiten abwägen.

Nehmen Sie sich einen Moment Zeit, um über andere Möglichkeiten nachzudenken, wie Sie dasselbe Problem lösen können, wenn Sie Lösungen finden. Könnten Sie Kompromisse eingehen, die den Platzbedarf im Verhältnis zur Zeit verbessern würden oder umgekehrt?

Schließlich sollten Sie immer die räumliche und zeitliche Komplexität jeder von Ihnen entwickelten Lösung berücksichtigen. Auf diese Weise können Sie objektiv beurteilen, welche Lösungen besser als andere sind, und fundiertere Entscheidungen über die zu wählende Lösung treffen. Wenn Sie mehrere vergleichbare Lösungen haben, besprechen Sie diese mit Ihrem Interviewer und entscheiden Sie gemeinsam, welche Lösung die bessere ist.

5. Beginnen Sie mit der Brute-Force-Lösung

Ich habe dies bereits in Tipp 3 erwähnt, aber einer der größten Fehler, den die Leute bei der Lösung von Interviewproblemen machen, ist, dass sie sofort versuchen, die bestmögliche Lösung für das Problem zu finden.

Aber lassen Sie mich Folgendes fragen: Was ist besser, eine Brute-Force-Lösung oder keine Lösung?

Ich sage Ihnen, dass es 1000% besser ist, eine Brute-Force-Lösung zu finden, als überhaupt keine Lösung zu finden. Und wenn Sie sofort versuchen, die optimale Lösung zu finden, kann es leicht passieren, dass Sie nicht weiterkommen und bis zum Ende des Interviews keine vollständige Lösung finden.

Ich empfehle, zumindest kurz zu erwähnen, wie Sie das Problem mit einer Brute-Force-Lösung lösen können, bevor Sie versuchen, Ihre Lösung zu optimieren. Damit werden zwei wichtige Dinge erreicht:

  1. Es gibt Ihnen einen Fallback-Plan. Wenn Sie versuchen, Ihre Lösung zu optimieren und scheitern, können Sie nach 5 oder 10 Minuten aufhören und einfach Ihre Brute-Force-Lösung codieren. Sie könnten das Interview trotzdem bestehen. Nicht alle Probleme haben optimale Lösungen.
  2. Es hilft Ihnen, das Problem zu klären. Das Definieren einer Brute-Force-Lösung kann Ihnen dabei helfen, genau zu verstehen, worum es bei der Entwicklung einer Lösung für dieses Problem geht. Das ist der Schlüssel. Wenn Sie das Problem auf diese tiefe Weise verstehen, ist die Optimierung einfacher.

Der Versuch, sofort eine optimale Lösung zu finden, scheint der richtige Ansatz zu sein, da er wertvolle Zeit spart. Ich finde jedoch, dass die Verwirrung, die sich aus dieser Vorgehensweise ergibt, oft viel mehr Zeit verschwendet, als Sie gewinnen.

Wenn Sie mit einer Brute-Force-Lösung beginnen, erhalten Sie Klarheit und einen Ausgangspunkt, um alles andere einfacher zu machen.

6. Planen Sie die vollständige Lösung, bevor Sie programmieren

Es gibt einige super schicke Whiteboards da draußen. Es besteht jedoch die Möglichkeit, dass das Whiteboard, das Sie verwenden werden, keine Kopier- und Einfügeoption hat. Das bedeutet, dass Sie einen guten Überblick über Ihren Code haben möchten, bevor Sie ihn schreiben.

Oft tauchen Leute direkt in das Schreiben von Code ein, sobald sie in ihrem Interview nach einem Problem gefragt werden. Jetzt ist es völlig in Ordnung, wenn Sie Ihre Methode im Voraus definieren möchten. Dies sollte jedoch der Umfang des Codes sein, den Sie schreiben, bis Sie die Lösung vollständig ausgearbeitet haben. Mehr Code zu schreiben ist aus zwei Gründen ein kritischer Fehler.

Erstens haben Whiteboards, wie gesagt, keine Copy-Paste-Funktion. Das bedeutet, dass Sie, wenn Sie Codezeilen verschieben möchten, diese entweder löschen und neu schreiben oder Pfeile zeichnen müssen, die über den gesamten Bereich verlaufen. Sie möchten nicht, dass Ihr Whiteboard so aussieht:

Die Organisation des Whiteboards ist für Sie und Ihren Interviewer einfacher. Es ist für sie einfacher, Ihre Lösung zu verstehen, und es ist für Sie viel einfacher, den Überblick zu behalten, was gerade passiert. Und wenn Sie sich stattdessen dazu entschließen, Dinge neu zu schreiben, verschwenden Sie eine Menge wertvoller Zeit.

Das andere Problem beim Codieren von Anfang an ist, dass Sie auf eine bestimmte Art und Weise über das Problem nachdenken können. Wir werden in Punkt 7 weiter darauf eingehen, aber dies kann für Ihre Interviewleistung unglaublich schädlich sein.

Stellen Sie sich vor, Sie sehen ein Problem und sofort fällt Ihnen eine Lösung ein. Sie fangen an, es zu codieren, aber Sie stellen fest, dass es nicht mehr optimal ist. Es ist unwahrscheinlich, dass Sie alles löschen und neu beginnen möchten. Und selbst wenn Sie dies tun, werden Sie an diese Denkweise gebunden sein.

Es gibt Probleme, bei denen die optimale Lösung völlig unabhängig von der Brute-Force-Lösung ist und Versuche, die Brute-Force-Lösung zu optimieren, fehlschlagen. Wenn Sie warten, bis Sie mit dem Codieren beginnen, vermeiden Sie es, sich auf diese eine Sichtweise des Problems einzulassen.

Aus diesen Gründen empfehle ich Ihnen immer, die Lösung, die Sie codieren möchten, vollständig zu verstehen, bevor Sie den Code schreiben. Zeichnen Sie Bilder, schreiben Sie Pseudocode, tun Sie alles, um die Lösung zu verstehen. Sobald Sie mit dem Codieren beginnen, sollte es trivial sein, da Sie bereits genau wissen, was Sie schreiben müssen.

7. Denken Sie an das große Ganze

Eines der größten Probleme für erfahrene Entwickler ist, dass sie mit einem Problem völlig im Unkraut stecken bleiben. Sie überlegen, ob die Schleife

Dies ist ein perfektes Beispiel dafür, wie man den Wald vor lauter Bäumen verliert. Die Frage, die sie zu lösen versuchen, lautet: "Wie schreibe ich diese Schleife richtig?" Anstatt: "Welchen Zweck erfüllt diese Schleife im größeren Kontext meines Codes?"

Ein perfektes Beispiel hierfür ist ein Problem, bei dem Sie versuchen, die falsche Datenstruktur zu verwenden. Angenommen, Sie speichern die von 1-N indizierten Werte und möchten eine HashMap verwenden. Sie können 1 -> Wert1, 2 -> Wert2 usw. einfügen.

Aber jetzt, wenn Sie sie der Reihe nach durchlaufen möchten, wird es schwierig, da Sie alle Elemente aus der HashMap abrufen und sortieren müssen. Wenn Sie jedoch einen Schritt zurückgegangen sind und sich angesehen haben, was Sie tatsächlich tun möchten, möchten Sie nur den Wert in jedem Index speichern und diese durchlaufen. Ein Array wäre eine viel einfacher zu verwendende Datenstruktur.

Jetzt denkst du vielleicht: „Ich würde so etwas nie dummes machen“, aber vertrau mir, es passiert die ganze Zeit. Ihr Denkprozess ist nicht linear, wenn Sie Probleme lösen. Möglicherweise haben Sie gedacht, dass Sie eine HashMap benötigen, weil Sie eine andere Denkrichtung gewählt haben, die Sie inzwischen aufgegeben haben.

Aus diesem Grund ist es so wichtig, von Zeit zu Zeit anzuhalten, insbesondere wenn Sie anfangen, etwas zu tun, das schwierig erscheint, und auf das Gesamtbild Ihrer Bemühungen zurückblicken. Wenn Sie etwas tun, das Ihnen unnötig kompliziert erscheint, schauen Sie sich Ihr Endziel an und prüfen Sie, ob Sie Ihren Ansatz vereinfachen können.

8. Nutzen Sie die Abstraktion zu Ihrem Vorteil

Ich liebe es, komplizierte Interviewprobleme zu stellen. Wenn ein Problem mehrere verschiedene Komponenten umfasst, erhalten Sie als Interviewer so großartige Einblicke in die Art und Weise, wie ein Kandidat sein Denken verwaltet, wenn so viel auf einmal erledigt werden muss.

Der Schlüssel zur erfolgreichen Lösung dieser Probleme ist die Verwendung der Abstraktion. Im Kern bedeutet dies, Ihren Code in kleinere Funktionen mit spezifischeren Zwecken aufzuteilen.

Betrachten Sie ein einfaches Beispiel. Nehmen wir an, wir wollten eine verknüpfte Liste in umgekehrter Reihenfolge ausdrucken. Nachdem wir dieses Problem durchgearbeitet haben, stellen wir fest, dass es eine O (n) Zeit- und Raumlösung für das Problem gibt, indem wir einen Stapel verwenden (jedes Element auf den Stapel schieben, während wir über die Liste iterieren und dann jedes Element platzieren und drucken), aber wir können Lösen Sie das Problem in O (n) Zeit und O (1) Raum, indem Sie die verknüpfte Liste umkehren.

Jetzt wäre es einfach genug, die verknüpfte Liste in unserem Code umzukehren, aber was wäre, wenn wir eine Funktion hätten, die das für uns erledigt? Das würde unser Leben viel einfacher machen. Wir rufen einfach die Funktion in der verknüpften Liste auf, iterieren über alles in der Liste und drucken sie aus. Anschließend kehren wir die Liste erneut um, damit wir unsere Eingabe in den ursprünglichen Zustand zurückversetzen.

Mit dieser Logik können wir nun den Prozess des Umkehrens einer verknüpften Liste isolieren und darüber nachdenken, wie dies effektiv durchgeführt werden kann. Dieses Problem ist zwar ein sehr einfaches Beispiel, es ist jedoch leicht zu erkennen, wie sich die Komplexität verringert, über die wir zu einem bestimmten Zeitpunkt nachdenken müssen.

Bei komplizierteren Problemen empfehle ich Ihnen, sich die Frage zu stellen: „Welche Funktion würde mir das Leben jetzt leichter machen, wenn sie existiert?“ Wenn es eine oder mehrere eindeutige Funktionen gibt, schreiben Sie Ihren Code, sofern diese Funktionen bereits existieren. Danach können Sie zurückgehen und diese Funktionen implementieren, da der Rest Ihres Codes bereits funktioniert.

Dies hat mehrere Vorteile:

  1. Wenn Ihnen die Zeit ausgeht, haben Sie immer noch einen funktionierenden Code. Durch Abstraktion können Sie sich auf die Gesamtstruktur konzentrieren, ohne sich in den Details festsetzen zu müssen. Wenn Sie zusätzliche Zeit haben, können Sie sich um die Kleinigkeiten kümmern, aber auch wenn Sie dies nicht tun, ist es Ihrem Interviewer klar, dass Sie wissen, was los ist.
  2. Klarheit des Denkens und des Codes. Sie sagen, dass ein klarer Schreibtisch einen klaren Verstand bedeutet und dasselbe gilt für Code. Je besser Sie Ihren Code organisieren und in verwaltbare Komponenten aufteilen, desto einfacher fällt es Ihnen, darüber nachzudenken.

Ich bin der Meinung, dass es umso wertvoller ist, die Dinge in handhabbare Komponenten aufzuteilen, je größer das Problem ist.

9. Testen Sie Ihren Code

Wenn wir etwas Neues machen, neigen wir dazu, viele Dinge zu vergessen, die wir bereits kennen. Wir gehen davon aus, dass die Dinge, die wir bereits kennen, nicht zutreffen.

Betrachten Sie dieses Beispiel: Ich habe in meiner Freizeit gelernt, Gitarre zu spielen. Ich hatte Mühe, Fortschritte zu erzielen, und bat meinen Lehrer um Hilfe. Er schlug mir vor, einige Ziele aufzuschreiben, die ich erreichen wollte. "DUH". Ich schreibe die ganze Zeit über so etwas, aber es gelang mir nicht, den Zusammenhang zwischen der Vorbereitung auf das Coding von Interviews und dem Üben der Gitarre herzustellen.

Auf die gleiche Weise habe ich festgestellt, dass viele Schüler vergessen, die Best Practices, die sie aus der Codierung in der Praxis kennen, auf ihre Interviews anzuwenden. Sie gehen davon aus, dass die Codierungsinterviews völlig anders sind, sodass die Dinge, die sie normalerweise tun, nicht zutreffen.

Eines der Dinge, die Menschen die ganze Zeit vergessen, ist das Testen ihrer Interviewlösung. Aber würden Sie jemals Code in der realen Welt schreiben, ohne ihn zuerst gründlich zu testen?

Sie testen Ihren Code, weil Sie sicherstellen möchten, dass er korrekt ist und das tut, was Sie für richtig halten. Dies ist im stressigen Umfeld eines Interviews umso wichtiger, als Sie anfälliger für Fehler sind.

Der Schlüssel zum Testen Ihrer Lösungen besteht darin, den Code Zeile für Zeile durchzugehen, die Werte jeder Variablen zu verfolgen und den Code effektiv „auszuführen“. Wenn Sie den Code nur auf hoher Ebene durchlesen, können Sie sehr leicht kleinere Probleme mit Ihrem Code übersehen. Ich habe ein Video aufgenommen, in dem genau gezeigt wird, wie Sie Ihren Code durchgehen und testen.

Ich finde, dass viele Schüler beim ersten Mal den Stress haben, dass ihr Code perfekt ist, und obwohl dies ein gutes Ziel ist, passiert es selten. In der realen Welt passiert das so gut wie nie. Warum sollten Sie also damit rechnen, dass es in der stressigeren Umgebung des Interviews passiert? Wenn Sie Ihren Code jedoch gründlich testen, können Sie alle Fehler beheben und erhalten trotzdem eine A + -Lösung.

10. Holen Sie sich ein gutes Feedback

Das Durchführen von Interviews in der Praxis ist eine großartige Möglichkeit, das Interview zu verbessern. Sie können sich mit der Erfahrung wohler fühlen und sich viele Gelegenheiten geben, erfolgreich zu sein. Eine häufig empfohlene Strategie ist es, eine Menge Interviews mit denjenigen zu planen, auf die Sie sich am wenigsten freuen. Auf diese Weise üben Sie Interviews, bei denen Ihnen das Ergebnis nicht wirklich wichtig ist, damit Sie besser vorbereitet sind, wenn wichtige Interviews stattfinden.

Obwohl ich denke, dass diese Strategie ihre Vorzüge hat, gibt es einen schwerwiegenden Fehler: Unternehmen sind notorisch schlecht darin, Ihnen ein aussagekräftiges Feedback zu geben.

„Also“, könnte man sagen, „wen interessiert das? Ich kann nur meine eigene Leistung beurteilen. “

Nun ja, das stimmt, aber es kann sehr schwer sein, sich selbst zu beurteilen. Sie wissen nicht, nach welchen Kriterien Ihr Interviewer sucht (eine optimale Lösung für ein Problem ist möglicherweise nicht ausreichend). Und wenn Sie Schwierigkeiten haben, Erfolg zu haben, sehen Sie möglicherweise etwas, das Sie nicht sehen.

Aus diesem Grund sind Scheininterviews und darüber hinaus die Zusammenarbeit mit einem Coach so wichtig. Mock-Interviews geben Ihnen die Möglichkeit, detailliertes Feedback zu Ihrer Leistung zu erhalten. Der Interviewer kann Ihnen auch mitteilen, ob Sie etwas nicht bemerkt haben

Wenn Sie es wirklich ernst meinen, dass Sie in Ihren Interviews gut abschneiden, empfehle ich, zusätzlich zu den Scheininterviews mit einem Coach zusammenzuarbeiten. Scheininterviews sind einzelne Datenpunkte. Sie sagen Ihnen, dass Sie zu einem bestimmten Zeitpunkt ein bestimmtes Problem gut oder schlecht gelöst haben. Ein Coach kann jedoch alle diese Datenpunkte einsehen und Ihnen beim Herstellen von Verbindungen helfen. Sie können Ihnen dabei helfen, die spezifischen Dinge zu erkennen, an denen Sie arbeiten müssen, um verschiedene Aspekte Ihrer Interviewleistung zu verbessern.

Im Endeffekt erhalten Sie durch Scheininterviews Datenpunkte, und Trainer helfen Ihnen, die Punkte zu verbinden. Diese Art von Feedback ist der beste Weg, um Ihren Interviewfortschritt zu beschleunigen.

Immer wieder sehe ich Leute, die in ihren Interviews stehen bleiben. Und das fast immer aus einem der oben beschriebenen Gründe. Wenn Sie nicht den gewünschten Fortschritt erzielen, lesen Sie diesen Artikel aufmerksam durch. Identifizieren Sie Ihre Problembereiche und arbeiten Sie daran, diese zu beheben. Mit der Zeit werden Sie in der Lage sein, Ihre Befragung zu verfeinern und die Anrufe zu erhalten, die Sie hören möchten.