Site Reliability Engineer question bank
100 questions. Filter by level and skill, track what you've solved, and see how many people get each one right.
- What is an SLO?
- Error budget for 99.9%
- The four golden signals
- Spotting toil
- Why blameless postmortems?
- How Prometheus collects metrics
- Linux load average
- Readiness vs liveness probes
- Downtime allowed by 99.99%
- Writing an SLI as a ratio
- What MTTR measures
- The USE method
- The RED method
- Counter or gauge?
- Why structured logs?
- Spans in a trace
- DNS TTL before a migration
- A 503 from the load balancer
- Reading logs of a systemd service
- Who is using port 8080?
- A process vanished overnight
- CrashLoopBackOff
- Logs from the crashed container
- What terraform plan does
- A useful runbook
- Grouping in Alertmanager
- Escalation policies
- Grafana template variables
- What is a canary release?
- Idempotent requests
- Mitigate first
- How Loki indexes logs
- Virtual users in k6
- Safer Bash scripts
- Using rate() on a counter
- Why add jitter to retries?
- Which alert should page?
- Percentiles vs average latency
- Circuit breaker half-open state
- The incident commander
- PodDisruptionBudget
- p99 latency across all instances
- No space left, but disk is not full
- Deleted the log, space not freed
- Reading vmstat output
- Cannot assign requested address
- Alerting when a job disappears
- The for clause in alert rules
- Inhibition in Alertmanager
- A label that broke Prometheus
- Why recording rules?
- Why run an OpenTelemetry Collector?
- Traces broken between services
- Exit code 137 in Kubernetes
- HPA shows unknown CPU
- A pod stuck in Pending
- Terraform state locking
- Unexpected changes in a plan
- Counting errors with LogQL
- Reading a slow trace
- k6 thresholds
- A script that hangs forever
- Timeouts in Go clients
- Errors during every rollout
- Budget spent, release planned
- Timeouts with a healthy database
- Catching certificate expiry
- Cutting Kubernetes cost safely
- How much budget does a burn rate use?
- Retry amplification
- Combining percentiles from many servers
- Little's Law for capacity
- Tail latency with fan-out
- Throttled but not busy
- Handling overload
- Running a safe chaos experiment
- Why a short window in burn-rate alerts
- Coordinated omission
- Gaps in a rate() graph
- Misleading histogram quantiles
- Outage that outlives its trigger
- A hot cache key expires
- Wasted work after timeouts
- Go service OOMKilled under load
- Two leaders after a GC pause
- DNS failover that did not fail over
- Refactoring Terraform without destroy
- Double pages from HA Prometheus
- Broken tail-based sampling
- Alerting on queue lag
- Random packet drops on a busy node
- Listen queue overflows
- SLOs for a low-traffic service
- Where to measure the SLI
- Rollback blocked by a schema change
- A surprise network bill
- Emergency access to production
- What to drop when overloaded
- Slow requests, idle CPU
- Which pods are evicted first?