Skip to content
RED SAGSkills
hardSite Reliability Engineer interview question

What causes cascading failures in distributed systems, and how do you design to prevent them?

What the interviewer wants to hear

  • Overload causing a positive feedback loop
  • Retry storms and resource exhaustion like threads or connections
  • Timeouts and deadline propagation
  • Load shedding, rate limiting and bounded queues
  • Circuit breakers and graceful degradation
  • Isolation such as bulkheads and capacity headroom

Model answer

A cascading failure is a positive feedback loop: one part gets overloaded, slows down or fails, and its load moves to other parts, which then fail too. Common triggers are retry storms, a lost zone shifting traffic, slow dependencies that tie up threads and connection pools, and unbounded queues. To prevent it I set timeouts on every call and propagate deadlines so work stops when the caller has given up. I limit retries with backoff, jitter and retry budgets. Servers protect themselves with bounded queues, concurrency limits and load shedding by priority. Circuit breakers stop calls to unhealthy dependencies, and graceful degradation serves simpler or cached results. Bulkheads isolate resources per dependency or tenant, and enough headroom means losing one zone does not overload the rest. I test all of this with load tests and chaos experiments.

Can you answer it under time pressure?

Take a timed hard round and get scored on every answer.

Start mock interview

More hard Site Reliability Engineer questions