- FAQ
- Work Scenarios
Read Heavy | Write Heavy |
---|---|
Caching | Database Optimization (Cassandra using LSM trees) |
Database Replication | Asynchronous Processing |
CDN | Write Batching and Buffering |
Load Balancing | Database Partitioning |
Data Partitioning | Command Query Request Seggregation (CQRS) - Separate handling for Read and Write |
Optimized Data Retrieval (Indexing frequently queried data or move them all to a one partition) | Event Sourcing |
Key | Strategies |
---|---|
Scalability | Horizontal, Vertical |
Availability | * Redundancy & Replication * Load Balancing * Distributed Data Storage * Health Monitoring & Alerts * Regular System Maintenance & Updates * Geographic Distribution |
Latency & Performance | Data Locality, Load Balancing, Caching |
Monitoring & Observability | * Metrics Collection * Distributed Tracing * Logging * Alerting & Anomaly Detection * Visualization & Dashboards |
Resiliencey & Error handling | * Fault Tolerance * Graceful Degradation (Circuit Breakers, Timeouts, Fallbacks) * Retry & Backoff * Logging errors & Generating Alerts * Chaos Engineering |
Guide on How to answer questions - Video
Most Common System Design Questions
System Design Questions 2.0 by Jordan has no life
Designing Data Intensive Applications - Videos - PPT
InterviewReady - System Design Resources
System Design Algorithms Every Engineer should know
How to Scale a system from 0 to 1 Million users
How to Identify the right database for a system