Skip to main content

System Design

  • System design interviews require the interviewee to have a lot of knowledge about systems, and about how to build robust, functional, and scalable systems

System Design Basics

  • Consider 3 things when designing a large system

    1. What are the different architectural pieces that can be used?
    2. How do these pieces work with each other?
    3. How can we best utilize these pieces: what are the right tradeoffs?
  • Importance for good system design:

    • Investing in scaling before it is needed is generally not a smart business proposition
    • Putting forethought into the design can save valuable time and resources in the future