Easo Thomas Easo Thomas Website

System Design Interview - What topics do you expect to cover?

Here is probably an exhausitive list of System Design Topics that you can use to prepare for your System Design interviews. Source: LinkedIn.

These are my notes for my own reference. Read some reference documentation for more accurate and up-to-date details on how these are put in action by different software products and companies.

Scaling & Architecture

↬ CDN ↬ Caching ↬ Sharding ↬ Queueing ↬ Replication ↬ Partitioning ↬ API Gateway ↬ Rate Limiting ↬ CAP Theorem ↬ Microservices ↬ Load Balancing ↬ Fault Tolerance ↬ Database Scaling ↬ Service Discovery ↬ Consistency Models ↬ Eventual Consistency ↬ Distributed Transactions ↬ Monolith vs Microservices ↬ Leader Election

Databases & Storage

↬ Leader-Follower Replication ↬ WAL (Write Ahead Log) ↬ Asynchronous Processing ↬ Transaction Isolation ↬ Read/Write Patterns ↬ Consistent Hashing ↬ Redis/Memcached ↬ Backup & Restore ↬ Hot/Cold Storage ↬ Data Partitioning ↬ Object Storage ↬ SQL vs NoSQL ↬ Data Retention ↬ Data Modeling ↬ OLAP vs OLTP ↬ ACID & BASE ↬ Bloom Filters ↬ File Systems ↬ S3 Basics ↬ B+ Trees ↬ Indexing

Communication & APIs

↬ JWT ↬ CORS ↬ OAuth ↬ Throttling ↬ Serialization ↬ API Security ↬ Long Polling ↬ WebSockets ↬ API Gateway ↬ Idempotency ↬ Service Mesh ↬ Retry Patterns ↬ REST vs gRPC ↬ API Versioning ↬ Circuit Breaker ↬ API Rate Limits ↬ Fan-out/Fan-in ↬ Protocol Buffers ↬ Message Queues ↬ Dead Letter Queue

Reliability & Observability

↬ Metrics ↬ Alerting ↬ Failover ↬ Logging ↬ Rollbacks ↬ Monitoring ↬ Heartbeats ↬ Retry Logic ↬ Autoscaling ↬ SLO/SLI/SLA ↬ Load Testing ↬ Error Budgets ↬ Health Checks ↬ Circuit Breaker ↬ Incident Response ↬ Chaos Engineering ↬ Distributed Tracing ↬ Canary Deployments ↬ Graceful Degradation ↬ Blue-Green Deployment