System Design Notes
Comprehensive study notes for senior engineer/architect interviews at FAANG companies
Step 01 Fundamentals
•
Overview
•
Horizontal Vs Vertical Scaling
•
How Internet Works
•
Memory Pages
•
Serverless Vs Serverfull
•
Threads
Step 02 Databases
•
Overview
•
Data Partitioning
•
Data Replication Migration
•
In Memory Databases
•
Sharding
•
Sql Vs Nosql
•
Which Is Better Use Cases
Step 03 Consistency Availability
•
Overview
•
Cap Theorem
•
Data Consistency Levels
•
Isolation Levels
•
Priority Decision Framework
Step 04 Caching
•
Overview
•
Cache Redis Memcached
•
Cdn
•
Replacement Policy
•
Write Policy
Step 05 Network Protocols
•
Overview
•
Http
•
Tcp Vs Udp
•
Webrtc Video Streaming
•
Websockets
Step 06 Load Balancing
•
Overview
•
Consistent Hashing
•
Hashing Internals
•
Load Balancing Algorithms
•
Proxy Reverse Proxy
•
Rate Limiting
Step 07 Message Queues
•
Overview
•
Async Processing Kafka Rabbitmq
•
Pub Sub Model
Step 08 Architecture Patterns
•
Overview
•
Cascading Failures
•
Containerization
•
Monoliths Vs Microservices
•
Single Point Of Failure
•
Why Microservices
Step 09 Observability
•
Overview
•
Anomaly Detection
•
Logging Monitoring
Step 10 Security
•
Overview
•
Acl Rule Engines
•
Encryption
•
Sso Oauth
•
Tokens Authentication
Step 11 Trade Offs
•
Overview
•
Accuracy Vs Latency
•
Consistency Vs Availability
•
Memory Vs Latency
•
Push Vs Pull
•
Sql Vs Nosql
•
Throughput Vs Latency
Step 12 Case Studies
•
Overview
•
Amazon
•
Booking Airbnb
•
Google Drive
•
Instagram
•
Netflix
•
Twitter
•
Uber
•
Whatsapp
•
Youtube
•
Zoom