System Design
Name | URL | Description |
---|---|---|
System Design Primer | https://github.com/donnemartin/system-design-primer | A 200k Stars repo with System Design Notes, not too detailed, but covers a lot of stuff |
Cloudflare Learning Center | https://www.cloudflare.com/en-ca/learning/ | Cloudflare is a perfect source to learn system design, they have so many free info in their docs |
Topics
- Cache
- CDN
- DNS
- Load Balancer
- Reverse Proxy
- Database
- Asynchronism
- Message Queues
- Task Queues
- Back Pressure
- Security
- Protocols
- Deployment
- Read Web App Deployment for web app deployment methods
How to Approach a System Design Interview Question
- Outline use cases, constraints, assumptions
- Who is client?
- How many client?
- How are clients using it?
- How much data?
- How many requests per second?
- Read/Write Ratio
- Create the high-level design
- Sketch the main components and connections
- Design core components
- Scale the design
- Load Balancer
- Horizontal Scaling
- Caching
- Database Sharding