Skip to content
RED SAGSkills
hardSite Reliability Engineer interview question

After a brief dependency outage, your service stays overloaded long after the dependency recovered. How do you get out of this state, and how do you design to avoid it?

What the interviewer wants to hear

  • Recognise a metastable state driven by retries and timed-out work
  • Break the loop: shed load, cut retries, rate limit or temporarily block traffic
  • Drop work whose deadline has passed and recover gradually
  • Use retry budgets, backoff with jitter and circuit breakers
  • Use deadline propagation, admission control and load tests of recovery

Model answer

This is a metastable failure: the trigger is gone, but retries and work for requests nobody is waiting for keep the system overloaded. Adding capacity often does not help because retry traffic grows with it. To recover, I break the feedback loop: shed load at the edge, turn down or disable client retries through config or feature flags, and, if needed, block a share of traffic and let it back in gradually while queues drain. Servers should drop requests whose deadline has already passed instead of processing them. To prevent it, I use retry budgets that cap retries to a small share of normal traffic, exponential backoff with jitter, circuit breakers on dependencies, and retries at only one layer. Deadline propagation and admission control keep useless work out. Finally I load test recovery itself, not only peak load, to prove the system returns to normal after a spike.

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