advanced
High-level design
Show major clients, edge, services, data stores, queues, caches, and external dependencies before deep-diving.
High-level design shows major components and data flow: clients, CDN, load balancers, API gateway, services, databases, caches, queues, object storage, and external integrations. Draw request paths for the top two use cases before optimizing internals.
Label sync versus async boundaries and which store is source of truth. Keep service count reasonable — split when scaling, team, or failure isolation requires it, not by default.
On interviews: narrate a read path and a write path across your diagram; point out where you would deep-dive if asked.
Common pitfalls: diagram with unnamed arrows; every feature as its own microservice; missing async pipeline for heavy work.
The trade-off is flexibility versus complexity—know when the simpler path is enough.
Checklist:
- Draw clients through edge to data stores.
- Trace primary read and write paths.
- Mark caches, queues, and external deps.
- Justify each major service boundary.