paint-brush
So meistern Sie Ihr nächstes Programmiergespräch: Tipps, die mir geholfen haben, einen Job bei Meta zu bekommenvon@erjantj
8,523 Lesungen
8,523 Lesungen

So meistern Sie Ihr nächstes Programmiergespräch: Tipps, die mir geholfen haben, einen Job bei Meta zu bekommen

von Yerzhan Torgayev6m2023/05/20
Read on Terminal Reader
Read this story w/o Javascript

Zu lang; Lesen

Die Codierung ist der Schlüsselfaktor, der darüber entscheidet, ob Sie perfekt für die Rolle geeignet sind. Das Erlernen von Algorithmen und Datenstrukturen kann eine Herausforderung sein, aber es ist kein Hexenwerk oder Geheimkunst. Der Schlüssel liegt darin, über einen langen Zeitraum hinweg konsequente und stetige Anstrengungen zu unternehmen, um die gewünschten Ergebnisse zu erzielen.
featured image - So meistern Sie Ihr nächstes Programmiergespräch: Tipps, die mir geholfen haben, einen Job bei Meta zu bekommen
Yerzhan Torgayev HackerNoon profile picture
0-item
1-item

Wenn Sie versuchen, einen Job als Software-Ingenieur zu bekommen, müssen Sie wahrscheinlich mehrere Vorstellungsgespräche absolvieren, unter anderem im Bereich Verhaltens- und Systemdesign. Aber am Ende des Tages kommt es auf eines an: Ihre Programmierkenntnisse. Ihre Programmierkenntnisse sind der entscheidende Faktor, der darüber entscheidet, ob Sie perfekt für die Stelle geeignet sind.

Unabhängig von Ihrem Erfahrungsstand – ob Sie ein erfahrener Entwickler sind oder frisch von der Universität kommen – kann es schwierig sein, ein Programmiergespräch zu führen, aber Beharrlichkeit und harte Arbeit zahlen sich aus. Als jemand, der nach einem ganzen Jahr der Vorbereitung ein Angebot von Facebook erhalten hat, weiß ich das aus erster Hand. In diesem Artikel möchte ich einige Tipps und Strategien mit Ihnen teilen, die ich dabei gelernt habe.

Lass uns eintauchen.

Tipp Nr. 1 – Üben Sie das Codieren

In Ihrer täglichen Arbeit als Softwareentwickler verwenden Sie möglicherweise nicht oft Algorithmen und Daten. Dennoch sind es wesentliche Grundlagen, die Sie kennen müssen. Wie wird man darin gut? Das Erlernen von Algorithmen und Datenstrukturen kann eine Herausforderung sein, aber es ist kein Hexenwerk oder Geheimkunst. Das Hauptproblem ist der Zeitaufwand, der zum Erlernen benötigt wird. Daher sind Planung und Übung von entscheidender Bedeutung.

Denken Sie an die Verbesserung Ihrer Programmierfähigkeiten, zum Beispiel an den Aufbau Ihrer Muskeln. Sie können nicht erwarten, dass Sie in nur wenigen Wochen intensiven Trainings fit und straff werden. Ebenso werden Sie Algorithmen nicht innerhalb weniger Tage beherrschen. Der Schlüssel liegt darin, über einen langen Zeitraum hinweg konsequente und stetige Anstrengungen zu unternehmen, um die gewünschten Ergebnisse zu erzielen.

Als ich 2019 begann, mich auf das Codieren von Interviews vorzubereiten, hatte ich keine Ahnung, wie man selbst die grundlegendsten Algorithmen wie die binäre Suche schreibt. Ich brauchte etwa sechs Monate konsequenter Übung, um mein erstes Vor-Ort-Interview bei Google zu bekommen. Wie ist es gelaufen? Ich bin durchgefallen.

Aber habe ich aufgegeben? Nein. Ich habe noch ein weiteres Jahr geübt, bis ich schließlich ein Angebot von Facebook (das wir heute als Meta kennen) bekam. Das Fazit ist also, dass das Erlernen dieser Fähigkeiten Zeit und Mühe erfordert, aber der Gewinn kann lebensverändernd sein!

Wenn Sie anfangen, an Codierungsproblemen zu arbeiten, ist es völlig normal, dass Sie sich ein wenig überfordert fühlen. Sie könnten sich sogar dabei ertappen, wie Sie denken: „Was stimmt mit mir nicht? Warum kann ich nicht einmal das einfachste Problem lösen?“ Das ist einfach ein natürlicher Teil des Lernprozesses. Du wirst mit der Zeit besser werden.

Eine hilfreiche und bewährte Strategie, um mit dem Gefühl der Überforderung umzugehen, besteht darin, eine große Aufgabe in überschaubare Teile aufzuteilen und sich erreichbare Ziele zu setzen.

