Breaking It Down: Wie gehe ich mit einem technischen Interviewproblem um?

Ein sicheres Rezept, um herauszufinden, wie Sie Probleme besser handhaben können.

1. Wenn Sie die Frage erhalten (bevor Sie eine einzelne Codezeile schreiben)

Der einfachste Weg, um sicherzustellen, dass Sie die Frage verstehen, besteht darin, Testfälle durchzugehen.

Dinge, die Sie mit Ihrem Interviewer klären sollten:
Was ist der erwartete Input? Was ist die erwartete Ausgabe?
Alle Annahmen, die Sie möglicherweise zu bestimmten Testfällen haben

Notieren Sie sich nach dem Durchlaufen der Testfälle alle Variablen, die Sie im Auge behalten sollten, und welche Datenstrukturen für dieses Problem am sinnvollsten sind.

Überlegen Sie sich immer, wie Sie das Problem beheben können. Gibt es ein kleineres, einfacheres Unterproblem, das Sie lösen können? Und wenn ja, wie würde diese Lösung aussehen?

2. Schreiben Sie den Code (und was tun, wenn Sie nicht weiterkommen)

Nachdem Sie Ihren Algorithmus herausgefunden und Ihre Logik erklärt haben, müssen Sie Ihre Idee als Nächstes in Code umwandeln.

An diesem Punkt ist rohe Gewalt völlig in Ordnung. Das Erstellen einer funktionierenden Lösung (auch wenn die Laufzeit und die Speichereffizienz nicht perfekt sind) ist weitaus besser, als zu versuchen, Ihren Code vorzeitig zu optimieren.

Beachten Sie beim Schreiben Ihres Codes Folgendes:

  1. Sprechen Sie klar darüber, an welchem ​​Code Sie gerade arbeiten und warum Sie ihn zu Ihrer Lösung hinzufügen
  2. Versuchen Sie, offensichtliche Variablennamen zu verwenden und Ihren Code lesefreundlich zu gestalten
  3. Sprechen Sie mit Ihrem Interviewer über Ihren Denkprozess und die Vor- und Nachteile Ihrer Lösung
  4. Machen Sie Ihren Code möglichst modular (Hilfsfunktionen sind Ihre Freunde!)

Über den Umgang mit dieser unangenehmen Stille, wenn Sie stecken bleiben oder etwas Zeit zum Nachdenken brauchen ...

Es passiert uns allen, und es ist ganz normal, dass uns dies während eines Interviews begegnet. Nach meiner Erfahrung kommt bei fast allen technischen Interviews ein Moment, in dem ich nachdenken muss und nicht mehr in der Lage bin, mit dem Interviewer zu sprechen. Wenn dies passiert, sage ich normalerweise Folgendes:

Ich brauche eine Sekunde, um über meine Lösung nachzudenken und zu prüfen, ob sie sinnvoll ist
Ich bin mir nicht ganz sicher, ob dies der richtige Ansatz ist. Lassen Sie mich meine Arbeit noch einmal überprüfen
Möglicherweise funktioniert (fügen Sie einen Teil Ihrer vorgeschlagenen Lösung ein) nicht für (fügen Sie einen Randfall ein). Ich überlege, wie ich das angehen kann

Der Interviewer ist normalerweise auf Ihrer Seite und möchte, dass Sie Erfolg haben - denken Sie daran, wenn er oder sie Ihnen einen Hinweis gibt, ignorieren Sie ihn niemals!

3. Überprüfen Sie Ihre Lösung und fügen Sie Optimierungen hinzu

Verfolgen Sie den Code nach dem Schreiben mit einem Testfall, um sicherzustellen, dass sich Ihr Programm so verhält, wie Sie es erwarten.

An dieser Stelle ist es gut zu bedenken:

  1. Mögliche Randfälle, die Sie möglicherweise übersehen haben
  2. Irgendwelche Fehler um eins (insbesondere beim Indizieren oder Verwenden einer Schleife)
  3. Gibt es in Ihrem Code Wiederholungen, die Sie bereinigen können?

Fragen zur Optimierung:

  1. Was ist die aktuelle Laufzeit und Raumkomplexität?
  2. Gibt es Verbesserungspotenzial, wenn Sie eine andere Datenstruktur verwendet oder Ihren Ansatz leicht geändert haben?

Denken Sie bei der Überprüfung Ihres Codes daran, dass möglicherweise ein unbeabsichtigter Fehler aufgetreten ist. Versuchen Sie, Ihr Programm zu durchsuchen, als wäre es die Arbeit eines anderen, die Sie zum ersten Mal sehen!

Alles einpacken

Das Interviewen ist eine Fähigkeit, und wie jede andere Fähigkeit kann es durch Übung verbessert werden! Wenn Sie technische Probleme lösen, sich mit der Sprache Ihrer Wahl und den Datenstrukturen vertraut machen möchten, können Sie dies alles tun, um Ihre Chancen auf eine starke Leistung während des Interviews zu erhöhen.

Eine Liste mit Fragen, Datenstrukturen und Ressourcen zur Überprüfung finden Sie hier: 4-Wochen-Plan für Ihr nächstes technisches Interview

Denken Sie daran, dass jedes Interview eine Lernerfahrung ist und Sie unabhängig vom Ergebnis wertvolle Erkenntnisse gewonnen haben, die Sie zuvor noch nicht hatten. Positiv zu bleiben und aus dem Feedback zu lernen, ist eine großartige Möglichkeit, sich kontinuierlich zu verbessern! Viel Glück!

Wenn dieser Leitfaden Ihnen in irgendeiner Weise helfen konnte, senden Sie mir bitte ein oder zwei Klatschen zu :) Es bedeutet mir wirklich viel - vielen Dank und viel Glück bei Ihrer Reise!