Skip to main content

Technische Interviewfragen und Tipps - die Muse

Vorstellungsgespräch - die perfekte Selbstpräsentation mit Beispiel! (Juni 2025)

Vorstellungsgespräch - die perfekte Selbstpräsentation mit Beispiel! (Juni 2025)
Anonim

Mit dem zweiten großen Technologieboom im Silicon Valley waren Ingenieure bei Startups und Technologiegiganten gleichermaßen gefragt. Für diejenigen, die einen technischen Hintergrund haben oder Informatik studieren, ist die Welt im Moment Ihre Auster.

Davon abgesehen geben Unternehmen nicht nur Arbeitsplätze ab. Programmierer müssen noch spezielle Interviewprozesse durchlaufen - einschließlich des manchmal gefürchteten technischen Interviews.

Sich darauf vorzubereiten, kann verwirrend sein. Sollten Sie bestimmte technische Projekte studieren oder sich generell über viele Themen informieren? Solltest du am Computer oder mit einem Freund üben?

Als dritter Ingenieur bei Pocket Gems, der etwa 165 technische Mitarbeiter beschäftigt, habe ich Hunderte von Telefon- und Vor-Ort-Interviews durchgeführt. In dieser Zeit habe ich viel gelernt, wie man sich richtig darauf vorbereitet. Hier sind die Tipps, die Sie für Ihr nächstes technisches Interview benötigen.

Konzentrieren Sie sich auf die Grundlagen

Die Interviewer werden Ihnen hauptsächlich Fragen zu Ihren Grundlagen stellen: Datenstrukturen, algorithmische Komplexitätsanalyse, Klassendesign und dergleichen. Hierbei handelt es sich sowohl um Fragen direkt zu den Grundlagen (z. B. X verwenden, um Y auszuführen) als auch um Fragen, für die Sie Ihre Grundlagen verwenden (mehr dazu weiter unten).

Stellen Sie sich Grundlagen als Werkzeuge in Ihrer Toolbox vor. Sie werden gleich bleiben, egal welche großartige neue Technologie herauskommt. Mit soliden Fundamentaldaten sind Sie besser auf offene Probleme vorbereitet - Probleme, die wir und viele andere Startups täglich lösen. Indem Sie sich auf die Grundlagen konzentrieren, verbringen die Interviewer weniger Zeit mit dem Einrichten der Interviewfragen und haben mehr Zeit, um zu sehen, wie Sie denken.

Beispielsweise werden Sie gefragt, ob Sie einen Binärbaum und zwei Knoten im Baum haben. Finden Sie den niedrigsten gemeinsamen Vorfahren der beiden angegebenen Knoten in O (n) -Zeit.

Mit dieser Frage möchte der Interviewer wissen, wie gut Sie Ihren Denkprozess und Ihre Lösung kommunizieren können. Wie Sie das Problem durchdenken, Ihre Gedanken organisieren und Ihre Antwort mitteilen, ist oft genauso wichtig wie Ihre Schlussfolgerung. Wir arbeiten in komplexen und sich ständig ändernden Umgebungen und brauchen Mitarbeiter, die sowohl schwierige Probleme lösen als auch diese effektiv an ihre technischen und nichttechnischen Teamkollegen weitergeben können.

In diesem Bereich des Interviews sollten Sie sich mit Themen wie Zeichenfolgen, Arrays, Grundsyntax, Datentypen, verknüpften Listen, Bäumen, Diagrammen, Stapeln, Warteschlangen und Hash-Tabellen vertraut machen. Oh, und stellen Sie sicher, dass Sie FizzBuzz beantworten können, ohne ein Auge zu schlagen.

Seien Sie darauf vorbereitet, Dinge auf unterschiedliche Weise zu lösen

Jede Ihrer Grundlagen hat Vor- und Nachteile und bietet eine einzigartige Lösung für eine bestimmte Art von Problem. Nachdem die Interviewer Ihnen eine Frage ausschließlich zu Ihren Grundlagen gestellt haben, werden sie wahrscheinlich sehen, wie Sie sie in der Praxis anwenden können. Dies wird durch offene Fragen erreicht, die auf verschiedene Arten gelöst werden können.

Eine Beispielfrage wäre hier: Sie erhalten eine arithmetische Gleichung als Zeichenfolge. Diese Gleichung besteht aus einzelnen Ziffern 0-9, Addition, Subtraktion, Multiplikation und Klammern. Schreiben Sie eine Funktion, die diese Gleichung aufnimmt und die richtige Antwort berechnet. Beispieleingaben umfassen „1 + 1“ und „2 * (1 + 9) - ((2 + 5) -9“).

