paint-brush
Diese Fragen im Programmierinterview unterscheiden Profis von Amateurenvon@shcheglov
6,245 Lesungen
6,245 Lesungen

Diese Fragen im Programmierinterview unterscheiden Profis von Amateuren

von Viktor Shcheglov3m2024/04/18
Read on Terminal Reader

Zu lang; Lesen

Fragen zu Programmierinterviews sind so konzipiert, dass sie über technische Fähigkeiten hinausgehen. Sie gehen tiefer auf die Denkprozesse eines Entwicklers, seinen Problemlösungsansatz, seine Teamfähigkeit und andere wichtige Eigenschaften ein. Diese Fragen sind nichts für schwache Nerven. Die Fragen wurden vom Team für Programmierinterviewfragen von Coder.com zusammengestellt.
featured image - Diese Fragen im Programmierinterview unterscheiden Profis von Amateuren
Viktor Shcheglov HackerNoon profile picture
0-item

Fragen zum Programmieren im Vorstellungsgespräch


Grüße, liebe Entwicklerkollegen!

Im Laufe meiner Karriere habe ich über 100 Interviews mit Entwicklern aller Ebenen geführt, von Junior-Entwicklern bis hin zu erfahrenen Veteranen. Und wissen Sie was? In dieser Zeit habe ich einen Satz von 10 kniffligen Fragen entwickelt, die ich jedem neuen Kandidaten stelle.

Warum? Ganz einfach: Mit diesen Fragen kann ich mehr tun, als nur die technischen Fähigkeiten einer Person zu beurteilen. Sie gehen tiefer und untersuchen ihren Denkprozess, ihre Herangehensweise an die Problemlösung, ihre Teamfähigkeit und andere wichtige Eigenschaften.

Sind Sie bereit für diesen intellektuellen Kampf? Dann machen Sie sich bereit, denn diese Fragen sind nichts für schwache Nerven!


  1. Gleichzeitiges Bearbeiten von Artikeln verhindern

Angenommen, Sie implementieren ein System zur Bearbeitung von Zeitschriften, bei dem Redakteure Artikel im Admin-Bereich bearbeiten können. Wie würden Sie verhindern, dass zwei Redakteure gleichzeitig denselben Artikel bearbeiten und die Änderungen des jeweils anderen überschreiben?


  1. Grundsätze für die Bereitstellung ohne Ausfallzeiten

Was sind die Prinzipien der Bereitstellung ohne Ausfallzeiten, also eines Ansatzes, bei dem eine Anwendung ohne Dienstausfallzeiten bereitgestellt wird? Wie wird dies erreicht?


  1. Kritik an Ihrem bevorzugten Framework

Nennen Sie Aspekte Ihres bevorzugten Frameworks, die Ihnen nicht gefallen oder die nicht so funktionieren, wie Sie es gerne hätten. Erklären Sie, wie und wo diese Probleme auftreten und wie sie verbessert werden könnten.

4. Umgang mit lang laufenden Cron-Jobs

Was könnte passieren, wenn die Ausführung Ihres Cron-Jobs, der jede Minute ausgeführt wird, länger als eine Minute dauert? Wie kann dies verhindert werden?

5. Denormalisierung von Daten in Datenbanken

Mussten Sie schon einmal Daten in einer Datenbank denormalisieren? Wenn ja, welches Problem wollten Sie lösen, vor welchen Herausforderungen standen Sie und wie hätte es besser gehen können?

6. Externe Anrufe in Tests simulieren

Wie umgehen Sie beim Schreiben von Tests das Problem externer Aufrufe durch den Code, den Sie testen? Stellen Sie sich das Szenario vor, in dem externe Aufrufe bei CI (Continuous Integration) verboten sind. Warum ist das eine gute Vorgehensweise?

7. E-Mail-Änderungen mit externen Systemen synchronisieren

Angenommen, Ihr System implementiert eine Funktion zum Ändern von E-Mails. Die E-Mail wird jedoch auch in einem externen System gespeichert, beispielsweise einem Zahlungsprozessor, der E-Mails an Benutzer sendet (die Benutzer interagieren jedoch nicht direkt damit). Wie würden Sie die E-Mail-Synchronisierung mit dem externen System implementieren?


  1. Produktionsfehler entdecken

Wie erfahren Sie von Fehlern, die in der Produktion auftreten? Verlassen Sie sich auf Benutzerberichte oder haben Sie automatisierte Mechanismen im Einsatz?


  1. Entwerfen einer einfachen Chat-Anwendung

Wie würden Sie eine einfache Chat-Anwendung entwerfen? Sie können den Backend-Ingenieur nach dem Backend-Teil und den Frontend-Ingenieur nach dem Frontend-Teil fragen. Dieses Gespräch könnte viele Verzweigungen haben.

10. Isolieren von Tests in einer Mehrbenutzerumgebung

Wie wird die Testisolierung sichergestellt, wenn mehrere Tests gleichzeitig ausgeführt werden und auf die Datenbank zugreifen und diese möglicherweise ändern? Wenn Ihr Framework keine Isolierung bietet, wie würden Sie diese implementieren oder verbessern?



Zusätzliche Tipps:

Ermutigen Sie den Kandidaten, seinen Denkprozess und die Gründe für seine Antworten näher zu erläutern.

Bewerten Sie ihre Problemlösungsfähigkeiten, ihre Fähigkeit zum kritischen Denken und ihr Wissen über relevante Technologien.

Beurteilen Sie während des gesamten Vorstellungsgesprächs ihre Kommunikationsfähigkeiten und ihre Teamfähigkeit.