Site Reliability Engineer interview question
How do you test service reliability?
Test reliability with load and stress tests, dependency-failure injection, zone or instance loss, timeout and retry validation, backup restores, and game days; define steady-state signals and safe abort conditions first.
Direct answer
What a strong answer covers
How it works
Reliability is tested by making failure happen on purpose under observation. Load and stress tests find the breaking point and the first saturating dependency. Fault injection kills instances, drops a zone, adds latency to a dependency, or returns errors from it, and checks that timeouts, retries, circuit breakers, and fallbacks behave as designed rather than as assumed. Backup restores prove recovery time. Game days rehearse the human side: paging, runbooks, and communication. Every experiment defines the steady-state signal that must hold, the blast radius, and the abort condition before it starts, and it runs first in staging and then in production with a small scope.
Example
A game day injected 500 ms latency into the recommendation service in production for 2 percent of traffic; the expected behaviour was a 300 ms timeout with a fallback to popular items, but the client had a 5-second default and the page slowed for those users. The experiment was aborted at the latency threshold, the timeout was fixed the same week, and the rerun passed. A zone-loss test the following month confirmed capacity in the remaining zones.
Common mistakes
- Testing reliability only in staging where the traffic and data are unrealistic.
- Running chaos experiments without a defined abort condition.
- Assuming retries and circuit breakers work because they are configured.
A useful answer structure
Answer from your own work.
Do not memorise a script: use only examples you can explain honestly in follow-up questions.
Open the desktop workspace and rehearse a clear answer in your own words.