System Design
System Design
Senior-Level Answer Framework
- Requirements and non-goals
- Scale estimates
- API design
- Data model
- High-level architecture
- Deep dives
- Reliability and failure handling
- Consistency and correctness
- Observability
- Trade-offs and evolution
System Architecture
Use Mermaid diagrams when the system has multiple services, ownership boundaries, event streams, or data stores.
flowchart LR Client[Client] --> API[API layer] API --> Service[Domain service] Service --> Events[Event stream] Events --> Analytics[Real-time analytics] Analytics --> OLAP[OLAP store] OLAP --> Dashboard[Dashboard]
Practice Areas
- Feeds and timelines
- Messaging and chat
- Search
- Analytics and metrics
- Distributed queues
- Rate limiting
- Data platforms
- Multi-tenant SaaS systems