Nach wie vor möchte der Interviewer sehen, wie Sie offene Fragen und Ihren Denkprozess bei der Auswahl Ihrer Lösung aufschlüsseln. Vor allem möchten sie, dass Sie komplexe Probleme effektiv kommunizieren können.

Egal für welche Frage oder welche Lösung Sie sich entscheiden, denken Sie laut nach! Wenn Sie das Problem auf unterschiedliche Weise lösen können, gehen Sie die Optionen durch, bevor Sie sich für eine Verwendung entscheiden. Es hilft dem Interviewer, Ihren Denkprozess zu sehen und zu verstehen. Der Interviewer kann auch eine Lösung vor den anderen empfehlen, weil er weiß, dass die anderen bestimmte Fallstricke haben oder außerhalb des Umfangs des Interviews liegen können.

Haben Sie keine Angst, Fragen zu stellen, wenn etwas unklar ist oder nicht viele Details vorliegen. Diese zeigen, dass Sie auch nachdenken - und geben dem Interviewer einen Eindruck davon, wie Sie mit anderen zusammenarbeiten würden. Stellen Sie sicher, dass Sie klärende Fragen stellen, um die Frage vollständig zu verstehen, und dass Sie den Umfang des Problems nicht erweitern (z. B. Was sind einige Beispieleingaben? Muss ich mir Gedanken über das Teilen durch 0 machen? Muss ich mir Sorgen machen? Sommerzeit?)

Stellen Sie schließlich sicher, dass Sie einige Testfälle mündlich durchlaufen, bevor Sie sagen, dass Sie fertig sind. Auf diese Weise können Sie sowohl den Code überprüfen als auch dem Interviewer zeigen, dass Sie Ihren Code überprüfen. So einfach es auch ist, Bewerbungsgespräche zu führen, wir können Ihre Gedanken leider nicht lesen.

Während Sie sich vorbereiten, üben Sie das Lösen von Fragen mit verschiedenen Werkzeugen aus Ihrer Werkzeugkiste, damit Sie eine Vorstellung davon entwickeln. Wissen, wann Sie jedes Ihrer Tools verwenden müssen, damit Sie während des Interviews nicht gestolpert werden. Und stellen Sie sicher, dass Sie es üben, Ihren Denkprozess vollständig zu beschreiben - dies kann der schwierigste Teil für Programmierer sein, die es gewohnt sind, isoliert zu arbeiten.

Üben, üben, üben

Je mehr Sie üben, desto besser sind Sie auf das technische Kodierungsinterview vorbereitet. Dies gilt für die meisten Dinge, ist jedoch besonders relevant für technische Interviews - sie erfordern wirklich, dass Sie Ihr Gehirn aufwärmen.

Mit den folgenden Tipps können Sie Ihre Übungszeit optimal nutzen:

  • Stellen Sie sicher, dass Sie die Interviewumgebung simulieren. Geben Sie sich ein Zeitlimit für Probleme. Wenn Sie ein Telefoninterview führen, üben Sie sowohl mit Stypi als auch mit Google Docs. (Ich weiß für mich, dass ich bei Telefoninterviews auf Probleme mit der automatischen Vervollständigung und Syntaxhervorhebung gestoßen bin.) Wenn Sie ein persönliches Interview führen, üben Sie, Probleme auf Papier oder auf einem Whiteboard zu lösen.
  • Lassen Sie sich von einem nicht-technischen Freund die Interviewfragen stellen und führen Sie ihn durch Ihre Antworten. Wenn Sie es ihm oder ihr erklären können, können Sie es sicher Ihrem technischen Interviewer erklären.
  • Haben Sie nicht das Gefühl, dass Sie schummeln, wenn Sie einige der Vorbereitungswerkzeuge verwenden, die es gibt. Sie bieten oft großartige Einblicke und Übungsfragen. Meine Favoriten sind Websites wie TopCoder und die Head First- Bücher. Einige andere Bücher, die mehr über den Interviewprozess sprechen, sind Programming Interviews Exposed und Cracking the Code Interview .

Technische Codierungsinterviews können ziemlich entmutigend wirken, aber mit der richtigen Art der gezielten Übung sind Sie bereit, sie zu beweisen. Denken Sie daran, sich auf Ihr Brot und Ihre Butter sowie auf die Grundlagen zu konzentrieren und viel zu üben. Befolgen Sie die obigen Tipps, und Sie werden auf Ihr nächstes technisches Codierungsinterview vorbereitet.

Wünschen Sie weitere Informationen? Ich habe dieses Thema kürzlich auf der UC Berkeley Engineering / Tech Career Conference vorgestellt. Schauen Sie sich meine Folien aus dem folgenden Vortrag an, um weitere Gedanken und Ressourcen zu erhalten!