DevOps Situational Interview Questions: How to Ace Real-World Production Scenarios
Fewer interviewers ask candidates to memorize definitions like "What is a Kubernetes Service?". Today's senior hiring bars evaluate how you make decisions under fire: Friday 5xx deploy spikes, disk capacity saturation, destructive Terraform plans, and leaked credentials.
- 1. What Senior Interviewers Actually Grade in Situational Rounds
- 2. The 5-Step SRE Incident Decision Framework (SCOPED)
- 3. Top 5 Real-World Situational Scenarios Worked Through
- 4. The Decision Rubric: Weak Answers vs. Staff SRE Answers
- 5. How to Practice Live Incident Scenarios Under Time Pressure
- 6. Frequently Asked Questions (FAQ)
1. What Senior Interviewers Actually Grade in Situational Rounds
A situational question is a high-fidelity job simulation. The interviewer does not care whether you can recite kubectl flags from memory. What they are listening for is engineering judgment under uncertainty: how you isolate variables, whether you protect users first, and whether you articulate trade-offs out loud.
Consider what happens when an interviewer poses: "Checkout errors jumped to 3% after a deployment. What do you do?"
❌ The Weak Candidate Signal
"I'd SSH into the server, check the application logs, find the error stack trace, fix the code bug, and deploy a hotfix."
Why it fails: Assumes single-node access, ignores user blast radius, attempts code debugging during active customer pain, and neglects rollback safety.
✅ The Staff SRE Signal
"First, I scope blast radius: is this all checkouts or one payment gateway? Next, I check deploy correlation: did errors start precisely at release time? If the database schema is additive, I roll back the app immediately to restore revenue while debugging offline. I broadcast an incident update in Slack within 3 minutes."
2. The 5-Step SRE Incident Decision Framework (SCOPED)
When an interviewer drops a chaotic production failure on you, you do not need to improvise. Use the universal SCOPED decision sequence:
Scope Radius
Who is affected? What region? When did it start? Is revenue failing?
Bisect Check
Pick ONE high-signal telemetry query that splits problem space in half.
Reversible Move
Mitigate customer pain first. Rollback, rate-limit, or feature flag.
Publish Update
Post in incident channel: status, actions taken, next check-in time.
3. Top 5 Real-World Situational Scenarios Worked Through
The Friday 16:45 Deploy Spiking 5xx Errors with Database Migrations
The Prompt: "You deployed checkout v2.31 on Friday at 16:40. By 16:50, HTTP 500 errors on checkout jumped from 0.1% to 3.2%. The release also ran a database migration. What do you do?"
- Scope: Is checkout completely down or failing on specific payment methods? Does the error graph align with the exact pod deployment timestamp?
- First Check: Check whether the database migration was purely additive (e.g., adding a nullable column) or destructive (renaming/dropping columns).
- The Decision: If additive, immediately trigger
kubectl rollout undo deployment/checkout-service. The older pods will happily run against the new schema. If the migration was destructive, rolling back will crash older pods too—so toggle the feature flag or fix forward. - Risk Accepted: We lose the new features until Monday, but we restore revenue immediately.
"🚨 INCIDENT UPDATE [SEV-2]: Checkout 5xx rate spiked to 3.2% following v2.31 deploy. Migration verified additive. Initiating application rollback to v2.30 now. Next update at 17:05."
Primary PostgreSQL Database Disk at 95% Growing 1% Every 10 Minutes
The Prompt: "Your primary production PostgreSQL RDS disk reached 95% capacity and is growing by 1% every ten minutes. What do you do?"
- Scope: At 1% per 10 minutes, we have ~50 minutes before total write failure and database crash.
- Immediate Safe Move: Trigger an online storage volume increase (e.g., in AWS RDS or EBS volume modification) immediately. Storage expansion takes 15–30 minutes, which beats the countdown.
- First Triage Query: Check whether an abandoned replication slot is retaining WAL archives:
SELECT slot_name, active, pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)) AS retained_bytes FROM pg_replication_slots; - The Trade-Off: If an inactive CDC slot holds 80GB of WAL and storage cannot expand in time, dropping the slot saves the primary database from crashing, but breaks downstream sync. Say this trade-off out loud!
Destructive Terraform Plan Showing Replacement of Production RDS
The Prompt: "The release pipeline is blocked on a Terraform plan. It shows -/+ destroy and then create replacement for the production database. The release manager asks you to approve it so shipping isn't delayed. What do you do?"
- Immediate Stance: Refuse approval. Replacement means terminating the live production instance, resulting in catastrophic downtime.
- First Check: Search the plan for the exact line marked
# forces replacement. Typical triggers include changing KMS keys, moving subnets, or renaming resources within Terraform modules. - The Fix: If a resource was moved into a module, use
moved { from = ... to = ... }orterraform state mvto update state mapping without recreation. - Systemic Follow-up: Enforce
lifecycle { prevent_destroy = true }on all stateful resources, as detailed in our guide on How to Review Terraform Plans Without Destroying Production.
Leaked AWS Access Key Committed to a Public GitHub Repository
The Prompt: "A developer pushed an active AWS IAM access key to a public GitHub repo 20 minutes ago. What do you do?"
- Assume Compromise: Automated scraper bots scan GitHub within 30 seconds. Do not waste time force-pushing or deleting git history.
- Immediate Disruption: Deactivate the key in AWS IAM immediately (
aws iam update-access-key --status Inactive). Accepting the risk that dependent services break is far better than letting an attacker spin up 50 GPU instances. - CloudTrail Audit: Search CloudTrail across all regions for calls made by that
accessKeyId. Specifically check for secondary backdoor IAM users or temporary STS credentials created. - Systemic Prevention: Enforce GitHub secret scanning with push protection, and migrate from long-lived keys to short-lived OIDC federation.
Leadership Pressure to Skip Pipeline Security Scans for a Committed Release
The Prompt: "A major contract release is promised to an enterprise client today. The CI security scanner fails on a Critical CVE, and the release manager asks you to disable the scanner so it can ship. What do you do?"
- Avoid Extremes: Neither blindly disable the scanner ("ship it and fix next sprint") nor stonewall ("absolutely not"). Perform reachability analysis.
- Reachability Triage: Is the vulnerable package reachable in production, or is it a dev dependency / false positive?
- The Formal Exception Path: If unreachable or low-risk, issue a time-limited exception waiver (e.g., 72 hours) signed off by the CISO or Security Officer. Record the waiver in the deployment ticket.
- Never Turn Off the Gate: Never disable the scanner globally. Disabling scanners is how temporary bypasses become permanent security debt.
4. The Decision Rubric: Weak Answers vs. Staff SRE Answers
Here is the internal rubric interviewers use when grading your situational responses:
| Evaluation Dimension | Weak Candidate Signal | Staff SRE Candidate Signal |
|---|---|---|
| First Diagnostic Step | "I'd check the logs" (vague) | Names one telemetry metric that bisects problem space |
| Blast Radius Scoping | Jumps straight into fixing code | Asks who, what, region, and start timeline |
| Reversibility | Treats every command equally | Prefers reversible actions (rollback, flags) first |
| Risk Acknowledgment | "There is zero risk in my solution" | States the cost of the chosen move out loud |
| Incident Communication | Fixes in secret, tells no one | Drafts exact Slack broadcast and next check-in time |
| Systemic Prevention | Stops at "incident resolved" | Implements guardrail policy to eliminate class of bug |
5. How to Practice Live Incident Scenarios Under Time Pressure
Reading scenarios gives you head knowledge; practicing them under a 3-minute timer builds on-call muscle memory. Follow this 4-step preparation protocol:
- The 3-Minute Elevator Pitch: Force yourself to answer any incident scenario out loud within 180 seconds. This stops you from rambling about irrelevant tools.
- The Variable-Fact Mutation: Take a scenario and mutate one variable. For example, "Now the database is self-hosted on bare metal instead of AWS RDS" or "Now the VP is asking you NOT to roll back". If your answer does not change when the facts change, you are reciting rather than deciding.
- Write the Slack Incident Broadcast: For every scenario, draft the 2-line message you would send in Slack
#incidents. Interviewers love this because 80% of candidates forget communication entirely. - Dissect Real Incident Runbooks: Deep dive into our dedicated guides, including the Kubernetes CrashLoopBackOff Runbook, the Kubernetes OOMKilled Triage Guide, and test your speed in the Kubectl Speed-Run Arcade Challenge.
6. Frequently Asked Questions (FAQ)
What is the difference between behavioral and situational DevOps interview questions?
Behavioral questions look backward at past experiences ('Tell me about a time you resolved a Sev-1 outage'), whereas situational questions place you in a hypothetical production simulation to observe your decision framework in real time.
What is the first thing a candidate should do when given an outage scenario?
Scope the blast radius before proposing actions. Ask clarifying questions regarding customer impact, error onset timeline, affected regions, and recent deployment changes.
When should you roll back versus fix forward during an incident?
Prefer rollbacks when the action is completely reversible and migrations are additive. Fix forward only if destructive database transformations prevent older application versions from running safely.
How should an SRE communicate during an active production outage?
Post structured, timestamped broadcasts in the incident channel stating current symptoms, known blast radius, active mitigation underway, and estimated time to the next status update.
How do interviewers evaluate risk trade-offs in situational answers?
Strong candidates explicitly state the risk they accept out loud before executing commands, proving they understand secondary downstream impacts.
Ready to Test Your Production Instincts?
Don't just read answers passively. Practice diagnosing real outages under timed pressure with interactive simulators and enterprise hiring loops.