Contain it first: set an aggressive timeout so their latency does not become yours, retry with exponential backoff and jitter on idempotent calls only, and put a circuit breaker in front so you stop hammering something that is already down. Then decide what degraded behavior looks like: queue the work for later, serve a cached value, or fail that one feature while the rest of the product keeps working.
Why interviewers ask this
Every real system depends on something it does not control, and the interviewer wants to know you design for that provider having a bad day. They are listening for timeouts, which are the most commonly omitted control, retry discipline tied to idempotency, circuit breaking so you do not make the outage worse, and product level thinking about graceful degradation rather than propagating a 500 to the user.
How to structure your answer
- Set a timeout so their problem stays theirs.
- Retry only what is safe, with backoff and jitter.
- Add a circuit breaker to stop piling on.
- Define the degraded experience for users.
Example answer
The first thing I check is whether we even have a timeout, because the default in a lot of HTTP clients is effectively forever, and that is how one slow provider fills your worker pool and takes down endpoints that have nothing to do with them. So an aggressive timeout, tighter than my own SLA. Then retries, but only on calls that are safe to repeat, with exponential backoff and jitter, because synchronized retries from every instance turn their brownout into a full outage. A circuit breaker goes in front, so after a run of failures we stop calling for a while and fail fast rather than queueing. Then the product question, which is the interesting one: what should the user see? For an address validation call I would let the order through and flag it for review. For a payment authorization I cannot fake it, so I queue the attempt and tell the user honestly. And I would be on their support channel with request ids the whole time.
Walking into this interview soon? GhostPilot listens to your live call, spots the question the moment it is asked, and puts a structured answer on your screen in real time. Try it on your next mock, or grab a $29 Session Pass, no subscription, for the real thing.
See how it worksFollow-up questions to expect
- How do you decide the timeout value?
- How would you test that your circuit breaker actually works?
- What would you monitor to catch this before customers do?
Related software engineer questions
Your interviewer will ask their own version of this. Paste your actual job description into the free Question Predictor and get the 20 questions that role is most likely to ask, with what each one is really probing.
Predict my questions