Ich empfehle, jeden Tag mit 1–2 einfachen oder mittleren Problemen zu beginnen und sich jeweils etwa 15–30 Minuten Zeit zu nehmen. Dies wird Ihnen helfen, Ihre Fähigkeiten zur Problemlösung schrittweise auszubauen und eine Überforderung zu vermeiden. Sobald Sie sich sicherer fühlen, können Sie die Intensität steigern, indem Sie bis zu 3-4 Probleme pro Tag angehen.

Um Ihnen eine Vorstellung davon zu geben, was durch konsequentes Üben möglich ist, habe ich über ein Jahr lang persönlich etwa 200 Probleme gelöst (50 % mittel, 40 % leicht, 10 % schwer), bevor ich mein erstes Angebot von einem Big-Tech-Unternehmen erhielt. Denken Sie daran, dass jeder in seinem eigenen Tempo lernt. Stellen Sie daher sicher, dass Sie den Übungsumfang bestimmen, der für Sie am besten geeignet ist. Wichtig ist, konzentriert zu bleiben und am Ball zu bleiben.

Wenn Sie hervorragende Ressourcen finden möchten, um das Codieren zu üben und Ihre Interviewfähigkeiten zu verbessern, können Sie mehrere Optionen in Betracht ziehen. Zu den besten gehören Leetcode , Hackerrank und Codeforces – diese Plattformen bieten eine Vielzahl herausfordernder Aufgaben, die Ihnen dabei helfen können, Ihre Programmierfähigkeiten zu verbessern.

Wenn Sie jedoch mehr Struktur oder Anleitung benötigen, gibt es auch Ressourcen wie Interviews.school oder kostenpflichtige Kurse wie Algoexpert.io. Diese können besonders hilfreich sein, wenn Sie gerade erst anfangen oder nicht sicher sind, wo Sie anfangen sollen.

Ich habe alle diese Ressourcen während meiner eigenen Reise zur Vorbereitung auf Vorstellungsgespräche genutzt und kann für ihre Qualität bürgen.

Tipp #2 – Kennen Sie Ihre Programmiersprache

Es ist wichtig, dass Sie die von Ihnen verwendete Sprache gut beherrschen, damit Sie Ihre technischen Fähigkeiten und Ihre Fähigkeit zur Problemlösung optimal unter Beweis stellen können. Normalerweise können Sie die Sprache für Ihre algorithmische Codierung auswählen, aber manchmal hat der Interviewer möglicherweise spezielle Sprachanforderungen. Überprüfen Sie das unbedingt vorher.

Verwenden Sie die Sprache, mit der Sie sich am wohlsten fühlen, auch wenn es nicht Ihre Hauptsprache ist. Stellen Sie sicher, dass Sie die allgemeinen Datenstrukturen, Verknüpfungen und Speicherverwaltung kennen. Für die Codierung von Interviews wähle ich Python, obwohl ich täglich mit PHP arbeite. Die einfache Syntax von Python hilft mir, schnell Prototypenlösungen zu erstellen, und ich muss mich nicht um Dinge wie $-Zeichen, Klammern oder Semikolons kümmern.

Um Ihre Kenntnisse in Ihrer Programmiersprache zu verbessern, nehmen Sie sich Zeit, die Grundlagen zu erlernen, das Codieren zu üben und die Lösungen anderer Programmierer zu studieren. Ich empfehle, sich Leetcode anzuschauen – im Abschnitt „Kommentare und Diskussionen“ finden Sie einige tolle Beispiele und Techniken, von denen Sie lernen können.

Tipp #3 – Stellen Sie klärende Fragen

Beeilen Sie sich nicht, ein Problem zu lösen, ohne vorher Fragen zu stellen. Dies ist ein häufiger Fehler, der für Interviewer ein Warnsignal sein kann. Stellen Sie ein paar klärende Fragen, auch wenn Sie sicher sind, dass Sie das Problem richtig verstanden haben.

Codierungsprobleme sind absichtlich mehrdeutig und Interviewer geben nicht alle notwendigen Details im Voraus bekannt.

Stattdessen erwarten Interviewer von Ihnen, dass Sie Details klären. Stellen Sie daher ein paar Fragen, um absolut sicherzustellen, dass Sie und der Interviewer einer Meinung sind.

Außerdem können Sie auf diese Weise Grenzfälle identifizieren und klären. Beispielsweise möchten Sie möglicherweise nach dem Format der Eingabe, den beteiligten Datentypen oder nach Einschränkungen für das Problem fragen. Wenn Sie bestimmte Details kennen, können Sie Zeit sparen und sich auf die anstehende Aufgabe konzentrieren.

Tipp Nr. 4: Besprechen Sie Ihre Lösung vor dem Codieren

