Template for System Design Interview

Introduction

  • Here, interviewer wants to know how does it feel like working with candidates on day to day basis.
  • Company also want to judge candidate’s soft skills along with technical expertise.
  • Does candidates open for critical feedback, responds well and adapt to new requirements easily ?

Clarification Questions (Scope)

  • Repeat the problem statement
  • Start with how the customer experience will looks like !
  • Think out loud
  • Reduce the scope of requirement for 45 mins discussion
  • Get agreement from interviewer on reduced scope explicitly

Back of the envelope estimates (Metrics)

  • We need to calculate transaction per seconds
    • How many total users
    • Daily active users
  • How much is the overall storage will be required.
    • Daily active user * Data size of a request (e.g. video, msg etc)

Functional Requirements

Non functional Requirements

1. Scalability

2. Availability

3. Reliability (Partition Tolerance)

  • Do we have infinite budget or constraints ?
  • Server distribution across geography, data centers (AZ), Rack etc.

4. Consistency

API’s

High Level Design

Low Level Design

Verification

  • Verify non-functional requirements are met at the end
  • Defend your design
  • Always focus on trade offs.

Please visit https: https://codeandalgo.com for more such contents.

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *