← Google Interview Insights

Google·Software Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
Jun 2026

Summary

Google system design round focused entirely on SLI/SLO/SLA concepts and building a production-grade alerting system. Pretty dense for a single session and the error budget math caught me off guard more than I expected.

Questions Asked (3)

Q1

Explain the differences between SLI, SLO, and SLA using a real web API as your example, covering both availability and latency.

System DesignProduct Analytics & MetricsTechnical Trade-offs
Author's notes

I knew the definitions cold but stumbled when they pushed me to give concrete numbers.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining SLI, SLO, and SLA clearly, then apply them to a concrete web API example like a user profile service. Use availability and latency to illustrate each concept, showing how SLIs are measured, SLOs set targets, and SLAs define consequences.

Pro tip: Emphasize that SLAs are contracts with business consequences, while SLOs are internal targets that should be stricter than SLAs to provide a safety margin. Mention error budgets to show how SLOs drive operational decisions.

1. Define the terms

Briefly define SLI as a quantitative measure, SLO as a target for an SLI, and SLA as a contract with consequences if SLOs are not met.

2. Choose a real web API example

Select a familiar API, such as a user profile service, and state its purpose to ground the discussion.

3. Apply to availability

For availability, define SLI as the proportion of successful requests, set an SLO like 99.9% over 30 days, and an SLA like 99.5% with penalties.

4. Apply to latency

For latency, define SLI as the percentage of requests served under a threshold (e.g., 200ms), set an SLO like 95% under 200ms, and an SLA like 90% under 200ms with credits.

5. Explain relationships and trade-offs

Discuss how SLOs should be stricter than SLAs, the role of error budgets, and how these metrics influence design and operations.

Key Points to Mention

  • SLI is a measured value, SLO is a target, SLA is a contract with business consequences.
  • Availability SLI: successful requests / total requests; Latency SLI: requests faster than threshold / total requests.
  • SLOs should be stricter than SLAs to provide a buffer and avoid penalties.
  • Error budgets (1 - SLO) balance reliability and feature velocity.
  • SLAs often include financial penalties or credits, while SLOs drive internal alerts and priorities.
  • Use percentiles (e.g., p95, p99) for latency SLIs to capture tail latency.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

Given a quarterly SLO target, define a reasonable error budget and walk through how you'd allocate and track its consumption over time.

Product Analytics & MetricsSystem DesignTechnical Trade-offs
Author's notes

This is where I started to lose the thread a bit.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the SLO target and the service's criticality, then calculate the error budget as (1 - SLO) * total events. Explain how you'd allocate the budget across different failure modes and track consumption using monitoring tools, with alerts and policies for when the budget is depleted.

Pro tip: Emphasize that error budgets are a tool for balancing reliability and innovation; propose a policy where budget depletion triggers a freeze on non-essential changes, but also allow for exceptions with stakeholder buy-in.

1. Clarify SLO and Scope

Confirm the SLO target (e.g., 99.9% availability), the measurement window (quarterly), and the service scope. Ensure you understand what counts as a 'good' event and what constitutes an error.

2. Calculate Error Budget

Compute the error budget as (1 - SLO) * total events. For example, a 99.9% SLO over 1 million requests gives a budget of 1,000 errors. Express it in both absolute numbers and percentage.

3. Allocate Budget

Decide how to distribute the budget across different failure modes (e.g., latency, errors) or teams. Consider reserving a portion for planned maintenance or experiments.

4. Track Consumption

Set up monitoring to track error budget burn in real-time. Use dashboards and alerts for burn rate thresholds (e.g., 2% budget consumed in 1 hour).

5. Define Policies and Actions

Establish what happens when the budget is exhausted: e.g., freeze releases, prioritize reliability work, or escalate to leadership. Also define exceptions and review processes.

Key Points to Mention

  • Error budget calculation: (1 - SLO) * total events, and its interpretation as allowable downtime or errors.
  • Burn rate and alerting: using multi-window burn rate alerts to detect rapid consumption.
  • Allocation strategies: splitting budget by failure type, team, or reserving for experiments.
  • Policy enforcement: consequences of budget depletion, such as release freezes or reliability sprints.
  • Tracking tools: Prometheus, Grafana, or Google's SLO monitoring tools.
  • Communication: keeping stakeholders informed about budget status and trade-offs.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

Design a monitoring and alerting system that reduces alert fatigue. Cover which signals to alert on, how thresholds relate to SLOs, alert aggregation and deduplication, multi-window burn rate policies, and escalation and runbook practices.

System DesignTechnical Trade-offsRoot Cause Analysis
Author's notes

Honestly the meatiest part and probably where I did best.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the problem around SLOs and user impact, then walk through the signal-to-alert pipeline: choose symptoms over causes, define error budgets, and use multi-window burn rates to balance sensitivity and specificity. Finally, explain how aggregation, deduplication, and escalation policies with runbooks reduce noise and ensure actionable alerts.

Pro tip: Emphasize that alert fatigue is often a symptom of poor SLO design—if alerts fire frequently, either the SLO is too strict or the system is unhealthy; use error budgets to drive prioritization and avoid paging on every anomaly.

1. Define SLOs and Error Budgets

Establish clear SLOs based on user-facing metrics (e.g., latency, error rate) and compute error budgets to quantify acceptable unreliability. This sets the foundation for alert thresholds that reflect business impact.

2. Select Signals and Alert Types

Alert on symptoms (e.g., elevated error rate, slow responses) rather than causes (e.g., CPU spikes). Use multi-window burn rates to detect both fast and slow burns of the error budget, reducing false positives.

3. Aggregate and Deduplicate Alerts

Group related alerts by service, region, or root cause to avoid flooding on-call with duplicate notifications. Implement deduplication logic to suppress repeated alerts for the same issue.

4. Design Escalation and Runbooks

Define escalation policies that route alerts to the right team based on severity and time. Pair each alert with a runbook that provides clear steps for diagnosis and mitigation.

5. Iterate and Tune

Regularly review alert effectiveness, adjust thresholds, and retire noisy alerts. Use postmortems to refine SLOs and alerting rules based on incidents.

Key Points to Mention

  • SLOs and error budgets as the basis for alert thresholds
  • Multi-window burn rate policies (e.g., fast burn: 2% budget in 1 hour; slow burn: 5% in 6 hours)
  • Alert aggregation and deduplication to reduce noise
  • Escalation policies with clear ownership and runbooks
  • Avoiding cause-based alerts (e.g., CPU) in favor of symptom-based alerts
  • Continuous tuning and postmortem-driven improvements

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.