Wenn Sie in einem Vorstellungsgespräch ein Problem lösen, sollten Sie sich nicht beeilen, mit dem Codieren zu beginnen. Nehmen Sie sich zunächst einen Moment Zeit, um Ihre Lösung durchzusprechen. Dies wird Ihnen helfen, das Problem zu klären und sicherzustellen, dass Sie einen soliden Plan haben, bevor Sie loslegen. Wenn Sie darüber sprechen, können Sie auch Zeit sparen und unnötige Fehler vermeiden.

Ich bin selbst fast in diese Falle getappt. In einem Interview wurde ich gebeten, den String-Präfix-Abgleich zu implementieren. Ich dachte sofort an eine ziemlich komplexe Lösung, die einen Trie beinhaltete. Aber als ich anfing, meine Idee laut zu beschreiben, unterbrach mich der Interviewer und fragte nach einer einfacheren Methode, die nur darin bestand, über zwei Zeichenfolgen zu iterieren.

Wenn ich sofort mit dem Codieren begonnen hätte, hätte ich Zeit mit einer überkomplizierten Lösung verschwendet, nach der der Interviewer nicht einmal gefragt hatte.

Erst wenn Sie die Lösung besprochen haben und der Interviewer damit zufrieden ist, können Sie mit der Umsetzung beginnen.

Tipp #5 – Kommunizieren

Bei einem Coding-Interview ist der Interviewer nicht so sehr daran interessiert, ob man tatsächlich zur Lösung kommt.

Sie möchten sehen, wie Sie an den Problemlösungsprozess herangehen.

Stellen Sie sicher, dass Sie Ihre Gedanken darlegen und Ihre Argumentation erläutern.

Denken Sie daran, dass der Interviewer auf Ihrer Seite ist und Ihnen zum Erfolg verhelfen wird. Stellen Sie sich das Vorstellungsgespräch als Teamarbeit vor, bei der Sie und der Interviewer gemeinsam an einer Lösung arbeiten. Sie sollten jedoch die meiste Zeit reden (etwa 70–80 % der Zeit). Der Interviewer kann Ihnen gelegentlich Feedback geben oder Sie korrigieren. Seien Sie aufgeschlossen und bereit, aus dem Feedback des Interviewers zu lernen und es zu Ihrem Vorteil zu nutzen.

Seien Sie während des gesamten Interviews freundlich und reaktionsschnell. Wenn Sie einen Moment brauchen, um sich zu konzentrieren, teilen Sie es dem Interviewer mit. Machen Sie eine kurze Pause, um Ihre Gedanken zu sammeln, aber lassen Sie sie nicht zu lange in die Länge ziehen.

Tipp Nr. 6 – Testen Sie Ihre Lösung

Vergessen Sie nicht, Ihren Code gründlich zu testen, wenn Sie fertig sind. Tests sind wichtig, um Fehler oder Probleme zu erkennen, die Sie möglicherweise übersehen haben.

Um sicherzustellen, dass Ihr Code die erwartete Ausgabe liefert, verwenden Sie die vom Interviewer bereitgestellten Beispieleingaben. Erwägen Sie das Testen von Randfällen, einschließlich Eingabegrenzen, Formatierung oder Art der Eingaben, leeren, Null- oder negativen Werten sowie zu kleinen oder zu großen Eingaben.

Gehen Sie beim Testen Ihren Code Zeile für Zeile durch und überprüfen Sie die Werte von Variablen und Ausdrücken. Auf diese Weise erkennen Sie Fehler, die nur mit einem Blick auf den Code schwer zu erkennen sind.

Nachdem Sie alles getestet haben, gehen Sie einen Schritt zurück und überlegen Sie, wie Sie Ihren Code noch besser machen können. Vielleicht gibt es eine effizientere Möglichkeit, das Problem zu lösen, oder Sie können den Code leichter lesbar und verständlicher machen.

Abschluss

Das Kodieren von Interviews ist eine Herausforderung, aber Sie können Ihre Erfolgschancen durch gründliche Vorbereitung und Übung erheblich verbessern.

Fassen wir noch einmal die wichtigsten Erkenntnisse zusammen:

  • Studieren Sie die Grundlagen;
  • Kennen Sie Ihre Sprache;
  • Stellen Sie klärende Fragen;
  • Besprechen Sie Ihre Lösungen vor dem Codieren.
  • Testen Sie Ihre Lösung gründlich;

Bleiben Sie ruhig und betrachten Sie das Vorstellungsgespräch als einen gemeinschaftlichen Problemlösungsprozess.

Viel Glück bei Ihren zukünftigen Coding-Interviews!


Das Hauptbild wurde mit der Stable DiffusionAI Image Generator- Funktion von HackerNoon über die Eingabeaufforderung „Ein Coding-Interview bei Facebook“ generiert.