The Senior DevOps & SRE Production Interview Handbook: 970 Scenarios, Incident Runbooks, and Active Recall
1. The Death of Academic Trivia in Senior Hiring
In 2026, tech leaders have largely retired trivial questions. Why? Because generative AI can answer "What is a Kubernetes Pod?" or "Explain the OSI model" in milliseconds. Reciting definitions no longer proves that you can be trusted with the keys to a multi-million-dollar production Kubernetes cluster.
High-bar engineering panels—from Series B hyper-growth startups to enterprise cloud teams—now use scenario-based incident fire drills. They want to observe:
- Incident Instinct: Under severe alert storm conditions, what is your triage hierarchy? Do you check application logs first, ingress telemetry, or node cgroup pressure?
- Exact CLI Tooling: Can you articulate the exact commands (e.g.
kubectl top,ss -tulnp,aws elbv2 describe-target-health,strace -p) without fumbling? - Blast Radius Containment: Does your proposed mitigation risk corrupting infrastructure (like running an unverified
terraform force-unlock)? - Executive Communication: Can you synthesize root cause and prevention into a crisp, 60-second elevator pitch for engineering managers and stakeholders?
2. The 4-Pillar Scenario Framework
To transition from reactive guesswork to structured senior-level responses, every scenario on our free companion platform—the DevOps & SRE Interview Hub—follows a disciplined 4-part mental model:
Incident Context & Telemetry
Establish the production environment, symptoms, blast radius, error codes (e.g. Exit 137, 502 Gateway, Lock Deadlock), and customer impact.
Diagnostic CLI Runbook
Demonstrate operational muscle memory by reciting exact CLI commands with precise flags to inspect logs, metrics, and socket connections.
60-Second Elevator Pitch
A concise, high-impact verbal synthesis explaining root cause clearly without rambling, tailored for senior leads and engineering directors.
"Gold Nuggets" & Prevention
The architectural hardening steps to ensure the outage never recurs: PodDisruptionBudgets, graceful hooks, cgroup limits, and synthetic alerts.
3. Four Battle-Tested Production Deep Dives
Let's look at four real-world failure drills drawn directly from the 970 scenarios in the handbook.
Deep Dive 1: Silent Kubernetes OOMKilled & Exit Code 137
The Incident: A mission-critical Node.js service is crashing every 20 minutes under peak load. Pods transition into CrashLoopBackOff. Application logs show normal HTTP 200 responses right up to the death with zero stack traces.
# 1. Inspect the last termination state and kernel exit code:
kubectl get pod <pod-name> -o jsonpath='{.status.containerStatuses[0].lastState.terminated}'
# Returns: {"exitCode": 137, "reason": "OOMKilled", "finishedAt": "..."}
# 2. Inspect node kernel dmesg for cgroup enforcement events:
kubectl describe node <node-name> | grep -E "MemoryPressure|OOMKilling"
# 3. Inspect working set memory vs container limit:
kubectl top pod <pod-name> --containers
limits.memory. Runtimes like Node.js or older Java versions frequently read total node memory rather than container cgroup boundaries unless explicitly passed --max-old-space-size. Our immediate mitigation is tuning the heap allocation flags to 75% of container memory limit. Our long-term prevention is profiling Prometheus container_memory_working_set_bytes and auditing memory leak trajectories."
Deep Dive 2: Deadlocked Terraform DynamoDB State Lock
The Incident: A CI runner was force-terminated midway through terraform apply. Subsequent pipeline runs fail with: Error: Error acquiring the state lock: ConditionalCheckFailedException.
# 1. Extract the Lock Info ID from error output:
# "Lock Info: ID: 52a60b94-8173-4f51-b0e2-7634f5c90829"
# 2. Verify that no active background runner or zombie process is running:
aws dynamodb get-item \
--table-name terraform-locks \
--key '{"LockID": {"S": "prod/terraform.tfstate-md5"}}'
# 3. Safely release the lock once verified:
terraform force-unlock 52a60b94-8173-4f51-b0e2-7634f5c90829
force-unlock blindly. First, we confirm that the aborted CI runner process is truly dead in GitHub Actions or GitLab CI. Once verified, we execute terraform force-unlock <Lock-ID>. To harden this permanently, we implement trap signal handlers in CI runner entrypoints to clean up locks during job cancellations and configure pipeline timeouts."
Deep Dive 3: AWS NLB Cross-Zone 504 Gateway Timeouts
The Incident: An AWS Network Load Balancer fronting private Kubernetes worker nodes intermittently returns 504 Gateway Timeouts during uneven traffic surges across Availability Zones.
# 1. Verify Cross-Zone Load Balancing status on the NLB:
aws elbv2 describe-load-balancers --names <nlb-name> \
--query "LoadBalancers[0].LoadBalancerAttributes[?Key=='load_balancing.cross_zone.enabled'].Value"
# 2. Check healthy target counts across AZs:
aws elbv2 describe-target-health --target-group-arn <tg-arn> \
--query "TargetHealthDescriptions[].{Target:Target.Id,State:TargetHealth.State}"
# 3. Check client connection reset metrics in CloudWatch:
aws cloudwatch get-metric-data --metric-data-queries file://query-nlb-resets.json
Deep Dive 4: Linux Inode Exhaustion on Non-Full Disks
The Incident: Applications fail with No space left on device, yet df -h shows root and data volumes at only 38% utilization.
# 1. Check inode utilization across all mounted filesystems:
df -i
# 2. Locate the directory accumulating millions of zero-byte orphaned files:
find /var/spool /tmp /var/log -xdev -printf '%h\n' | sort | uniq -c | sort -k1 -n | tail -n 10
# 3. Safely delete excess orphaned files without overflowing argument list:
find /var/spool/postfix/maildrop -type f -delete
df -i followed by a find aggregation to isolate the offender. Preventative fixes include automated systemd tmpfiles cleanup timers and proactive Prometheus alerting on node_filesystem_files_free."
4. The 970-Scenario Multi-Domain Matrix
The DevOps & SRE Interview Hub spans 11 technical domains, categorizing production incidents based on how systems actually fail in enterprise architectures:
☸️ Kubernetes (170)
CrashLoopBackOff, CoreDNS starvation, CNI IP exhaustion, Node NotReady, PDBs, zero-downtime rolling updates.
☁️ AWS Cloud (125)
NLB 504 timeouts, STS assume role expiry, Aurora replica lag, S3 Gateway endpoint MTU drops, NAT saturation.
🏗️ Terraform & IaC (105)
DynamoDB state lock deadlocks, state drift, prevent_destroy lifecycles, targeted imports vs tainted re-creations.
🔄 CI/CD & Delivery (105)
ArgoCD sync loops, Docker multi-stage cache invalidation, runner secret leaks, concurrent pipeline race conditions.
🐳 Docker & Containers (100)
PID 1 zombie processes, SIGTERM vs SIGKILL graceful shutdown cascades, layer bloat, bridge subnet collisions.
🐧 Linux & Systems (85)
Inode exhaustion, high iowait, socket leaks (ss & lsof), dmesg panic triage, memory page flushing.
📊 Observability & SRE (80)
Prometheus cardinality explosions, Loki chunk delays, OpenTelemetry backpressure, Burn-rate SLO alerts.
💰 FinOps & Cost (81)
Idle NAT Gateways, GP2 to GP3 disk migration savings, Compute Savings Plans, untagged cloud resource leaks.
🌐 Networking (50)
Transit Gateway asymmetric routing, split-horizon Route 53 conflicts, TCP FIN/RST drops, MTU blackholes.
🔀 Git Workflows (50)
Detached HEAD in CI runners, rebase conflict storms, submodule desync, shallow clone depth optimizations.
🛡️ Security (45)
Container escape prevention, IAM least-privilege auditing, KMS key rotation, CVE triage with Trivy/Grype.
💎 Staff System Design (10)
Multi-region active-active disaster recovery, latency-based global routing, RPO/RTO compliance strategies.
5. The Power of Active Recall: Why Passive Reading Fails
Reading an interview answer is easy. Your brain nods along and feels a false sense of security. But when you are sitting in front of a hiring panel, your memory must retrieve that runbook under stress.
This is why we built Practice Mode directly into the Interview Hub:
- 🎯 Practice Mode (Active Recall): Answers and CLI snippets are automatically hidden. You are forced to formulate your diagnostic commands and verbal pitch out loud before clicking to reveal the solution.
- 📖 Guide Mode: Instantly expands every answer for rapid reading, last-minute review, or bookmarking.
- 🔍 Instant Sub-Second Search: Search by exact error strings (e.g.
OOMKilled,CrashLoopBackOff,ConditionalCheckFailedException,iowait) or tools (tcpdump,strace,karpenter). - 🔒 100% Free & Open Access: No account required, no paywall, no gated email collection.
Explore All 970 Production Scenarios Interactively
Test your incident response instincts across Kubernetes, AWS, Terraform, Docker, and Linux with diagnostic runbooks and active recall mode.
⚡ Launch DevOps Interview Hub (Free) ↗Conclusion & Recommended Next Steps
The difference between a mid-level engineer who recites documentation and a Staff/Senior engineer who commands top-tier compensation is operational maturity. When you master how production systems fail and how to triage incidents under pressure, interview anxiety disappears.
- Daily Active Recall: Spend 15 minutes a day in Practice Mode on interview.naveedkumbhar.com.
- Hands-On Kubernetes Labs: Pair your theoretical prep with real minikube sandboxes and MCQ gates on the 24-Module Kubernetes Mastery Path.
- Formulate Your War Stories: Pick 3 real incidents from your own career and structure them using our 4-pillar model (Context, CLI Triage, 60s Pitch, Preventative Fix).