System Design Approach
- → Step 0: Understand the Problem before coming to conclusion
- → Step 1: Functional Requirements / Minimum viable Product ( MVP)
- → Step 2: Estimation of Scale ( Back of the envelops calculations)
- Compute or Storage
- Read heavy or Write heavy or Both
- → Step 3: Tradeoffs
- C or A
- Stateless or Stateful
- → Step 4: System Design deep dive
- APIs
- System Design diagram ( Components)
- Data Flow
→ In HLD interview, be the driver. don’t wait for Interviewer to talk
→ In HLD interview use 5 step process to show breadth and use Step 4 Design Deep
List of Trade off ( For My Reference )
Number of People on Earth is 8 B ( Planet Scale)
Peak Query per second for estimation use 2 twice the Av. Query per second ( for Estimations)
Any feature which is essentially a performance Trade off bit it is must have in a MVP it should be part NFR