Vorstellungsgespräche für Senior-Engineering-Positionen
Praktische Tipps für Senior-Engineering-Interviews: Systemdesign, Verhaltensfragen, Architekturdiskussionen und Gehaltsverhandlung.

Vorstellungsgespräche für Senior-Engineering-Rollen prüfen andere Fähigkeiten als die für Junior-Positionen. Algorithmus-Aufgaben kommen zwar weiterhin vor, aber der Schwerpunkt verschiebt sich hin zu Systemdesign, architektonischem Urteilsvermögen, teamübergreifender Kommunikation und technischer Führung. Der Unterschied zwischen den Kandidaten liegt selten im technischen Wissen – er liegt darin, wie sie Trade-offs kommunizieren und mit Unklarheiten umgehen.
Wer diesen Prozess von beiden Seiten des Tisches erlebt hat, erkennt: Die Muster, die starke Senior-Kandidaten vom Rest unterscheiden, lassen sich erlernen.
System-Design-Interviews
In der Systemdesign-Runde wird bewertet, wie du unklare Probleme strukturiert angehst. Dem Interviewer geht es weniger um die „richtige" Antwort als um deine Herangehensweise.
## Framework: RESHADED
R - Requirements: Clarify functional and non-functional requirements
E - Estimation: Back-of-envelope capacity calculations
S - Storage: Data model and database selection
H - High-level design: Core components and data flow
A - API design: Key endpoints and contracts
D - Deep dive: Dive into 1-2 components that matter most
E - Edge cases: Failure modes and bottlenecks
D - Discussion: Tradeoffs you considered and alternatives
## Example: Design a URL Shortener
Requirements (ask these, don't assume):
- Read/write ratio? → 100:1 reads to writes
- Custom aliases? → Yes, optional
- Analytics? → Click count, basic geolocation
- Expiration? → Optional TTL per link
- Scale? → 100M new URLs/month, 10B redirects/month
Estimation:
- Writes: 100M / month ≈ 40/sec
- Reads: 10B / month ≈ 3,800/sec (peak: ~10K/sec)
- Storage: 100M × 500 bytes ≈ 50GB/month
- 5 years: 3TB total
Key insight to demonstrate: This is a read-heavy system.
Caching is critical. Writes are simple.
Der häufigste Fehler: direkt zum Datenbankschema springen, ohne vorher die Anforderungen zu klären. Verwende die ersten 5 Minuten darauf, klärende Fragen zu stellen. Das ist der wichtigste Unterschied zwischen den Kandidaten.
Technische Entscheidungen kommunizieren
Von Senior-Engineers wird erwartet, dass sie begründen können, warum sie sich für einen Ansatz und gegen einen anderen entschieden haben. Übe, Trade-offs klar und explizit zu benennen.
## ❌ Weak communication pattern
"I'd use Redis for caching because it's fast."
## ✅ Strong communication pattern
"For the caching layer, I'd use Redis over Memcached for two reasons:
1. We need data structures beyond simple key-value — sorted sets
for the analytics leaderboard and hash maps for link metadata.
2. Redis persistence lets us survive cache restarts without a
thundering herd hitting the database.
The tradeoff is Redis uses more memory per key than Memcached,
and horizontal scaling requires Redis Cluster setup. Given our
~50GB working set, a single Redis instance with a read replica
handles the load for the first year."Das Muster: die Entscheidung nennen, 2 bis 3 konkrete Gründe liefern, den Trade-off benennen und erklären, warum er in diesem Kontext vertretbar ist.
Verhaltensfragen für Senior-Positionen
Verhaltensfragen auf Senior-Ebene drehen sich um Führung, Konfliktlösung und Wirkung – nicht nur um technisches Problemlösen.
## Common Senior Behavioral Questions
1. "Tell me about a time you disagreed with a technical decision."
2. "Describe a project that failed. What was your role?"
3. "How do you handle a situation where two teams have conflicting priorities?"
4. "Tell me about a time you mentored someone and it changed their trajectory."
5. "Describe a time you had to make a technical decision with incomplete information."
## STAR Framework Response Structure
S - Situation: Brief context (2 sentences max)
T - Task: What was your specific responsibility
A - Action: What YOU did (not the team)
R - Result: Quantified outcome + what you learned## Example: Technical Disagreement
Situation: "Our team needed to migrate from a monolith to
microservices. The architect proposed extracting all 12 services
at once over 6 months."
Task: "As the senior engineer responsible for the payment system,
I believed the big-bang approach was too risky for our revenue-
critical path."
Action: "I wrote a one-page proposal for a strangler fig pattern —
extract one service at a time, starting with the lowest-risk
domain (notifications). I included a rollback plan for each phase
and showed how we could measure success before extracting the
next service. I presented it at the architecture review meeting."
Result: "The team adopted the incremental approach. We extracted
4 services in 6 months with zero customer-facing incidents. The
remaining 8 services were migrated over the next year. The key
lesson: I learned that proposing a concrete alternative is more
effective than opposing someone's plan without one."Das entscheidende Detail, das die meisten Kandidaten übersehen: genau zu erklären, was du konkret getan hast – nicht, was das Team getan hat. „Wir haben entschieden" sagt dem Interviewer nichts. „Ich habe X vorgeschlagen, weil Y" zeigt individuelles Urteilsvermögen.
Muster für Architekturdiskussionen
Manche Interviews ersetzen das Systemdesign durch eine Architekturbewertung – du bekommst ein bestehendes System vorgelegt und sollst es kritisieren oder verbessern.
// Given: Current architecture overview
interface CurrentSystem {
api: 'Express monolith, single process';
database: 'PostgreSQL, single primary, 500GB';
cache: 'Application-level in-memory cache';
queue: 'Cron jobs for async processing';
deployment: 'Single EC2 instance, manual deploys';
}
// Task: "We're seeing 5-second response times during peak hours
// and had two outages last month. What would you change?"
// Framework: prioritize by impact and reversibility
const recommendations = [
{
change: 'Add Redis caching layer',
impact: 'high',
effort: 'low',
reasoning: 'In-memory cache dies on restart. Redis survives deploys.',
risk: 'Low — additive change, fallback to database on cache miss',
},
{
change: 'Add read replica for PostgreSQL',
impact: 'high',
effort: 'medium',
reasoning: '500GB DB with read-heavy load. Route analytics/reports to replica.',
risk: 'Medium — need to handle replication lag for consistency-sensitive reads',
},
{
change: 'Replace cron with proper job queue (BullMQ/SQS)',
impact: 'medium',
effort: 'medium',
reasoning: 'Cron misses jobs if process crashes. Queue provides retry and visibility.',
risk: 'Low — can migrate one job at a time',
},
{
change: 'Containerize and deploy to ECS/K8s',
impact: 'high',
effort: 'high',
reasoning: 'Single EC2 = single point of failure. Containers enable horizontal scaling.',
risk: 'High — large infrastructure change, do this after quick wins',
},
];Die zentrale Erkenntnis: nach dem Verhältnis von Wirkung zu Aufwand priorisieren und mit reversiblen Änderungen beginnen. Eine vollständige Kubernetes-Migration als ersten Schritt vorzuschlagen, zeugt von schlechtem Urteilsvermögen. Einen Redis-Cache einzuführen lässt sich in einer Woche umsetzen und wirkt sofort.
Deine Geschichten vorbereiten
Bereite vor jedem Senior-Interview 8 bis 10 Geschichten vor, die diese Dimensionen abdecken. Jede Geschichte lässt sich auf mehrere Fragen anpassen.
## Story Bank (prepare before interviews)
### Technical Leadership
- [ ] Led a major migration or refactoring effort
- [ ] Made a reversible architectural decision under uncertainty
- [ ] Introduced a new technology or practice to the team
### Conflict and Communication
- [ ] Disagreed with a manager or architect and resolved it
- [ ] Mediated between two teams with conflicting priorities
- [ ] Gave difficult feedback to a peer or direct report
### Impact and Growth
- [ ] Mentored someone who grew significantly
- [ ] Identified and fixed a systemic issue (not just a bug)
- [ ] Reduced operational burden measurably (on-call, deploy time)
### Failure and Learning
- [ ] Project that failed — what you learned
- [ ] Decision you would make differently now
- [ ] Production incident you caused or resolved
## For each story, prepare:
- 30-second version (elevator pitch)
- 2-minute version (standard interview response)
- 5-minute version (deep-dive if asked to elaborate)Gehaltsverhandlung
Bei Senior-Positionen gibt es deutlich mehr Verhandlungsspielraum als bei Junior-Rollen. Die eigene Verhandlungsmacht ist größer, weil der Kandidatenpool kleiner ist.
## Negotiation Framework
1. Never give a number first
- "I'd like to understand the full compensation package
before discussing numbers."
2. Research the market range
- levels.fyi, Glassdoor, Blind, ask your network
- Know the 25th, 50th, and 75th percentile for your role
3. Negotiate on multiple dimensions
- Base salary, equity/RSUs, signing bonus, remote flexibility,
title, team placement, review timeline
4. Use competing offers honestly
- "I have another offer at $X. I'd prefer to join your team,
but I need the compensation to be competitive."
5. Get it in writing
- Verbal offers mean nothing. Wait for the written offer
letter before making any decisions.Die wichtigsten Erkenntnisse
- Kläre zuerst die Anforderungen beim Systemdesign – die ersten 5 Minuten mit Fragen zu verbringen, ist der wichtigste Unterschiedsfaktor.
- Benenne Trade-offs explizit – Entscheidung, Gründe, anerkannte Nachteile und warum sie im jeweiligen Kontext vertretbar sind.
- Nutze das STAR-Format für Verhaltensfragen – betone, was du getan hast, nicht was das Team getan hat.
- Priorisiere nach dem Verhältnis von Wirkung zu Aufwand bei Architekturdiskussionen – beginne mit schnellen, reversiblen Erfolgen.
- Bereite 8 bis 10 vielseitige Geschichten vor, die technische Führung, Konflikte, Wirkung und Misserfolge abdecken.
- Verhandle über mehrere Dimensionen – das Gehalt ist nur ein Hebel unter vielen.


