System Design Intro

1 min read
system designSystem Design Intro
When studying system design for the first time, the concepts you'll need to learn may seem fairly random and all of over the place
- SQL vs NoSQL
- Different caching strategies
- Horizontal vs vertical partitioning
- etc.
And while it may seem very random at the start, eventually you'll have a surface level understanding of common system design interview concepts.
The goal is to eventually be able to say during an interview:
- "How I've solved this problem in the past"
- "When I previously had to choose between..."
- "I've built a system to address a similar problem and this is how we solved it"
Concept Overview
- Foundations: Single Server
- CPU
- RAM
- DISK
- Network basics
- Client Service Model
- DNS
- HTTP/HTTPS
- REST basics
- LAtency vs Throughput
- Back of envelope estimation
- Scaling a Single Service
- Vertical vs Horizontal scaling
- Load balancing (round robin, least connections, consistent hashing)
- Stateless vs Stateful Services