Backend-Entwickler:in
Strukturierte Interviewfragen für Backend-Entwickler:in — mit dem Signal, auf das eine starke Antwort jeweils hinweist.
VerhaltensbezogenAPI- und System-Design Beschreiben Sie eine API, die Sie entworfen und in Produktion gebracht haben. Welche Entscheidungen haben Sie zu Versionierung, Authentifizierung und Fehlerformat getroffen?
Worauf eine starke Antwort hinweistBewusste Entscheidungen statt Default-Übernahme: explizite Versionierungsstrategie (URL, Header, kein Versioning mit Gründen), Auth-Modell passend zum Kontext (Session, JWT, OAuth, mTLS), konsistentes Fehlerformat über alle Endpoints. Bonus: die:der Kandidat:in nennt Entscheidungen, die sie:er heute anders treffen würde. Wer ohne Reflexion REST mit JSON Web Token nennt, hat selten ernsthaft abgewogen.
VerhaltensbezogenDebugging und Observability Erzählen Sie mir von einem Production-Incident, den Sie federführend gelöst haben. Was war das Symptom, wie haben Sie diagnostiziert und wie lange hat es gedauert?
Worauf eine starke Antwort hinweistStrukturierte Debug-Methode: Reproduktion, Logs, Metriken, durch Experiment validierte Hypothesen. Ehrlichkeit zur Dauer (ein echter Production-Incident ist selten in unter 30 Min. geschlossen). Bonus: die:der Kandidat:in nennt die Grundursache und den systemischen Fix (Post-mortem, Runbook, neuer Alarm), nicht nur den Hotfix. Antworten wie „Ich habe den Service neu gestartet“ ohne Diagnose deuten auf schwache Diagnosefähigkeit.
VerhaltensbezogenDatenbank-Fundament Beschreiben Sie eine Datenbankmigration, die Sie in Produktion durchgeführt haben. Wie haben Sie Downtime, Rollback und Datenkonsistenz behandelt?
Worauf eine starke Antwort hinweistSchrittweises Vorgehen: Online-Migration mit Doppelschreiben oder Backfill, expliziter Rollback-Plan, Validierung auf Konsistenz vor dem Cut-over. Bonus: die:der Kandidat:in nennt einen Fall, in dem die Migration länger gedauert hat als geplant, und was sie:er daraus gelernt hat. Wer eine Big-Bang-Migration ohne Rollback beschreibt, zeigt Risikoblindheit.
SituativDebugging und Observability Ihre API liefert seit dem letzten Deploy auf 1 % der Anfragen eine 500. Die Logs zeigen keinen offensichtlichen Fehler. Wie gehen Sie in den nächsten 30 Minuten vor?
Worauf eine starke Antwort hinweistStrukturierte Methode: (1) Rollback-Option offenhalten, (2) Log-Level auf den betroffenen Endpoints temporär erhöhen, (3) mit Metriken korrelieren (Latenz, Payload-Größe, Quelle), (4) Pattern identifizieren (Tageszeit, Request-Typ, bestimmte:r Nutzer:in oder Tenant). Wer sofort auf „wird wohl die DB sein“ springt, ohne zu untersuchen, hat einen Bias. Bonus: explizite Erwähnung, parallel ein Post-mortem-Dokument zu starten.
SituativPragmatismus und Priorisierung Ein:e Product Manager:in verlangt einen neuen Endpoint, der nach Ihrer Einschätzung eine Tabelle mit 200 Millionen Zeilen unverändert scannen würde. Wie reagieren Sie?
Worauf eine starke Antwort hinweistKlärung des fachlichen Bedarfs vor der Diskussion über die Lösung (oft lässt sich der Use Case mit aggregierten Daten oder einem Index lösen). Optionen anbieten: passender Index, Materialized View, asynchroner Job mit Cache, Datenmodell-Anpassung. Antworten wie „Ich baue das schon, wenn die DB langsam wird, optimieren wir später“ deuten auf mangelnde Voraussicht.
SituativPragmatismus und Priorisierung Sie kommen in ein Team mit erheblicher Backend-Schuld: keine Tests auf der Geschäftslogik, manuelle Deployments, kaum Monitoring, eine monolithische Datenbank. Wie sieht Ihr 30-Tage-Plan aus?
Worauf eine starke Antwort hinweistZuerst Diagnose: nicht alles gleichzeitig reparieren wollen. Priorisierung nach Risiko und Wirkung (typisch: zuerst Monitoring und Alarme für Sichtbarkeit, dann Tests für die zwei oder drei kritischsten Geschäftsregeln, dann Deployment-Automatisierung, Datenbank-Refactor zuletzt). Abstimmung mit Team und Tech Lead vor jeder Maßnahme. Wer sich direkt in eine Microservices-Migration stürzt, zeigt mangelnden Pragmatismus.
CaseAPI- und System-Design Design: wir wollen in unsere Anwendung ein Webhook-System für Drittsysteme ergänzen (Beispiel: ein Kunden-Event wird an eine externe URL des Kunden geliefert). Wie entwerfen Sie das?
Worauf eine starke Antwort hinweistKlärung vor dem Vorschlag (erwartetes Volumen, Latenzanforderung, Retry-Verhalten, Sicherheits-Modell). Kohärente Architektur: asynchrone Queue, idempotente Lieferung mit Event-ID, Retry mit exponentiellem Backoff, Dead-Letter-Queue, signierte Payload (HMAC oder ähnliches), Endpoint-Verifikation. Bonus: explizite Behandlung von langsamen oder ausgefallenen Empfängern (Circuit Breaker, Throttling pro Empfänger). Wer ohne Klärung sofort in den Code springt, zeigt eine Design-Schwäche.
CaseAPI- und System-Design Design: wir bauen ein Counter-System, das mehrere Tausend Inkrementierungen pro Sekunde verträgt (Beispiel: View-Counter auf populären Artikeln). Wie entwerfen Sie das?
Worauf eine starke Antwort hinweistErkennen, dass eine naive UPDATE-Operation pro Request nicht skaliert: Lock-Contention, Connection-Limits, WAL-Druck. Lösungsraum: In-Memory-Counter mit periodischem Flush, Sharded Counter, Redis-Inkrement mit Persistenz-Strategie, Event-Stream mit nachgelagerter Aggregation. Bonus: Diskussion der Konsistenzgarantien (eventually consistent vs. strikt) und Failover-Verhalten. Wer einfach eine Postgres-Tabelle nimmt, hat Last und Konsistenz nicht durchdacht.
CaseDebugging und Observability Debug: in Ihrer Produktionsumgebung steigt die P99-Latenz eines kritischen Endpoints seit 48 Stunden langsam an, ohne dass ein Deploy stattgefunden hat. Wie gehen Sie vor?
Worauf eine starke Antwort hinweistStrukturierte Methode: (1) Korrelation mit externen Faktoren (Verkehrsanstieg, Datenwachstum, Drittsystem-Latenz), (2) Slow-Query-Logs und DB-Statistiken prüfen (Tabellengröße, Indexnutzung, Vacuum-Status bei Postgres), (3) Trace einer langsamen Anfrage von Edge bis DB, (4) Hypothesen ordnen (Index-Bloat, Cache-Miss-Rate gestiegen, Connection-Pool ausgelastet). Bonus: erkennen, dass langsamer Anstieg meist auf Datenwachstum oder Index-Degradation hindeutet, nicht auf einen plötzlichen Fehler.
FachlichDatenbank-Fundament Erklären Sie den Unterschied zwischen den Isolation Levels Read Committed, Repeatable Read und Serializable in einer relationalen Datenbank. Wann setzen Sie welches Level ein?
Worauf eine starke Antwort hinweistSolides Verständnis der Anomalien (Dirty Read, Non-repeatable Read, Phantom Read, Write Skew). Read Committed als pragmatischer Default in Postgres, Repeatable Read für konsistente Berichte, Serializable für selten genutzte, aber kritische Pfade (Buchhaltung, Inventar). Bonus: Erwähnung der Performance-Kosten von Serializable und der Strategie mit SELECT FOR UPDATE als Mittelweg. Wer die Levels nicht trennen kann, baut in Produktion Race Conditions ein.
FachlichDebugging und Observability Was loggen, messen und alarmieren Sie auf einem neuen Backend-Service, bevor er in Produktion geht? Welche Werkzeuge nutzen Sie?
Worauf eine starke Antwort hinweistKlare Trennung von Logs (strukturiert, mit Trace-ID), Metriken (RED- oder USE-Methode: Rate, Errors, Duration; oder Utilization, Saturation, Errors) und verteiltem Tracing. Konkrete Tool-Wahl mit Begründung (Prometheus plus Grafana, OpenTelemetry, Datadog, Sentry). Alarme nur auf actionable Signale, nicht auf jede Anomalie. Bonus: explizite SLOs mit Error Budget. Wer pauschal „alles loggen“ sagt, zeigt fehlende Erfahrung mit hochlastigen Services.
FachlichSicherheit Welche Sicherheitsprüfungen führen Sie auf einem Backend-Service durch, bevor er ein Drittsystem-Token oder Nutzerdaten verarbeitet? Welche Klassen von Angriffen halten Sie konkret im Blick?
Worauf eine starke Antwort hinweistKlare Liste: Injection (SQL, OS, Template), Auth- und Session-Schwächen, Authorization-Bypass auf Tenant-Ebene, unsicheres Secret-Handling (Plaintext im Repo, in Logs, in Tracing), unsicheres Deserialisieren, SSRF aus Backend-Calls, Open-Redirect. Konkrete Maßnahmen: parametrisierte Queries, Secret-Manager, Output-Encoding, Authorization-Checks auf jeder Request, Logging ohne sensible Daten. Bonus: OWASP-Top-10-Bezug mit konkreter Anwendung im eigenen Stack.
WerteCoachability Wie nehmen Sie eine kritische Code-Review zu Code auf, von dem Sie überzeugt waren, dass er gut ist (Beispiel: Ihr API-Design oder Ihr Datenmodell wird in Frage gestellt)?
Worauf eine starke Antwort hinweistOffenheit: Fähigkeit, Code vom persönlichen Ego zu trennen. Bonus: die:der Kandidat:in nennt einen Fall, in dem sie:er durch eine Review tatsächlich umgedacht hat (anderes Datenmodell, andere API-Form). Wer beschreibt, der:dem Reviewer:in die eigene Logik erklärt zu haben, anstatt zuzuhören, zeigt eine Schwäche in der Coachability; im KMU mit kleinem Backend-Team ist das ein hartes K.o.-Signal.
WerteMentoring und Weitergabe Welche Rolle spielen Sie bei der technischen Weitergabe an Junior-Profile oder neue Teammitglieder, besonders im Backend-Bereich, wo Fehler in Produktion teuer sind?
Worauf eine starke Antwort hinweistAktive Mentorenhaltung: Pair-Programming auf kritischen Pfaden, pädagogische Reviews mit Begründung (nicht nur „ok, merge“), dokumentierte Architektur-Entscheidungen (ADR), Weitergabe guter Praktiken (Idempotenz, Backoff, sichere Deploys). Wer „Ich helfe, wenn ich gefragt werde“ sagt, ohne mehr Konkretes, zeigt eine passive Haltung. Im KMU mit kleinem Backend-Team ist die Fähigkeit zur Weitergabe entscheidend für die Nachhaltigkeit des Teams.
WerteTeamspiel übergreifend Wie arbeiten Sie mit Frontend-Profilen, SRE oder DBA zusammen? Beschreiben Sie eine Situation, in der Sie einem Vorschlag widersprochen haben.
Worauf eine starke Antwort hinweistPartnerschaftliche Haltung: konstruktives Challenging auf Basis von Machbarkeit, Komplexität oder operativen Folgen, Alternativvorschläge. Bonus: die:der Kandidat:in nennt einen Fall, in dem sie:er den ursprünglichen Vorschlag nach Austausch akzeptiert hat (keine systematische Opposition). Wer Frontend, SRE oder DBA mit „verstehen Backend nicht“ beschreibt, zeigt Schwäche im übergreifenden Teamspiel.
Evaluations-Playbook
Die Rolle der Backend-Entwickler:in zeigt sich über fünf Evaluations-Stufen. Die System-Design-Übung (Stufe 4) ist für diese Rolle die prädiktivste: Backend-Profile treffen täglich Entscheidungen über Datenmodelle, Konsistenzgarantien und Skalierungsstrategien, die später schwer rückbaubar sind.
Stufe 1: CV-Lektüre
Suchen Sie nach Stack-Konsistenz (ein Profil mit Go und Postgres wechselt nicht ohne 3 bis 6 Monate Einarbeitung zu Java und Oracle), Stabilität (mindestens 18 bis 24 Monate auf vorherigen Positionen) und Produktionssignalen (eigenständig betriebene Services, On-Call-Erfahrung, sichtbares GitHub mit OSS-Beiträgen oder eigenen Libraries). Der Abschluss zählt weniger als die letzten 3 bis 5 Jahre Praxis: ein:e Autodidakt:in mit 5 Jahren Produktionsbetrieb skaliert oft besser als ein:e Top-Uni-Absolvent:in ohne On-Call-Erfahrung.
Stufe 2: Phone Screen (30 Min.)
Nur drei Fragen: (1) Beschreiben Sie den jüngsten Service, den Sie eigenständig in Produktion gebracht haben; was war Ihr Beitrag?, (2) Welche technische Entscheidung haben Sie kürzlich getroffen, an der Sie noch zweifeln? (Demut und Reflexion), (3) Warum suchen Sie jetzt einen Wechsel? Ergebnis: Go/No-Go in 5 Min. Debrief. Vermeiden Sie technische Gotcha-Fragen auf dieser Stufe.
Stufe 3: Technisches Interview (60 bis 90 Min.)
Pair-Programming oder Code-Review auf einer begrenzten Backend-Aufgabe (45 bis 60 Min.), gefolgt von 15 bis 30 Min. Q&A zu Datenmodellen und API-Design. Bewerten Sie die Fähigkeit, laut zu denken, Edge Cases (leere Eingabe, parallele Schreibzugriffe, fehlerhafte Eingaben) selbst zu identifizieren und zu iterieren. Vermeiden Sie rein akademische Algorithmen ohne Bezug zum Alltag; bevorzugen Sie Aufgaben, die dem Tagesgeschäft ähneln (einen REST- oder gRPC-Endpoint ergänzen, einen Bug in einer Queue debuggen, eine N+1-Query refactorn).
Stufe 4: System-Design-Übung (60 Min.)
Architektur-Diskussion zu einem konkreten Fall: Wie würden Sie ein System für [produktspezifische Funktion mit Last, Konsistenz- oder Latenzanforderungen] entwerfen? Bewerten Sie die Fähigkeit, Bedingungen vor dem Vorschlag zu klären (erwartetes Volumen, akzeptable Latenz, Konsistenzgarantien, Failover), zwischen Einfachheit und Skalierbarkeit abzuwägen und Unsicherheitszonen zu erkennen. Für Backend die prädiktivste Stufe: schlechte Entscheidungen zu Datenmodell, Konsistenz oder Queueing zeigen sich erst nach Monaten und sind teuer zu reparieren.
Stufe 5: Referenzen (strukturierte Überprüfung)
Rufen Sie zwei Referenzen an: eine:n ehemalige:n Tech Lead oder direkte:n Vorgesetzte:n und eine:n ehemalige:n Backend-Kolleg:in. Stellen Sie beiden dieselben 4 Fragen: Worin ist sie:er am stärksten? Worin würden Sie eine ergänzende Person einstellen? Würden Sie sie:ihn morgen wieder einstellen, warum? Ein Beispiel einer schwierigen technischen Entscheidung in Eigenverantwortung (Datenmodell, Migration, Incident)? Die 4. Frage liefert das eigentliche Autonomie-Signal.
Woran Sie eine hervorragende Besetzung erkennen
| Kompetenz | Unter Anforderung | Auf Niveau | Über Anforderung |
|---|---|---|---|
| Backend-Fundamente | Stolpert über Fundamente (HTTP-Semantik, Indexierung, Transaktionen, Asynchronität, Konsistenz). Sucht Lösungen durch Versuch und Irrtum ohne klares mentales Modell. Tut sich schwer mit dem Wechsel auf einen neuen Stack. | Beherrscht den aktuellen Stack eigenständig (Sprache, Web-Framework, ORM oder Query-Builder, relationale DB, Queue oder Cache). Kann ein neues Backend-Framework in 2 bis 4 Wochen lernen. Versteht die Fundamente gut genug, um bei Bedarf tief zu debuggen. | Referenzperson für den Backend-Stack im Team und in der Lage, innerhalb weniger Wochen auf neuen Stack umzusteigen. Antizipiert klassische Fallen (Race Conditions, N+1-Queries, Memory Leaks, Connection-Pool-Erschöpfung). Baut nützliche, nicht verfrühte Abstraktionen. |
| API- und System-Design | Springt ohne Klärung der Bedingungen in den Code. Überarchitekturiert (Microservices für ein MVP) oder unterarchitekturiert (großer Monolith ohne Grenzen). Schwer beim Abwägen zwischen Einfachheit, Konsistenz und Skalierbarkeit. | Klärt Bedarf, Last und Konsistenzanforderungen vor dem Coden. Pragmatisch beim Abwägen: keine vorzeitige Architektur für unsichere Zukunft, identifiziert aber Zonen, in denen Struktur sich auszahlt (Queueing, Idempotenz, Indizes). Kann umsteuern, wenn die Ausgangshypothese nicht hält. | Entwirft Systeme, die gut altern: klare API-Verträge, gut gewählte Konsistenzgarantien, idempotente und sichere Operationen, minimale Abhängigkeiten. Erkennt eigene Unsicherheitszonen und schlägt gezielte POCs vor. Trainiert das Team in systemischem Denken. |
| Debugging und Observability | Ohne Logs oder Metriken handlungsunfähig. Reagiert auf Incidents mit Neustart oder Glück. Keine strukturierte Diagnose. Loggt entweder zu wenig oder alles als Rauschen. | Hat ein klares Vorgehen bei Incidents (Reproduktion, Hypothesen, Validierung). Setzt strukturierte Logs, sinnvolle Metriken und Tracing ein. Schreibt nach einem Incident ein Post-mortem, das Maßnahmen ableitet. | Referenz im Team für Observability: definiert SLOs, baut Alarm-Hygiene auf (kein Pager-Müll), entwickelt Runbooks. Findet Grundursachen in komplexen verteilten Systemen schnell. Coacht das Team in Debug-Hygiene. |
| Datenbank- und Sicherheits-Hygiene | Schreibt SQL ohne Bewusstsein für Indizes, Locking oder Isolation. Speichert Secrets im Repo oder in Logs. Keine Konsistenzgarantien beim Schreiben über mehrere Tabellen oder Services. | Versteht Indexierung, Transaktionen und gängige Isolation Levels. Setzt parametrisierte Queries und Secret-Manager ein. Sichert mehrteilige Schreiboperationen durch Transaktionen, Idempotenz-Keys oder Sagas ab. | Plant Datenmodelle für 3 bis 5 Jahre Wachstum. Beherrscht Online-Migrationen mit Rollback. Setzt OWASP-Top-10-Schutz konsequent um, prüft Authorization auf Tenant-Ebene, instrumentiert Auth-Pfade. Referenz für sichere Deploys im Team. |
| Autonomie und Findigkeit | Blockiert sich stundenlang auf einem unbekannten Thema, ohne um Hilfe zu bitten, oder fragt bei jedem Hindernis sofort. Keine strukturierte Debug-Strategie unter Druck. | Kann auf bekannten Themen eigenständig diagnostizieren; fragt nach vorheriger Untersuchung um Hilfe (Zusammenfassung des Problems, Hypothesen, was bereits versucht wurde). Bleibt unter Incident-Druck handlungsfähig. | Hohe Findigkeit auf unbekannten Themen: liest den Quellcode der Abhängigkeiten, instrumentiert die Runtime, isoliert Grundursachen, baut bei Bedarf neue Werkzeuge. Dokumentiert die Erkenntnisse für das Team. |
| Kommunikation und Teamspiel | Erklärt eigene Backend-Entscheidungen Nicht-Techniker:innen schlecht. Defensive Haltung in Reviews. Arbeitet im Silo, teilt wenig Kontext. Systematische Opposition gegenüber Frontend, SRE oder DBA. | Kann eigene Entscheidungen gegenüber PM oder Geschäftsführung in klarer Sprache erklären. Nimmt Reviews konstruktiv auf. Teilt Kontext in Team-Reviews und 1:1, dokumentiert Architektur-Entscheidungen. | Brücke zwischen Backend und anderen Funktionen. Moderiert technische Debriefs, macht Abwägungen verständlich, verhandelt Timelines transparent. Referenz im Team für übergreifende Kommunikation. |
30/60/90-Tage-Plan
Bis Tag 30
- Vollständiger Setup der lokalen Entwicklungsumgebung, Zugriff auf alle Backend-Services und Deployment eines kleinen PR in Produktion validiert
- Lesen und Verständnis des Codes der 3 fachlich kritischsten Services und der zentralen Datenmodelle
- Erstes dokumentiertes 1:1 mit der:dem Tech Lead zu Konventionen, identifizierter Schuld, On-Call-Verfahren und Prioritäten
- Erster substantieller PR (Bug-Fix oder kleiner Endpoint) reviewt und gemerged
Bis Tag 60
- Lieferung eines vollständigen Backend-Features von Anfang bis Ende (Datenmodell, API, Tests, Deployment, Monitoring) in Eigenverantwortung
- Erste PR-Review eines Kollegen oder einer Kollegin mit strukturiertem Feedback, nicht nur Approve-Klick
- Erste On-Call- oder Bereitschaftsphase mit Bearbeitung von mindestens einem Vorfall und Beitrag zum Post-mortem
- Dokumentation eines kürzlich bearbeiteten Services oder eines Runbooks verfasst oder aktualisiert
Bis Tag 90
- Regelmäßige Lieferung (1 bis 2 PRs pro Woche) mit in der Review bestätigter Qualität und sichtbarem Beitrag zu mindestens einer Architektur-Entscheidung
- Erste technische Entscheidung in Eigenverantwortung zu einem mehrdeutigen Backend-Thema (Datenmodell, Migration, Library-Wahl, Queue-Strategie)
- Informelles Mentoring eines Junior- oder neuen Profils (Pair-Programming, pädagogische Reviews, Onboarding-Begleitung)
- Formales Bilanzgespräch mit der:dem Tech Lead: Ramp-Phase validiert, Entwicklungsplan auf 1 bis 2 Schwerpunkte