System Design Cheat Sheet

Nikolay Ashanin
2 min readFeb 3, 2019
Image 1. Monument Valley Game

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…

--

--