DevOps Interview Questions: Reliability & Incident Response
Reviewed by Mark Dickie · Last updated
4 questions on this page you can answer and see marked on the spot. Go to the first one
DevOps reliability practices are the set of engineering and operational habits that keep production systems running within agreed service levels and recover quickly when they break. For an interview focused on reliability and incident response, you should know how SLOs, SLIs, and error budgets work together; how to structure a blameless postmortem; how to triage and mitigate incidents under pressure; and how CI/CD pipelines, observability, and on-call rotations feed back into reducing future failures. Expect questions that mix theory (what an error budget is) with judgment calls (when to roll back vs. patch forward).
| Concept | What to know for the interview |
|---|---|
| SLI / SLO / SLA | Define indicators, internal targets, and external contracts. Know how to choose a good SLI (user-facing, measurable). |
| Error budget | The gap between 100% and your SLO. Interviewers ask what you do when the budget is spent: freeze features, invest in reliability. |
| Incident response | Runbook usage, severity levels, role of incident commander, communication channels, and when to page someone. |
| Postmortem | Blameless, action-oriented, covers timeline + root cause + preventive actions. Follow-up items should be tracked. |
| On-call | Paging schedules, alert fatigue, how to reduce noise, and burnout prevention. |
What does a DevOps reliability interview typically test?
- Defining and justifying SLOs — picking the right SLIs, setting realistic targets, and explaining the trade-off between reliability and feature velocity.
- Incident handling under time pressure — who declares the incident, how you communicate status, and when you escalate or roll back.
- Postmortem process — writing one that is blameless, specific, and produces tracked action items rather than vague lessons.
- Alerting and observability — reducing alert fatigue, instrumenting dashboards, and knowing the difference between a symptom alert and a cause alert.
- CI/CD and rollback strategy — how deployment pipelines reduce blast radius (canary, blue-green) and what triggers a rollback decision.
The questions in the quiz below cover these areas at difficulty levels 1 through 5, so you can warm up on definitions and then work through harder scenario-based problems.
Key facts
- Tarmac's DevOps interview questions cover 23 questions at difficulty 1–5 of 5.
- Tarmac tracked 2,209 job postings asking for DevOps in September 2026.
- Roles asking for DevOps advertise a median base salary of £80,000, across 763 job postings as of September 2026.
- Tarmac last reviewed these DevOps interview questions on 13 October 2026.
At a glance
| Questions | 23 |
|---|---|
| Difficulty | 1–5 of 5 |
| Formats | True / false, Short answer, Fill in the blank, Flashcard, Multiple choice, Ordering |
What you'll review
- incident response
- postmortems
Practice questions
Try one before you open the answer. Pick an option and press Check; it's marked on the spot.
True or false: a blameless postmortem is an incident review process that focuses on identifying systemic and process causes rather than assigning personal blame to individuals.#
Options
Show answer
True. A blameless postmortem is an incident review that targets systemic and process causes rather than blaming individuals. The idea, common in SRE practice, is that people act reasonably given the information they had, so fixing the system prevents recurrence and encourages honest, thorough reporting.
The statement is true. The defining principle of a blameless postmortem is that the review concentrates on systemic, organizational, and process factors that allowed the incident to happen, rather than holding individual engineers personally at fault. This practice is well established in incident response and SRE, and it encourages honest reporting and thorough analysis without fear of retribution.
In site reliability engineering (SRE), what is a Service Level Objective (SLO)?#
Show answer
An SLO is a target reliability level that a service team commits to, measured as a specific availability or latency threshold over a defined time window, such as 99.9% availability over a rolling 30-day period.
A Service Level Objective (SLO) is an internally set target reliability level, for example 99.9% availability over a rolling 30-day window, that a service team commits to and works within via an error budget. It is distinct from an SLA, which is a customer-facing contractual agreement with penalties, from a monitoring dashboard, which is a tool for visualizing metrics, and from a postmortem, which is a post-incident learning document. A strong answer names the target nature of the SLO and ties it to a measurable indicator and a time window.
In SRE practice, if a service's SLO targets 99.9% availability, the remaining 0.1% represents the service's _____ — the tolerance for unplanned downtime within the SLO period.#
Show answer
In SRE practice, if a service's SLO targets 99.9% availability, the remaining 0.1% represents the service's error budget — the tolerance for unplanned downtime within the SLO period.
An error budget is the complement of the SLO target. If the SLO is 99.9% availability, the remaining 0.1% is the error budget: the permissible amount of downtime or unavailability within the measurement period. When the budget is exhausted, the team prioritizes reliability work over new features.
In DevOps and SRE practice, what is a blameless postmortem, and what are its primary goals?#
Show answer
A blameless postmortem is a retrospective written after a production incident. Its goals are to reconstruct the incident timeline, identify systemic (non-human) root causes, and produce concrete corrective action items that make the same failure less likely to recur, all without assigning individual blame.
The defining trait of a blameless postmortem is that it focuses on systemic factors and preventive actions rather than on attributing fault to a person. This encourages honest reporting and learning from incidents, which is why the three goals are timeline reconstruction, systemic root cause analysis, and corrective actions.
True or false: In modern DevOps and SRE practice, the primary purpose of a blameless post-mortem is to identify the individual responsible for an outage so they can be disciplined.#
Options
Show answer
False. A blameless post-mortem's primary purpose is to understand the systemic and process failures that allowed an incident to happen, not to assign individual blame or discipline. Blamelessness encourages honest sharing of details, so the team can fix alerts, procedures, and testing gaps and prevent future incidents.
The statement is false. A blameless post-mortem treats an incident as a learning opportunity, and its analysis targets systemic gaps such as missing alerts, flawed deployment procedures, and insufficient testing rather than the person who triggered the event. Participants share details without fear of punishment, which is the core principle of blameless culture. Identifying and disciplining a responsible individual is the opposite of that purpose.
In Site Reliability Engineering (SRE) practice, what does the term "error budget" represent? Answer in one or two sentences.#
Show answer
An error budget is the maximum allowable amount of unreliability, such as downtime or failed requests, that a service can have over a period before it breaches its SLO. When the budget is used up, the team shifts its effort from shipping new features to reliability work.
An error budget is defined from a service's Service Level Objective (SLO). If the SLO is 99.9% availability over a month, the error budget is the remaining 0.1% of time the service may be down or degraded. The budget is a quantified allowance for unreliability, and once it is consumed the team prioritizes reliability work over feature development. This concept helps teams balance innovation against stability.
In Google SRE practice, which statement correctly describes the relationship between SLI, SLO, and SLA?#
Options
Show answer
An SLI is the measured metric of service health, an SLO is the internal target set for that metric, and an SLA is the external contract with consequences when the target is missed. Together they run from raw measurement, to internal goal, to customer commitment, so the three terms are not interchangeable.
In SRE practice the three terms form a hierarchy: the SLI is the raw measurement of service health (for example, the proportion of successful requests), the SLO is the internal reliability target set for that measurement (for example, 99.9% over 30 days), and the SLA is the formal external contract that attaches consequences such as service credits when the agreed threshold is missed. The option stating exactly this mapping is the only one that places the measurement, internal target, and external contract in the correct roles. The option claiming the three terms are interchangeable is wrong because each names a distinct concept, and the options that swap the SLI, SLO, and SLA roles misassign the measurement, the internal goal, and the contract.
An SLO of 99.9% availability is set over a 30-day month (43,200 total minutes). What is the approximate error budget, meaning the maximum allowable downtime, for that month?#
Show answer
About 43.2 minutes (roughly 43 minutes). The error budget is the 0.1% of the month that the SLO permits to be unavailable: 43,200 × 0.001 = 43.2 minutes.
An SLO of 99.9% availability means the service must be up 99.9% of the time, so the remaining 0.1% is the error budget, the downtime the team may spend without violating the objective. Applying that fraction to the 43,200 minutes in a 30-day month gives 43,200 × 0.001 = 43.2 minutes, which is approximately 43 minutes of allowable downtime for the month.
In a blameless postmortem following a production incident, name the essential components that should be documented in the written report.#
Show answer
A blameless postmortem should include: a summary of the incident, a detailed timeline of events, the impact on users and business metrics, the root cause or contributing factors (without attributing blame to individuals), what went well during the response, what went poorly, and a prioritized list of action items with assigned owners and target dates.
A well-structured blameless postmortem captures the incident's impact, a detailed timeline of events, the contributing factors or root cause (without assigning blame to individuals), and a set of action items with owners to prevent recurrence. Including what went well and what went poorly in the response helps improve future incident handling. This is an open question with several valid components, so it is graded by keywords rather than a single fixed choice.
In a blameless postmortem following a production incident, what is the primary objective?#
Show answer
The primary objective is to uncover the systemic causes and contributing factors behind the incident, such as process gaps, tooling deficiencies, and missing safeguards, so the team can prevent similar incidents. It focuses on how the system allowed the failure rather than assigning blame to individuals.
Blameless postmortems focus on understanding how the system allowed the incident to happen, including process gaps, tooling deficiencies, and missing safeguards, rather than attributing fault to individuals. The goal is to learn and improve, not to punish, which encourages honest reporting and drives better future outcomes.
What makes a postmortem 'blameless', and why does blamelessness make an organization more reliable rather than less accountable?#
Show answer
A blameless postmortem reviews an incident by focusing on the systems, processes, and contributing causes that let the failure happen, never on punishing the individual who happened to trigger it. It assumes people act reasonably given the information, tools, and pressures they had at the time, so the question is 'what about the system made this mistake easy and its consequences severe?' rather than 'who screwed up?'. The payoff is psychological safety: when engineers know they won't be blamed, they report incidents and near-misses honestly and in full detail, which surfaces the real root and contributing causes instead of a sanitized story. That honest signal is what lets the team fix the system — add guardrails, automation, better alerts, safer defaults — and file durable, tracked action items that prevent recurrence. Blame does the opposite: it drives reporting underground, so the same latent failure stays hidden and recurs. Blamelessness is about accountability to fixing the system, not the absence of accountability.
Blamelessness shifts the postmortem's question from 'who caused this?' to 'what about our systems and processes made this failure possible and its blast radius large?'. It rests on the assumption that people generally do their best with the context they had, so a human error is treated as a symptom of a system that allowed it (a missing guardrail, a confusing UI, an alert that fired too late), not as the cause to be punished. The reliability payoff is mechanistic, not soft: blame creates fear, fear suppresses honest reporting, and suppressed reports hide the real contributing causes — so the latent fault recurs. Remove blame and you get psychological safety, which produces candid, detailed accounts that reveal the true systemic gaps, which in turn become concrete, tracked action items (automation, safer defaults, better detection) that actually prevent recurrence. A strong answer stresses systems-over-individuals, psychological safety enabling honest reporting, and that accountability is redirected to fixing the system, not removed.
Order the phases of a well-run production incident, from the moment something breaks to the work that prevents a recurrence.#
Put these in order
Show answer
A well-run incident moves through five phases in order. Detect: an alert tied to an SLI, or a user report, signals the service is out of bounds. Triage and declare: assess severity, declare an incident, and assign an incident commander. Mitigate: restore service by the fastest safe lever — roll back, fail over, or flip a flag — before chasing root cause. Resolve: confirm the SLI is healthy and stand the incident down. Postmortem: run a blameless review, find contributing causes, and file durable action items so it can't recur.
Incident response follows a deliberate order. First you must detect the problem — ideally an automated alert wired to an SLI breach, not a customer tweet. Then triage and declare: size up impact and severity, formally declare an incident so the right people engage, and name an incident commander to coordinate (separating coordination from hands-on debugging). Next comes the phase juniors most often get wrong: mitigate before you diagnose. The first duty is to stop user pain by the fastest safe lever — roll back the last deploy, fail over to a healthy region, or disable the feature flag — even if you don't yet understand the root cause. Only once the bleeding stops do you resolve: verify the SLI is back in bounds and stand the incident down. Finally, after the adrenaline fades, the postmortem extracts lasting value through a blameless review that identifies contributing causes and produces tracked action items so the same failure can't recur. The two classic mistakes are chasing root cause before mitigating, and skipping the postmortem so nothing is learned.
A payment-processing service has a 99.9% availability SLO measured over a rolling 30-day window. The service has already consumed its entire error budget for the current window, with 12 days remaining in the period. According to established SRE error-budget policy, what is the recommended action?#
Show answer
Freeze new feature launches and redirect engineering effort toward reliability work, such as fixing bugs, improving alerting, and adding redundancy, until the error budget is replenished or the SLO window resets.
The error budget exists to balance feature velocity against reliability. When the full budget is consumed before the window ends, the established policy is to halt new feature launches and shift engineering capacity to reliability-focused work, such as fixing bugs, improving monitoring and alerting, and adding redundancy, so the service stops burning further budget and can return to SLO compliance. The remaining 12 days do not change this: the budget is already exhausted, so further risky changes would only add more violations.
In the SRE reliability model, describe how SLI, SLO, and SLA relate to each other. For each one, state what it is and explain how it is derived from (or builds upon) the others. Include a concrete example of each for an HTTP API.#
Show answer
An SLI (Service Level Indicator) is a quantitative measure of service health — for example, the ratio of HTTP requests returning a 2xx status code within 200 ms to all requests over a given period. An SLO (Service Level Objective) is a target value or range for that SLI over a specific time window, such as '99.9% of requests succeed within 200 ms over any rolling 30-day window.' An SLA (Service Level Agreement) is a contractual agreement between a service provider and its customers that specifies remedies or penalties if the agreed service level is not met — for example, 'if monthly uptime falls below 99.5%, affected customers receive service credits.' The SLI is the raw measurement; the SLO is the internal target set on that measurement; and the SLA is the external, business-facing contract that is typically set at a lower (more lenient) availability level than the SLO so that internal SLO breaches give the team a buffer before contractual obligations are triggered.
A strong answer must correctly identify SLI as the indicator (quantitative measurement of service health), SLO as the objective (internal target for the SLI over a time window), and SLA as the agreement (external contract with consequences for breach). It must also convey the derivation chain: SLI is the base measurement, SLO is set on top of the SLI, and SLA is the external contract derived from (but typically more lenient than) the SLO. A concrete HTTP API example for each (e.g., success rate, 99.9% target, 99.5% contractual uptime with credits) demonstrates applied understanding rather than mere definition recall.
A service has a 99.9% availability SLO measured over a 30-day rolling window. In the first 10 days of the current window, the service accumulated 21.6 minutes of downtime. Define burn rate as the budget consumed so far divided by the budget the SLO allows for that same elapsed period. What is the error budget burn rate for this period?#
Show answer
The burn rate is 1.5. The full 30-day error budget is 0.1% of 43,200 minutes, or 43.2 minutes, so the first 10 days allow 43.2 × (10/30) = 14.4 minutes. The observed 21.6 minutes divided by 14.4 minutes gives 1.5, meaning the budget is being consumed 50% faster than the SLO permits.
The error budget for a 99.9% SLO over 30 days is 0.1% × 43,200 minutes = 43.2 minutes. Over the first 10 days (one third of the window), the SLO allows 43.2 × (10/30) = 14.4 minutes of downtime. Burn rate is observed consumption divided by allowed consumption for the same elapsed period, so 21.6 ÷ 14.4 = 1.5. The service is consuming its error budget 50% faster than the SLO permits, and at this pace the 43.2-minute budget would be exhausted around day 20, before the window resets.
You are the reliability lead for a platform of 30+ microservices running on Kubernetes, serving millions of requests per day through a customer-facing API gateway. At 14:37 on a Tuesday, PagerDuty pages your on-call engineer: the top-level API is returning intermittent 5xx errors at about 3% of requests (baseline is 0.1%) and p95 latency has risen from 200 ms to 1.8 s. The service has a 99.9% availability SLO with a 30-day rolling error budget of about 43 minutes, and roughly 12 minutes of that budget have already been consumed this cycle. Your team ships about 5 deploys per day via canary rollouts, and the last deploy landed 25 minutes ago. Design the complete incident-response process and supporting tooling your team should use to detect, triage, mitigate, and learn from this incident. Cover alerting strategy, roles and command structure, the mitigation playbook, and the post-incident review process. Assume you have distributed tracing, centralized log aggregation, a metrics platform (e.g., Prometheus/Grafana), and a CI/CD pipeline with canary and rollback support.#
Show answer
Detection and alerting: The 99.9% SLO over 30 days gives an error budget of about 43 minutes (0.1% of 43,200 minutes). The 3% error rate is a burn rate of 30x (3% divided by 0.1%). Page on error-budget burn rate using multi-window, multi-burn-rate rules (a short window paired with a longer window, so acute outages page quickly and slow sustained burns page too). Route pages to the on-call engineer through PagerDuty with a linked runbook and a Grafana dashboard scoped to the affected service and its dependencies. Keep non-SLO signals such as CPU and queue depth on dashboards rather than paging. Triage and command: Acknowledge the page promptly, assess severity (this is Sev-1: customer-facing and burning budget at 30x), and declare an incident in the incident-management tool, which provisions a channel, bridge, and timeline. The on-call becomes Incident Commander (IC), who coordinates and makes decisions rather than debugging hands-on. The IC assigns a Scribe (timeline), a Comms Lead (customer and stakeholder updates), and Subject Matter Experts (SMEs) for the failing services, and escalates to a second on-call or engineering manager if not mitigated within a set time. Mitigation: First check the deploy timeline. The canary deploy 25 minutes ago is the prime suspect, so halt the canary and roll back the affected pods immediately, because rollback is fast, reversible, and low-risk compared with debugging under active customer impact. If rollback does not resolve it, work a time-boxed playbook: check traces for a slow or failing downstream dependency, enable circuit breakers or fail fast to shed load, apply rate limiting to protect core paths, and shift traffic away from a degraded service via the service mesh or load balancer. Each step gets roughly 5 minutes to show effect, and the Scribe records actions and outcomes. Budget math for urgency: 31 remaining budget minutes at 30x burn (about 0.03 budget-minutes per wall-minute) lasts roughly 1,000 minutes, about 17 hours, so the budget would be exhausted in well under a day at this pace. Post-incident review: Hold a blameless postmortem within about 48 hours, facilitated by someone not involved in the incident. Document the timeline, customer impact, SLO budget consumed, contributing factors, and root causes. File action items as tracked tickets with owners and due dates, track completion as a reliability metric, escalate overdue items in the weekly reliability review, and publish the postmortem to the wider engineering org. Tooling: Prometheus SLI metrics with burn-rate alert rules, per-service Grafana dashboards with SLO and dependency panels, distributed tracing for cross-service latency, centralized logs for error correlation, incident tooling that auto-creates the bridge and timeline, and a runbook catalog linked from each alert route.
The question asks for an open design of the full incident lifecycle, so it stays a short-answer item graded against its keywords and reference answer rather than a single-choice key. A strong answer must use the error-budget burn rate (3% over 0.1% is 30x) to justify paging, name an Incident Commander with supporting Scribe, Comms, and SME roles, prioritize rolling back the recently deployed canary before deeper debugging, follow a time-boxed mitigation playbook (circuit breaking, rate limiting, traffic shifting), and close with a blameless postmortem that tracks action items. The budget arithmetic checks out: 31 minutes divided by 0.03 budget-minutes per wall-minute is about 1,030 minutes, roughly 17 hours.
Your team operates a service with a 99.9% availability SLO over a 30-day rolling window. Following Google SRE practices, you implement multi-window, multi-burn-rate alerting: a page-level alert requires both a 5-minute window AND a 1-hour window to exceed a 14.4x burn rate simultaneously; a ticket-level alert requires both a 1-hour window AND a 6-hour window to exceed a 6x burn rate. What is the specific purpose of requiring BOTH the short and long window to exceed the same burn-rate threshold before firing, rather than alerting on the short window alone?#
Show answer
Requiring both windows means the alert fires only when the error rate is elevated right now (short window) and has stayed elevated long enough to matter (long window). The long window acts as a persistence filter: it suppresses brief, self-resolving spikes that consume little error budget and do not warrant a page. The short window preserves fast detection once the elevated burn is sustained. Alerting on the short window alone would page on transient blips, producing false positives.
Burn rate is the ratio of the observed error rate to the rate the SLO allows, so the same threshold means the same thing in either window. The short window (5 min) detects fast, but on its own it would fire on transient spikes that barely dent the error budget. Requiring the 1-hour window to also exceed the threshold demands that the elevated error rate persist, which filters out short self-resolving blips. The long window therefore delays firing in exchange for fewer false pages, while the short window still keeps detection fast for sustained incidents. The long window is a persistence filter, not a speed-up: it cannot detect anything the short window cannot observe, and it cannot eliminate false positives entirely.
You are the platform reliability lead for a company running 40+ microservices across 8 engineering teams. Each service has defined SLOs and error budgets. Currently, when a user-facing incident occurs, the on-call engineer for whichever service is initially suspected pages, investigates alone for 15–30 minutes, and only then escalates if needed. Cross-service incidents average 2 hours to identify the root cause. Postmortems happen inconsistently and often assign blame to individuals. Design an incident response process that reduces mean time to resolution for cross-service incidents while maintaining a blameless culture. Your answer should cover: (1) severity classification and escalation policy, (2) how the on-call structure supports cross-service incidents, and (3) the post-incident review process.#
Show answer
Define four severity levels with measurable criteria: SEV1 for a full outage or critical data loss affecting a majority of users pages the primary on-call and an incident commander (IC) immediately; SEV2 for major feature degradation pages the primary on-call; SEV3 is minor degradation handled via Slack/ticket; SEV4 is cosmetic or internal, handled in daytime tickets. Escalation is time-based and automatic: if a SEV1/SEV2 is not mitigated within 15 minutes, the on-call escalates to the IC, who can page other service on-calls; at 60 minutes, engineering managers/directors are paged. This removes the social friction of asking for help. Create a dedicated IC rotation of senior engineers from different teams, separate from service on-call. The IC's sole job is coordination: assembling responders, keeping the incident timeline, and communicating with stakeholders. On SEV1 declaration, the IC pages all potentially implicated services at once using a service dependency map and pre-built paging tree, instead of serial investigate-then-escalate. For observability, add a centralized SLO burn-rate dashboard, distributed tracing (e.g., OpenTelemetry) across service boundaries, and grouped alerts so identifying the faulty service becomes a dashboard lookup. For review, every SEV1/SEV2 gets a blameless postmortem within 5 business days using a standard template (timeline, impact, root cause, contributing factors, action items). The rule is that we examine systems and processes, not individuals. Action items have owners and due dates, are tracked on a shared dashboard with weekly review, and a quarterly review aggregates postmortems to find systemic patterns.
This is an open design question with no single correct answer, so it is graded on whether the response covers the three requested areas with concrete mechanisms: tiered severity levels with measurable criteria and time-based automatic escalation; a dedicated incident commander role that can page multiple service on-calls in parallel using the dependency graph; and blameless postmortems with a standard template, owned and dated action items, and tracking. Strong answers also address cross-service observability (centralized dashboards and distributed tracing) as a way to shorten root-cause identification. The sample answer covers each of these, and the keywords check for the severity, escalation, and blameless-review vocabulary the question requires.
In the Google SRE multi-window, multi-burn-rate alerting model, a page-level alert requires both a short window (e.g., 5 minutes) and a long window (e.g., 1 hour) to exceed the same burn-rate threshold simultaneously. What is the primary purpose of requiring the long window in addition to the short window?#
Show answer
The long window acts as a persistence filter: it suppresses pages for brief, self-resolving error spikes that consume negligible error budget, while the short window preserves fast detection for sustained incidents. The dual requirement balances detection speed against noise reduction.
The short window provides fast detection but would fire on transient spikes. The long window requires the elevated error rate to persist, filtering out brief blips that resolve themselves and consume negligible error budget. The combined requirement detects sustained incidents quickly while reducing false pages. The long window does not make the alert fire sooner — it makes it fire later by demanding sustained evidence. It does not detect issues the short window cannot see, because burn rate is a ratio independent of window length. And no alerting configuration guarantees zero false positives — the long window reduces them but cannot eliminate them entirely.
You are the SRE lead for a platform running 50+ microservices in Kubernetes across three regions. The current incident process is ad hoc: alerts fire independently per service, on-call engineers often lack the context to diagnose cross-service failures, and post-incident learnings are captured in documents that nobody revisits. Design an end-to-end incident response and learning system that covers (1) detection and alerting, (2) escalation and on-call routing, (3) automatic context assembly for the responder, and (4) the post-incident feedback loop. Be concrete about tooling, data sources, escalation timers, and how learnings are tracked to completion.#
Show answer
Detection & Alerting: Use Prometheus with Alertmanager for metrics and Loki for log-based alerts. Define per-service SLOs with multi-window, multi-burn-rate alerting: fast-burn (e.g., 2% budget in 1 hour) triggers a page; slow-burn (5% in 6 hours) creates a ticket. Correlate alerts by service topology — Alertmanager grouping rules use the dependency graph exported by the service mesh (Istio) so a single root-cause cascading across downstream services produces one grouped alert, not fifty. Add a 30-minute suppression window on non-critical alerts after each deployment to reduce deploy-induced noise. SEV1 alerts page the primary on-call; SEV2 alerts post to a Slack channel with a one-click escalate button. Escalation & On-Call Routing: PagerDuty schedules with follow-the-sun rotations: each region's team covers a 12-hour day shift, 1-week rotation. Escalation policy has two tiers: primary on-call is paged at T+0; if unacknowledged within 5 minutes, the secondary is paged; if still unacknowledged at T+10, the team lead is paged. A final fallback at T+20 pages the global SRE lead and broadcasts a SEV1-wide Slack message to the entire engineering org. Automated Context Assembly: A PagerDuty webhook triggers an automated context bundle on incident creation. The bundle is posted to the PagerDuty incident and the dedicated Slack incident channel. It includes: (1) a pre-filtered Grafana dashboard link scoped to the affected service(s) showing the last 30 minutes of metrics; (2) the top 5 slowest distributed traces from Jaeger for the affected service; (3) error-level logs from Loki filtered by service name and time window; (4) the last 2 hours of deployment events from ArgoCD for the affected service; (5) a link to the service's runbook from a centrally indexed runbook repository. Post-Incident Learning Loop: A blameless postmortem is scheduled within 5 business days for SEV1 and 10 for SEV2, using a structured template (timeline, root cause, contributing factors, action items). Each action item becomes a Jira ticket with a named owner, priority, and due date. A quarterly reliability review tracks action-item completion rate; items open longer than 90 days are flagged as stale and discussed with the owning team's lead. Reliability KPIs (MTTR, incident frequency per service, action-item completion rate) are reported monthly to engineering leadership.
This is a senior-level design exercise because it requires integrating four interlocking subsystems — detection, escalation, context assembly, and the learning feedback loop — each of which has non-obvious failure modes at scale (alert storms from cascading failures, unacknowledged pages at 3 AM, responders staring at blank dashboards, postmortems that produce no lasting change). A strong answer names specific tools, concrete timers, and a tracked action-item lifecycle; a weak answer stays at the level of 'have a runbook' and 'do blameless postmortems' without addressing the feedback loop that turns learnings into durable reliability improvements.
You run a platform of 200+ microservices handling $2B in annual transaction volume across two AWS regions (us-east-1 primary, us-west-2 failover). A recent incident began when a single downstream service (payment-gateway) experienced 2x latency for 30% of its requests due to a degraded database connection pool — not a full outage, but a partial degradation. This latency propagated upstream through synchronous call chains, exhausted thread pools and HTTP connection pools in 47 dependent services, and caused a 47-minute partial platform outage affecting 12% of transactions. Design a comprehensive incident prevention and response architecture that addresses: (1) preventing the cascade from spreading beyond the failing dependency, (2) detecting and localizing this class of partial-degradation failure faster, (3) reducing MTTR through automated and semi-automated response, and (4) ensuring the postmortem produces systemic improvements rather than band-aid fixes. Specify concrete mechanisms, not just principles.#
Show answer
(1) Cascade isolation: Deploy timeout-based circuit breakers (e.g., Resilience4j TimeLimiter + CircuitBreaker) on every synchronous downstream call. Set a 300 ms per-call timeout; in this incident, the payment-gateway's 2x latency pushed slow calls past this timeout, converting the partial degradation into detectable timeout failures. Configure the breaker with a 25% failure-rate threshold over a 10-second sliding window and a 30-second half-open state allowing 3 probe requests — since 30% of calls were timing out (above the 25% threshold), the breaker trips and calls return a cached fallback instead of holding upstream threads. This is critical: a breaker that only counts explicit HTTP 5xx failures would miss this scenario entirely, because the gateway was returning 200s — just slowly. Apply bulkhead isolation: each downstream gets its own bounded thread pool (e.g., 20 threads for payment-gateway) separate from the service's main pool so a saturated dependency cannot starve other workloads. Set per-hop timeouts at 300 ms with a 1.5-second end-to-end budget propagated via headers; when any downstream thread-pool utilization exceeds 80%, shed non-critical traffic via feature flag (e.g., disable recommendation enrichment) to free capacity. (2) Detection & localization: Emit RED metrics (Rate, Errors, Duration) per service per downstream dependency. Track p99 latency against an EWMA baseline computed over a 1-hour rolling window and alert when p99 exceeds 3x baseline for more than 2 consecutive minutes — this catches partial degradation that simple error-rate alerts miss, since the gateway's error rate was near zero while latency spiked. Use distributed tracing (OpenTelemetry) with critical-path span analysis; when an alert fires, the tracing UI highlights the slowest hop and its upstream blast radius. Maintain a real-time service dependency graph so that when a leaf service degrades, the alert includes all affected upstreams, collapsing 47 individual alerts into one root-cause alert. (3) MTTR reduction: Circuit breakers trip autonomously based on their own internal sliding-window metrics (timeout counts and failure counts) — they are always-on safety devices that react independently of any external alerting or human action, so the initial isolation of the failing dependency happens in seconds with no operator involvement. Each alert links to a pre-built remediation runbook (e.g., 'scale payment-gateway DB connection pool by 2x', 'restart affected pods', 'switch to cached fallback responses'). Non-destructive actions (pool scaling, pod restarts) execute automatically after the circuit breaker has already isolated the dependency; state-changing actions such as regional failover to us-west-2 require human approval based on a severity assessment by the on-call engineer, because a full regional failover is a heavyweight operation with its own risk profile and should not be triggered by a single metric threshold. (4) Systemic postmortem learning: Conduct a blameless postmortem using a structured template covering incident timeline, root cause, contributing factors, and action items with named owners and 30-day due dates. Require Five-Whys analysis that drills from the immediate cause (degraded connection pool) to the systemic gap (no per-dependency bulkheads, no timeout-based circuit breaking that catches slow-but-not-failing dependencies, no partial-degradation alerting). Run quarterly catastrophe drills injecting the same failure class into staging to verify fixes hold. Enforce a CI compliance check that blocks deployment of any service lacking timeout-based circuit breakers and bulkheads on all synchronous dependencies — this ensures the 47 unprotected services from this incident are hardened going forward and prevents the same gap from recurring in new services.
This answer addresses all four required areas with concrete mechanisms tailored to the partial-degradation failure mode described in the incident. Cascade prevention uses timeout-based circuit breakers with a 300 ms per-call timeout that converts the 2x-latency partial degradation (where the gateway returned HTTP 200s but slowly) into detectable timeout failures, plus a 25% failure-rate threshold set below the 30% degradation rate so the breaker actually trips. Bulkhead thread-pool isolation (20 threads per dependency) and per-hop timeout budgets prevent cascade spread. Detection uses EWMA-based p99 anomaly detection with a 3x-baseline trigger — specifically chosen because error-rate alerts miss this class of failure — and OpenTelemetry critical-path tracing to localize the slow hop. MTTR reduction relies on circuit breakers tripping autonomously based on their own internal sliding-window metrics (timeout and failure counts), not on an external anomaly detector; semi-automated runbooks handle non-destructive remediation, while regional failover requires human judgment because it is a heavyweight action with its own risk profile. The postmortem section mandates a blameless template with owner-assigned 30-day action items, Five-Whys root-cause drilling, quarterly drills, and CI-enforced compliance checks ensuring every service has timeout-based circuit breakers and bulkheads so the 47 unprotected services are hardened going forward.
Design a blameless post-incident review (postmortem) system for a 200-engineer organization running ~50 microservices in production. Incidents range from partial degradations to full outages. The system must: (1) produce a structured postmortem within 48 hours of incident resolution, (2) ensure action items from postmortems are tracked to completion with measurable impact on recurrence, and (3) detect systemic patterns across incidents so that leadership can prioritize deep infrastructure investments. Describe the data model, workflow, automation, and the metrics you would use to measure the system's own effectiveness.#
Show answer
Our system has five components. (1) Evidence correlation engine: during an incident, a tool built on top of our paging system automatically collects all alerts that fired in the affected services' alert streams, all deploys to those services in the preceding 72 hours from CI/CD, all config changes from our config-management system in the same window, and dependency state changes from our distributed-tracing backend. These are joined on overlapping timestamp windows to produce a draft incident timeline; the incident commander reviews and annotates it during the incident. Automation does the collection, the human adds context. (2) Action item lifecycle: every postmortem action item is filed as a ticket with a single accountable owner (an individual, not a team), a due date, and a severity-linked SLA: severity-1 items due in 2 weeks, severity-2 in 4 weeks, severity-3 in 8 weeks. A daily job checks for SLA breaches. On breach the owner's manager is notified; after 7 days it escalates to the director; after 14 days to the VP of Engineering. An item can be closed as 'risk accepted' but requires director sign-off and is surfaced in the quarterly review. (3) Blamelessness safeguards: the postmortem template uses the 5 Whys method, but every question is framed in terms of system behavior, not 'who made the mistake' but 'what about our deployment process allowed this mistake to reach production.' A rotating senior-engineer reviewer checks each postmortem for personal attribution language and flags it for revision. The template includes a section called 'What surprised us about our systems?' rather than 'What went wrong?' (4) Cross-incident pattern detection: every postmortem is tagged with one or more contributing factors from a fixed taxonomy (e.g., 'insufficient capacity headroom,' 'missing alert on key metric,' 'unbounded retry storm,' 'dependency circular failure,' 'insufficient integration test coverage'). A dashboard shows the frequency of each contributing-factor tag over rolling 6-month windows; any factor appearing in 3+ postmortems in a rolling quarter is auto-flagged for the quarterly architecture review as a candidate for a deep infrastructure investment proposal. (5) System effectiveness metrics: we measure the postmortem system itself with action-item completion rate within SLA (target >85%), mean time from incident resolution to postmortem completion (target <48 hours), recurrence rate (the percentage of incidents in a quarter sharing a contributing-factor tag with an incident in the previous quarter, target trending down), and the action-item 'risk accepted' rate (watched but not targeted, since accepting risk is sometimes the correct call).
This design exercise tests a staff-level engineer's ability to architect a complete blameless postmortem lifecycle, from automated evidence correlation through action-item accountability, blamelessness enforcement, cross-incident pattern detection, and system self-metrics, rather than reciting incident-response theory. It is an open design question with no single key, so it stays a short-answer question graded against the keywords and the reference answer.
You are the tech lead for reliability at a company running 40+ microservices across two active-active AWS regions, serving ~50M requests/day. Over the last quarter, the on-call team experienced 3 SEV-1 incidents (one causing ~45 min of partial degradation) and 27 SEV-2/3 incidents. Root causes include: (1) a cascading retry storm from a missing circuit breaker, (2) a bad config deploy that auto-rolled back only after 8 minutes of elevated errors, and (3) a cross-region replication lag spike causing stale reads for 12 minutes. PagerDuty alerts currently have a 62% acknowledge-without-action rate, MTTD averages 9 minutes, and MTTM averages 22 minutes. Design a comprehensive incident-response and reliability program covering detection, mitigation, escalation, and post-incident learning. Specify concrete mechanisms, tooling, and policies, not just principles, and tie each intervention to a specific failure or metric from the scenario above.#
Show answer
Detection: I would replace raw threshold alerts with SLO-based multi-window, multi-burn-rate alerts (for example, a page when 2% of the 30-day error budget is consumed within 1 hour, and a page when 5% is consumed within 6 hours, with a ticket-level alert at 10% over 3 days), implemented in Prometheus with recording rules or an SLO platform. Each alert routes to the owning service's PagerDuty schedule, not a shared pool, and I track alert precision (actionable alerts divided by total) weekly, re-tuning or retiring any alert whose no-action acknowledgments exceed 50%. This targets the 62% acknowledge-without-action rate and the 9-minute MTTD, since burn-rate alerts fire on user-facing error rates and fast-burn events are caught in minutes. Mitigation: (1) For the retry storm, I would add circuit breakers at every synchronous dependency, using a service mesh such as Istio or Linkerd or a library such as Resilience4j, with fallbacks to cached or degraded responses, plus per-dependency bulkhead concurrency limits and retry budgets with jittered exponential backoff so retries cannot multiply load. (2) For the bad config deploy, I would move configs behind feature flags so they can change without a deploy, and use progressive delivery with canaries whose analysis is driven by the same SLO burn signals, so an automated rollback triggers within the canary window instead of after 8 minutes of elevated errors. (3) For the replication lag spike, I would make reads lag-aware: each region publishes replication lag as a metric, and when lag exceeds a threshold such as 500 ms the read path routes to the primary region or serves from cache with a staleness marker, so stale reads stop reaching users; an alert fires on lag before that threshold is breached. Escalation: I would define severity tiers tied to user impact (for example, SEV-1 means more than 10% of users degraded), require a 5-minute acknowledgment for SEV-1 pages with automatic escalation to the backup on-call and then the team lead after 10 minutes total, and make every acknowledgment carry an action note. Target MTTM (22 minutes) with runbooks linked from each alert and an incident commander role for SEV-1. Post-incident learning: a blameless postmortem within 48 hours for every SEV-1 and any SEV-2 over 30 minutes, covering timeline, root causes, contributing factors, and user impact. Action items are categorized as mitigation (MTTM), prevention (recurrence), or detection (MTTD), each with an owner, due date, and priority, tracked on a Jira board with a 2-week completion SLA for SEV-1-derived items. A monthly reliability review examines open action items, error-budget burn trends, and alert precision, closing the loop from incidents to fewer incidents and lower MTTD and MTTM.
This is an open design question with no single correct answer, so it stays a short-answer item graded against a rubric. A strong answer must name concrete mechanisms (SLO multi-window burn-rate alerts, circuit breakers with bulkheads and retry budgets, canary analysis with automated rollback, lag-aware read routing), define escalation tiers and an acknowledgment SLA, and specify a blameless postmortem process with owned, categorized action items and a monthly review. Each intervention should be tied to a scenario failure or metric: the retry storm, the 8-minute rollback, the 12-minute stale-read window, the 62% acknowledge-without-action rate, the 9-minute MTTD, and the 22-minute MTTM. Answers that only restate principles without thresholds, tooling, or policies should earn partial credit.
Related interview questions
Job market
See devops salaries and hiring demand from live job postings.
Practise these until they stick
That's every question we hold on this topic, and the page marks what you pick. What it can't do is remember. A free account keeps every answer, and what you miss comes back until it's right: after a day, then at longer gaps.
Free · the whole bank · 100 marked answers per 30 days · written feedback on the paid plan