System Design Introduction

OhMySoftwareEngineer
1 min readJan 2, 2023

--

System design interviews are used to check your thought process and how well you respond to the uncertain nature of an open-ended question in the given amount of time. So remember you are not expected to provide with a complete solution say in 1 hour but a working solution with limited functionality.

Things to keep in mind while giving system design interview

You need to keep in mind these 3 things while giving a system design interview.

  • Don’t get overwhelmed by the problem
  • Think before you speak
  • Drive the discussion

Distributed Systems & Its 3 Principles

Any system which includes multiple components residing on multiple machines coordinating through some sort of mechanism like sending messages to achieve a common goal is a distributed system.

  1. Single responsibility principle — Each component present in System Design should have a single job to perform.
  2. No single point of failure principle — The system should never have any component whose failure will result in the failure of the entire system.
  3. No bottleneck principle — Since we design for scalability our system should not have performance bottlenecks. Ideally we should horizontally scale our system to handle the large amounts of processing.

--

--

OhMySoftwareEngineer
OhMySoftwareEngineer

Written by OhMySoftwareEngineer

0 Followers

Oh My Software Engineer

No responses yet