A team is launching a new checkout API and asks you to help define its SLOs. How do you approach it?
What the interviewer wants to hear
- Start from user journeys and what users notice
- Choose SLIs such as availability and latency measured close to the user
- Set targets from baseline data and business needs, not 100%
- Agree on the window, error budget and an error budget policy
- Build burn-rate alerts and review targets regularly
Model answer
I start with the user journeys: adding to cart, entering payment details and placing the order. For each, I ask what users notice when it breaks. That gives SLIs such as the share of checkout requests that succeed, and the share that complete within, say, 500 milliseconds, measured at the load balancer rather than inside the app. Next I look at a few weeks of baseline data and talk with product about how much unreliability the business can accept, then set achievable targets like 99.9% availability over 28 days. A target above what dependencies offer is not realistic. We agree on an error budget policy in writing: what happens when the budget is spent. Then I build multi-window burn-rate alerts and a dashboard, and we review the SLOs every quarter to see if they still match user happiness.
Can you answer it under time pressure?
Take a timed medium round and get scored on every answer.
More medium Site Reliability Engineer questions
- How would you design alerting for a service so that on-call engineers are not flooded with noisy alerts?
- Walk me through how you would run and write a postmortem after a major outage.
- How should a client retry failed calls to another service safely?
- A Linux server running a service suddenly becomes slow. How do you investigate?
- How do you do capacity planning for a growing service?
- Your Prometheus servers are running out of memory because of too many time series. How do you find the cause and keep cardinality under control?
- A Deployment rollout is stuck because new pods are in CrashLoopBackOff. Walk me through how you would debug it.
- During a major incident, how do you handle communication with customers, support and leadership?
- A big marketing launch is in three weeks. How would you load test the service to know it will cope?