— title: System design interview —
idea
System design is a process, follow the steps:
- Requirements
- Back of the envelope scale
- APIs / interface (e.g. methods)
- Data model (db shards, etc.)
- High level components
- Detailed design for 2-3 components based on feedback
- Bottlenecks
What you want to clarify is:
- Clarification
- Function
- Scale
- Ops
- Functional
- Entities
- Functions
- Data model
- Events (if relevant)
- Technical
- Components
- Scale
- Tech
- Trade-offs
- Operations
- Monitoring & alerting
- Resilience
- Recovery