Triage a Suddenly Slow Production Service
ByteDanceSite Reliability Engineer · Technical ScreenLast updated
This question tests your structured approach to incident response and root cause analysis in a distributed production environment.
Scenario
You are an SRE on call. Your monitoring dashboard alerts you that the P99 latency for the 'User-Profile-Service' has spiked from 50ms to 800ms over the last 10 minutes. This service is a critical path dependency for the homepage.
Task
Walk me through your step-by-step triage process to identify the root cause and restore service. You should address the following:
- Scoping: How do you determine if this is a global outage or isolated to a specific region, data center, or user segment?
- Analysis: What specific metrics, logs, or traces would you inspect to differentiate between internal bottlenecks (e.g., CPU/Memory, thread contention) and external dependencies (e.g., database latency, downstream API timeouts)?
- Mitigation: Once you have a hypothesis, what strategies would you use to restore service quickly? Discuss the order of operations between mitigation (e.g., traffic shedding, rollback, scaling) and evidence preservation.
- Recovery: What metrics or signals must return to healthy states before you declare the incident resolved?
Constraints
- Assume the service is deployed across multiple Kubernetes clusters.
- You have access to distributed tracing (Jaeger/Zipkin), structured logs (ELK/Splunk), and infrastructure metrics (Prometheus/Grafana).
- Prioritize the 'Time to Restore' while ensuring you do not destroy forensic evidence needed for the post-mortem.
Hints
Hint 1
Start by establishing the 'blast radius' to decide if you need to escalate or perform emergency traffic diversion.
Hint 2
Consider the 'golden signals': latency, traffic, errors, and saturation, and how comparing them across different service versions or zones can isolate the issue.
Hint 3
Always differentiate between reactive mitigation (restoring service) and proactive root cause analysis (finding the 'why').
Follow-up questions
- How would you handle a situation where the service latency is high, but the error rate remains at zero?
- If a recent deployment is suspected as the cause, what are the trade-offs between a 'rollback' and a 'hotfix'?
- How do you design your service or observability stack to make this type of triage easier in the future?
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.