Senior Backend Engineer
Structured interview questions for Senior Backend Engineer, with what a strong answer surfaces for each one.
BehavioralAPI and system design Describe an API you designed and brought to production. What decisions did you make on versioning, authentication and error format, and how did you get the team aligned on them?
What a strong answer surfacesDeliberate decisions instead of defaults: an explicit versioning strategy, an auth model suited to the context, a consistent error format. At senior level, also look for how they drove alignment (an RFC, a design review, ADRs). Bonus: decisions they'd make differently today. An engineer who imposed choices with no alignment story shows a leadership gap.
BehavioralDebugging and observability Tell me about a production incident you led the resolution of. What was the symptom, how did you diagnose it, and what systemic fix followed?
What a strong answer surfacesA structured method (reproduction, logs, metrics, hypotheses) and, at senior level, incident leadership: coordinating others, communicating status, owning the post-mortem and the systemic fix (runbook, alert, architectural change). Honesty about duration. I restarted the service with no diagnosis or follow-up is a serious senior flag.
BehavioralDatabase fundamentals Describe a database migration you ran in production. How did you handle downtime, rollback and data consistency, and how did you de-risk it for the team?
What a strong answer surfacesAn incremental approach: online migration with dual writes or backfill, an explicit rollback plan, consistency validation before cut-over — plus how they sequenced and communicated it so the team could execute safely. Bonus: a migration that ran longer than planned and the lesson. A big-bang migration with no rollback is risk blindness at any level, worse at senior.
SituationalDebugging and observability Since the last deploy your API returns a 500 on 1 % of requests. The logs show no obvious error. How do you proceed over the next 30 minutes, and how do you involve the team?
What a strong answer surfacesA structured method: keep rollback open, raise log level on affected endpoints, correlate with metrics, isolate the pattern (time, request type, tenant). At senior level: delegating investigation threads, communicating to stakeholders, and starting a post-mortem in parallel. Jumping to it's probably the DB without investigation is a bias to catch.
SituationalPragmatism and prioritization A product manager requests a new endpoint that, in your view, would scan a 200-million-row table unchanged. How do you react?
What a strong answer surfacesClarifying the underlying business need before the solution, then offering options (index, materialized view, async job with cache, data-model change) in terms the PM can weigh. Senior signal: they turn it into a shared decision, not a veto. I'll just build it and optimise later shows a lack of foresight.
SituationalPragmatism and prioritization You inherit a team with significant backend debt: no tests on business logic, manual deploys, little monitoring, a monolithic database. As the senior, what is your 90-day plan and how do you bring the team with you?
What a strong answer surfacesDiagnosis before action; prioritisation by risk and impact (monitoring first, then tests on the critical rules, then deploy automation, DB refactor last); and a plan that builds team buy-in and capability, not a solo heroics arc. Diving straight into a microservices rewrite, or fixing everything themselves without leveling up the team, both show poor senior judgement.
CaseAPI and system design Design: we want to add a webhook system for third parties (a customer event delivered to an external URL). How do you design it?
What a strong answer surfacesClarification before proposing (volume, latency, retry, security). A coherent architecture: async queue, idempotent delivery with an event ID, retry with exponential backoff, dead-letter queue, signed payload, endpoint verification. Bonus: explicit handling of slow or failed receivers (circuit breaker, per-receiver throttling) and how they'd stage the rollout. Jumping to code without clarifying is a design weakness.
CaseAPI and system design Design: a counter system handling several thousand increments per second (a view counter on popular articles). How do you design it, and how do you choose the consistency guarantees?
What a strong answer surfacesRecognising a naive UPDATE per request won't scale (lock contention, connection limits, WAL pressure). Solution space: in-memory counter with periodic flush, sharded counter, Redis increment with a persistence strategy, event stream with aggregation. Senior signal: an explicit, justified choice of consistency guarantee (eventual vs. strict) and failover behaviour, not just a menu of options.
CaseDebugging and observability Debug: in production the P99 latency of a critical endpoint has risen slowly over 48 hours with no deploy. How do you proceed?
What a strong answer surfacesA structured method: correlate with external factors (traffic, data growth, third-party latency), check slow-query logs and DB statistics (table size, index usage, vacuum), trace a slow request edge-to-DB, rank hypotheses (index bloat, cache-miss rate, exhausted pool). Senior signal: recognising a slow rise usually points to data growth or index degradation, and instrumenting so the next one is caught automatically.
TechnicalDatabase fundamentals Explain the isolation levels Read Committed, Repeatable Read and Serializable. When do you use which, and what are the costs?
What a strong answer surfacesA solid grasp of the anomalies (dirty read, non-repeatable read, phantom, write skew). Read Committed as the pragmatic default in Postgres, Repeatable Read for consistent reports, Serializable for rare but critical paths (accounting, inventory). Senior signal: the performance cost of Serializable and SELECT FOR UPDATE as a middle ground, and choosing per workload. Not separating the levels builds race conditions into production.
TechnicalDebugging and observability What do you log, measure and alert on for a new backend service before production, and how do you set SLOs for it?
What a strong answer surfacesA clear separation of structured logs (trace ID), metrics (RED/USE) and distributed tracing, with a justified tool choice (Prometheus + Grafana, OpenTelemetry, Datadog, Sentry). Alerts only on actionable signals. Senior signal: explicit SLOs with an error budget and how they'd negotiate them with product. log everything shows a lack of high-load experience.
TechnicalSecurity Which security checks do you run before a backend service handles a third-party token or user data, and which attack classes do you design against?
What a strong answer surfacesA clear list: injection, auth/session weaknesses, tenant-level authorization bypass, insecure secret handling, insecure deserialization, SSRF, open redirect. Concrete measures: parameterized queries, a secret manager, output encoding, per-request authorization checks. Senior signal: an OWASP Top 10 reference applied concretely to their own stack, and building these checks into the team's defaults.
ValuesCoachability How do you take a critical review of code or a design you were convinced was right? Give an example where it changed your mind.
What a strong answer surfacesOpenness: separating code from ego. Bonus: a concrete case where a review changed a data model or API shape. At senior level, also how they model this for the team (inviting challenge to their own designs). Explaining their logic at the reviewer instead of listening is a coachability flag that undermines a senior's ability to lead reviews.
ValuesMentoring and knowledge sharing How do you grow the engineers around you — mentoring, reviews, architecture guidance — especially where production mistakes are expensive?
What a strong answer surfacesAn active leadership posture: pairing on critical paths, pedagogical reviews with reasoning, documented decisions (ADR), spreading good practice (idempotency, backoff, safe deploys). At senior level this is a core deliverable, not a nice-to-have. I help when asked, with no more detail, is a weak answer for a role expected to lift the team.
ValuesCross-functional teamwork How do you work with frontend, SRE, DBA, product and management, and how do you drive a technical decision that others initially resist?
What a strong answer surfacesA partnership posture: constructive challenge grounded in feasibility and operational cost, with alternatives, plus the ability to build alignment without formal authority (RFCs, spikes, data). Bonus: a case where they changed their own position after input. Treating other functions as people who don't understand backend is a serious flag for a senior expected to be a bridge.
Evaluation playbook
For a senior Backend Engineer the system-design exercise (stage 4) is decisive, and you add an explicit read on technical leadership: how they set direction, mentor, and make irreversible decisions. A senior who codes well but cannot lift the team is a mid-level hire at a senior price.
Stage 1: CV review
Look for depth and ownership: services taken from design to production and operated over years, architecture or migration decisions they owned, on-call leadership, and signals of influence (tech-lead roles, mentoring, OSS maintenance, talks). Stability matters, but so does scope: has their responsibility grown over time? A long CV with no ownership or scope growth is a flag at senior level.
Stage 2: Phone screen (30 min)
Three questions: (1) Describe the most complex system you owned end to end; what was your specific contribution?, (2) A technical decision you made that you still doubt (humility and reflection), (3) Why a move now, and what do you want your next scope to be? Outcome: go/no-go. At senior level, probe scope and leadership appetite, not just technical breadth.
Stage 3: Technical interview (60 to 90 min)
Code review or pairing on a bounded but non-trivial backend task, followed by Q&A on data models and API design. Assess not only correctness but judgement: do they identify edge cases and trade-offs unprompted, and can they explain their reasoning at a level that would teach a mid-level engineer? Favour realistic tasks over academic algorithms.
Stage 4: System-design exercise (60 min)
Architecture discussion on a concrete, demanding case (real load, consistency and latency requirements). The most predictive senior stage: assess how they clarify constraints, trade off simplicity against scalability, sequence a migration safely, and flag zones of uncertainty. Poor senior decisions on data model, consistency or queueing are expensive and slow to repair — this stage is where you catch them.
Stage 5: Leadership and references
Add a leadership read: how they mentor, run reviews, and drive alignment without authority. Call two references — a former manager or tech lead and a mentee or peer — and ask both: strongest at? where would you hire complementary? would you hire again, why? a hard technical decision they owned? The mentee reference is the real signal on whether they lift a team.
How to recognize a great hire
| Trait | Below bar | On bar | Above bar |
|---|---|---|---|
| Backend fundamentals and depth | Gaps in fundamentals (HTTP semantics, indexing, transactions, consistency) that are surprising at senior level. Solves by trial and error with no clear mental model. | Deep command of the stack and fundamentals; debugs to the bottom of hard problems; anticipates classic traps (race conditions, N+1, pool exhaustion). Solid senior level. | A reference for the backend stack across the team; moves to a new stack in weeks; builds useful, non-premature abstractions and raises the whole team's technical bar. |
| API and system design | Jumps into code without clarifying constraints. Over- or under-architects. Struggles to trade off simplicity, consistency and scalability at scale. | Clarifies need, load and consistency before coding; pragmatic trade-offs; sequences migrations safely; pivots when a hypothesis fails. Reliable on demanding designs. | Designs systems that age well: clear contracts, well-chosen guarantees, idempotent and secure operations, minimal dependencies. Names their own uncertainty and de-risks with targeted POCs. Trains the team in systemic thinking. |
| Debugging, observability and operations | Powerless without logs or metrics; reacts to incidents with a restart or luck; no structured diagnosis; logs too little or pure noise. | Clear incident approach (reproduction, hypotheses, validation); uses structured logs, sensible metrics and tracing; writes post-mortems that produce actions. | A team reference for observability: defines SLOs, builds alert hygiene, writes runbooks, finds root causes fast in complex distributed systems, and leads incidents calmly. |
| Technical leadership and mentoring | Works as an individual contributor only; avoids reviews and mentoring; imposes decisions or defers all of them; little influence beyond their own tickets. | Mentors juniors and mids, gives pedagogical reviews, documents decisions, and drives alignment on decisions in their area. A genuine multiplier on a small team. | Sets technical direction for the backend, mentors across levels, builds consensus without authority, and visibly raises the team's output and standards. Trusted with the hardest, most irreversible calls. |
| Database and security hygiene | Writes SQL with no awareness of indexes, locking or isolation; stores secrets in the repo or logs; no consistency guarantees across writes. | Understands indexing, transactions and isolation levels; uses parameterized queries and a secret manager; secures multi-part writes with transactions, idempotency keys or sagas. | Plans data models for years of growth; masters online migrations with rollback; applies OWASP Top 10 consistently; checks tenant-level authorization; a reference for safe deploys. |
| Communication and cross-functional influence | Explains backend decisions poorly to non-technical people; defensive in reviews; works in a silo; systematic opposition to other functions. | Explains decisions clearly to PMs and management; takes reviews constructively; shares context and documents decisions; collaborates well across functions. | A bridge between backend and the rest of the org; facilitates debriefs, makes trade-offs legible, negotiates timelines transparently, and builds alignment on hard calls. |
30 / 60 / 90 day success plan
By day 30
- Full environment and access set up, the 3 most business-critical services and central data models understood in depth, and a first substantial PR merged to production
- Documented 1:1s with the tech lead and each team member on conventions, debt, on-call and priorities; a map of the biggest technical risks
- First visible contribution to a review or design discussion, establishing credibility with the team
By day 60
- Owns a significant backend feature or improvement end to end (data model, API, tests, deployment, monitoring) independently
- Actively raising the bar in reviews with structured, pedagogical feedback, and mentoring at least one less-experienced engineer
- Led or co-led an on-call rotation including at least one incident, with a post-mortem and a systemic fix
By day 90
- Owns an ambiguous, architecture-level decision (data model, migration, service boundaries, queue strategy) with the team aligned behind it
- Recognised as a technical reference in their area; other engineers seek their input on design and incidents
- Formal review with the tech lead: scope confirmed, a plan for the leadership and architecture areas they'll drive next