System Design Cheat Sheet
2 min readFeb 3, 2019
You can use it for interviews or assessments, pre-sales, or estimations.
1. Understand Problem and Scope
- Recognize stakeholders and prioritize them. Create a RACI matrix
- Understand business drivers of the project
- Recognize end-users of the project and understand how they use that system
- Check functional requirements
- Define external dependencies
- Suggest additional features
- Remove items that interviewer considers out of scope
2. Think about constraints and non-functional requirements
- (use PASS ME if you do not remember all of NFRs)
- Recognize the number of users
- Estimate users growth rate (for the next year/next five years)
- Define average response time
- Understand database size (current / for the next year/ for the next five years)
- Understand storage size (current / for the next year/ for the next five years)
- Recognize security needs
- Define acceptable downtime of the system
- Recognize the number of requests (per…