System Design and Design Patterns
Goal: answer senior-level design rounds with crisp requirements, tradeoffs, scalable architecture, reliability thinking, and clean object/design-pattern vocabulary.
| Week | Focus | Output |
|---|---|---|
| Week 1 | Design interview framework, requirements, APIs, estimation, SOLID, factory/strategy/observer | 2 lightweight designs, 1 pattern summary |
| Week 2 | Load balancing, caching, queues, rate limiting, adapter/decorator/command | 2 designs, tradeoff notes |
| Week 3 | Storage, indexing, replication, sharding, consistency, repository/unit-of-work | 2 designs, storage decision table |
| Week 4 | Distributed systems, availability, idempotency, retries, circuit breaker, saga | 2 designs, failure-mode checklist |
| Week 5 | Observability, logging, metrics, tracing, security, auth, facade/proxy | 2 designs, operational readiness notes |
| Week 6 | Microsoft-style product systems: collaboration, files, notifications, feeds | 3 end-to-end designs |
| Week 7 | Mock design interviews and pattern integration | 4 mocks, review gaps |
| Week 8 | Final design review and reusable templates | 2 polished designs, final cheat sheet |
Design Drill Template
- Requirements:
- Scale:
- APIs:
- Data model:
- High-level architecture:
- Bottlenecks:
- Tradeoffs:
- Failure modes:
- Follow-ups: