# Design Patterns & Failure Handling Most system design interviews are evaluating your handling of partial failure. ## Core patterns - Caching (read-through, write-through, write-back) - Queues and async workers - Idempotency keys - Rate limiting - Circuit breakers and bulkheads - Backpressure ## Failure handling checklist - Timeouts set everywhere (and sane) - Retries capped + backoff + jitter - Fallbacks for degraded dependencies - Dead-letter queues for async - Rollback plan ## Observability checklist - SLIs: latency, errors, saturation - dashboards show p95/p99 - alerts are actionable - tracing for dependency chains