Vorbereitung auf jede Phase des technischen Interviews / Sudo Null IT News

Im letzten Artikel unserer IT-Karriereserie haben wir darüber gesprochen, wie man ein Vorstellungsgespräch für Soft Skills besteht. Darin gehen wir zu spezifischeren und technischeren Punkten des Interviews über – algorithmische Aufgaben, Plattformabschnitt und Systemdesign. Lassen Sie uns über diese Abschnitte im Allgemeinen sprechen, ohne uns auf eine Technologie zu konzentrieren, wir werden nützliche praktische Tipps und Links geben, die bei der Vorbereitung helfen.

Algorithmische Probleme

Wenn Sie Ihr ganzes Leben lang Programmierolympiaden besucht haben, können Sie diesen Punkt überspringen – Sie wissen bereits alles. Im Übrigen wird dieser Abschnitt oft am schwierigsten vorzubereiten.

Sie brauchen:

  • Lernen Sie grundlegende Datenstrukturen.

  • Die asymptotische Komplexität eines Algorithmus schnell abschätzen können.

  • Erfassen Sie schnell die Art des Problems und wechseln Sie von einer einfachen Lösung zu einer komplexen.

Um von Grund auf neu vorzubereiten, können Sie wie folgt vorgehen:

  1. Video auf youtube ansehen HackerRank `Cracking the Coding Interview`-Reihe oder Tuschar Roy.

  2. Probleme lösen für LeetCode.

  3. Analysieren Sie gelöste Probleme GeeksfürGeeks.

Sie können auch ein grundlegendes Buch über Algorithmen kaufen und lesen. Aber diese Option ist nicht jedermanns Sache – YouTube wird schneller sein.

Auf Leetcode können Sie einen kostenpflichtigen Plan kaufen und Puzzles von einem bestimmten Unternehmen wie Amazon auswählen. Dies ist hilfreich, wenn Sie ein bekanntes ausländisches Unternehmen interviewen. Übrigens haben wir im bot viele offene Stellen, auch in solchen Unternehmen, mit Telearbeit und Standortwechsel.

Je mehr Aufgaben Sie lösen, desto besser. Es gibt sogar eine Studie zu diesem Thema, zwar alt, aber immer noch aktuell:

Der prozentuale Erfolg im algorithmischen Teil hängt stark von der Anzahl der gelösten algorithmischen Probleme ab.

Am besten schreibst du in einer Sprache, die du gut kennst. Aber lassen Sie es populär genug sein – zum Beispiel ist es besser, nicht Kotlin oder Scala zu wählen, sondern ihren Vorläufer Java. C++, Python, Java und C# gelten als Standard – darauf trainiert man algorithmische Interviews besser.

Achten Sie darauf, mit einfachen Rätseln zu beginnen und dann allmählich an Schwierigkeit zu gewinnen. Wenn Sie keine Erfahrung haben, gehen Sie außerdem nicht sofort zu LeetCode und versuchen Sie nicht, alles hintereinander zu lösen. Es ist besser, den Ansatz „wie in einer Universität“ zu verwenden – ein Thema nehmen, es studieren und dann Probleme dafür lösen.

Abhängig von Ihrem persönlichen Niveau benötigen Sie durchschnittlich drei Monate, um sich von Grund auf vorzubereiten. Nach anderthalb oder zwei kann man schon zu Vorstellungsgesprächen gehen und dort Hand anlegen.

Abschnitt Plattform

Sprache und Umwelt. Sie müssen die Hauptmerkmale der Sprache kennen, für die Sie entwickeln. Sprechen Sie über OOP und FRP, verwalten Sie Variablen, arbeiten Sie mit Datenstrukturen, Threads und verteiltem Rechnen, verwalten Sie Speicher. Und die Feinheiten zu kennen – je mehr davon, desto leichter ist es bei Startup-Interviews, wo sie gerne mal schräge Dinge fragen. Sie könnten zum Beispiel fragen: „Es gibt die Variablen a und b, wir haben der Variablen a den Wert b zugewiesen und dann b geändert – was wird passieren?“. Sie müssen wissen, wie Sie je nach Sprache antworten.

Plattform. Das Framework, auf dem wir entwickeln: Android, die Java-Maschine im Allgemeinen, was auch immer. Frontend, Bibliotheken drumherum, Fähigkeit, mit UI und Erweiterungen zu arbeiten. Chips der neuesten Versionen des Betriebssystems, die Umgebung der Bibliotheken – alles, was für die Arbeit nützlich ist. Angenommen, Sie sind ein Android-Entwickler, aber wegen des POS beim alten Android festgefahren, dann ist es eine gute Idee, sich die Nachrichten anzusehen und sich Podcasts darüber anzuhören, was im neuen Android passiert.

