- Scope the problem
- Don’t make assumptions.
- Ask clarifying questions to understand the constraints and use cases.
- Steps
- Requirements clarifications
- System interface definition
- Sketch up an abstract design
- Building blocks of the system
- Relationships between them
- Steps
- Back-of-the-envelope estimation
- Defining data model
- High-level design
- Identify and address the bottlenecks
- Use the fundamental principles of scalable system design
- Steps
- Detailed design
- Identifying and resolving bottlenecks
dian-zhang / navigating-system-design Goto Github PK
View Code? Open in Web Editor NEWThis project forked from ricksayd/navigating-system-design