Backend Developer
Resilience and fault tolerance questions
97 questions on Resilience and fault tolerance for backend developers, easiest first.
Easy 26
- Stack traces in production errorseasy
- RPO versus RTOeasy
- Backups that nobody has restoredeasy
- Calls with no timeouteasy
- Which errors to retryeasy
- Recommendations service is downeasy
- RTO and RPOeasy
- MTTR and MTBFeasy
- Backups nobody has restoredeasy
- Respecting Retry-Aftereasy
- The bulkhead patterneasy
- Turning off a broken feature fasteasy
- Errors right after a deployeasy
- Why use a canary releaseeasy
- Heater controller loses its sensoreasy
- An outage caused by a certificateeasy
- Service dies after weeks of uptimeeasy
- Connect timeout versus read timeouteasy
- Why postmortems are blamelesseasy
- N+1 capacityeasy
- An alert at 3 a.m.easy
- Which request is safe to retryeasy
- Planned database maintenanceeasy
- How much downtime 99.99% allowseasy
- Spotting a single point of failureeasy
- DNS failover is sloweasy
Medium 40
- Errors during every deploymedium
- Liveness probe restarts every podmedium
- Retrying after a shared outagemedium
- What a circuit breaker doesmedium
- One bad message blocks the queuemedium
- A standard shape for error bodiesmedium
- Express error handler never runsmedium
- Cannot set headers after they are sentmedium
- A slow partner API hangs your requestsmedium
- Committed orders missing after failovermedium
- Delayed retries in RabbitMQmedium
- Total exponential backoff timemedium
- Counting dead-letter retriesmedium
- Timeouts that exceed the budgetmedium
- Will the retries fit in timemedium
- Circuit breaker trips at nightmedium
- Capping retries with a budgetmedium
- Availability of two replicasmedium
- Three replicas fail togethermedium
- App keeps failing after failovermedium
- Serving stale data during an outagemedium
- Backoff without a ceilingmedium
- Noticing a job that never ranmedium
- Replicas do not protect from bad deletesmedium
- Rollback breaks after a migrationmedium
- A dependency is down at startupmedium
- An unhandled promise rejectionmedium
- Fail open or fail closedmedium
- Promising more than a dependencymedium
- Pods restart every few hoursmedium
- When the error budget runs outmedium
- Requests hang waiting for a connectionmedium
- Login broken, dashboards greenmedium
- One bad item in a batch callmedium
- Errors that vanishmedium
- Too many alerts, missed outagesmedium
- An I2C sensor read failsmedium
- Cutting features under heavy loadmedium
- Retrying a 409 Conflictmedium
- Availability of a call chainmedium
Hard 31
- Retries stacked at every layerhard
- Work continues after the client gives uphard
- Retries at every layerhard
- Why add a circuit breakerhard
- One bad row in a bulk importhard
- A forgotten await crashes the serverhard
- A database blip restarts every podhard
- Two kinds of database timeouthard
- Retrying at the back of the queuehard
- Backoff without a delay queuehard
- Calculating an error budget burn ratehard
- Surviving the loss of one zonehard
- Hedging slow requestshard
- A fixed concurrency limithard
- The cache becomes criticalhard
- When the control plane is downhard
- A config change takes down every regionhard
- Idempotency keys that expire too soonhard
- A timeout set at the medianhard
- One bad instance trips the breakerhard
- Serving requests newest firsthard
- A payment call timed outhard
- A fallback that makes things worsehard
- Accepting orders while the DB is downhard
- Health check green during an outagehard
- Autoscaling during a dependency outagehard
- Queries keep running after the client quitshard
- Errors cached at the edgehard
- Telemetry backlog on a slow linkhard
- Automatic failover keeps flippinghard
- Limiting the blast radiushard