Es wird großartig sein, modische Frameworks und Bibliotheken zu kennen. Verstehen, wie man mit Threads und Reaktivität, Abhängigkeiten und Datenspeicherung arbeitet. Wie ist die Bereitstellung und Interaktion mit der Datenbank. Beispielsweise kann ein mobiler Entwickler gefragt werden, in welchem ​​Fall es sinnvoll ist, Realm NewSQL zu implementieren – eine Datenbank mit der Fähigkeit, im Netzwerk und nicht nur auf dem Gerät zwischenzuspeichern. Und Sie müssen eine klare Antwort haben.

Anwendungsarchitektur. Wie man eine API entwirft und die Arbeit einer bestimmten Funktion demonstriert, um Zuverlässigkeit, Skalierbarkeit und Testbarkeit sicherzustellen. Sie bitten oft darum, ein Chat-Modul zu entwerfen, und sie werden definitiv nach der Kommunikation mit dem Backend fragen. Oder sie erhalten die Aufgabe, ein Analysemodul zu modellieren: Blöcke zeichnen und Designfähigkeiten zeigen.

Testen. Zum Testen gibt es viel zu sagen: UI, Qualität, Abdeckung, testbare Architektur. Pencil, wie in einem Tester-Interview, sie werden Sie nicht testen lassen, aber sie werden erwarten, dass Sie Unit- und Integrationstests schreiben können und wissen, welche Frameworks für Ihre Sprache anwendbar sind. Es ist hilfreich, die Testpyramide zu verstehen, aber hier gibt es Nuancen – jedes Unternehmen hat seine eigenen, es kann schwierig sein, Grenzen zwischen verschiedenen Testtypen zu ziehen.

Wie bereitet man sich am besten vor

Systemdesign

Gewöhnliche Entwickler begegnen dem oft überhaupt nicht, aber beim Vorstellungsgespräch wird es einen solchen Abschnitt geben. Am besten sprechen Sie mit Ihrer aktuellen Werkstatt, Ihrem technischen Leiter oder Ihrem Chefarchitekten darüber, wie Ihr System funktioniert und warum.

Sie werden aufgefordert, das System vom Client bis zum Server, von der Datenbank bis zur Schaltfläche auf der Website zu entwerfen. Sie müssen verstehen, wie dies alles im Allgemeinen geschieht. Wenn Sie es bereits wissen, frischen Sie die Technologie in Ihrem Gedächtnis auf. Wenn Sie es nicht wissen, fragen Sie von Grund auf neu.

Denken Sie daran, dass Sie hier nicht auf die Details eingehen müssen. Es ist wichtig, Ihr Fachgebiet genau zu beschreiben und ein allgemeines Verständnis der Prinzipien zu demonstrieren.

Interessantes zu wissen:

Hier sind ein paar weitere nützliche Links zu diesem Abschnitt des Interviews:

So erleichtern Sie sich die Zubereitung

Nun noch ein paar einfache Tipps, die offensichtlich erscheinen, aber helfen können:

  • Finden Sie Gleichgesinnte und lernen Sie mit ihnen: Lösen Sie Probleme, tauschen Sie Links aus, kommunizieren Sie über das Thema, teilen Sie die Ergebnisse von Interviews.

  • Erstellen Sie einen Plan für das Studium der Materialien und setzen Sie sich Fristen – das ist sehr motivierend. Sie können einen Fortschrittstracker starten, mit dem Sie Ihre Erfolge visuell sehen können.

  • Belohnen Sie sich für Ihre Bemühungen. Vergessen Sie nicht, dass die Möglichkeit, einen Traumjob zu bekommen, eine abstrakte Motivation ist und das Gehirn etwas Konkreteres will.

  • Belasten Sie sich kurz vor dem Vorstellungsgespräch nicht – entspannen Sie sich, starten Sie neu und gehen Sie mit einem frischen Kopf dorthin.

  • Schreiben Sie Fragen aus vergangenen Interviews auf und verwenden Sie sie bei der Vorbereitung.

  • Denken Sie daran, dass nicht alle Tipps funktionieren. Experimentieren Sie, und wenn etwas für Sie nicht funktioniert, tun Sie es nicht.

Nützliche Links

Similar Posts

Leave a Reply

Your email address will not be published.