Home
Data Structures and Algorithms
Complexity Analysis
Arrays
Searching & Sorting
Linked Lists
Stacks
Queues
Heaps & Priority Queues
Hashing
Trees
Graphs
Tries
Math & Bit Manipulation
Greedy Algorithms
Backtracking
Dynamic Programming
Summary
About
Dark
Guide contents
System Design
Foundations and Interview Framework
1.
What Is the System Design Interview
2.
System Design Interview Framework
3.
Functional and Non-Functional Requirements
4.
Back-of-the-Envelope Estimation
5.
Scalability, Availability, and Reliability
6.
Interview Communication and Common Mistakes
Networking and Communication
7.
DNS Resolution
8.
TCP and UDP
9.
HTTP/1.1, HTTP/2, and HTTP/3
10.
REST API Design
11.
gRPC and Protocol Buffers
12.
GraphQL
13.
WebSockets, Server-Sent Events, and Long Polling
14.
API Pagination, Idempotency, and Versioning
15.
Load Balancing
16.
Reverse Proxy and API Gateway
17.
Content Delivery Networks
Data Storage
18.
SQL vs NoSQL
19.
ACID Transactions and Isolation Levels
20.
Database Indexing
21.
Storage Engines: B-Tree vs LSM-Tree
22.
Inverted Index and Full-Text Search
23.
Database Replication
24.
Sharding and Partitioning
25.
Consistent Hashing
26.
Key-Value and Document Stores
27.
Wide-Column, Graph, and Time-Series Stores
28.
Object and Blob Storage
29.
Data Modeling and Denormalization
Caching
30.
Caching Fundamentals and Strategies
31.
Cache Eviction Policies
32.
Cache Invalidation, Stampede, and Hot Keys
33.
Redis and Memcached
34.
Distributed Cache Design
Distributed Systems Theory
35.
CAP Theorem and PACELC
36.
Consistency Models
37.
Consensus: Paxos and Raft
38.
Leader Election
39.
Quorums and Replication Protocols
40.
Gossip Protocol and Failure Detection
41.
Time, Clocks, and Ordering in Distributed Systems
42.
CRDTs: Conflict-Free Replicated Data Types
43.
Distributed Transactions: Two-Phase and Three-Phase Commit
44.
Delivery Semantics and Idempotency
45.
Probabilistic Data Structures: Bloom Filters, HyperLogLog, Count-Min Sketch
46.
Geospatial Indexing: Geohash, Quadtree, S2, and H3
Async and Messaging
47.
Message Queues vs Pub/Sub
48.
Kafka Internals
49.
RabbitMQ, SQS, and Broker Comparison
50.
Event-Driven Architecture
51.
Stream vs Batch Processing
52.
Backpressure, Retries, and Dead Letter Queues
Microservices: Fundamentals
53.
Monolith, Modular Monolith, SOA, and Microservices
54.
When to Use Microservices
55.
Microservices Trade-offs and the Distributed Monolith
56.
Migrating to Microservices with the Strangler Fig Pattern
Microservices: Design and Decomposition
57.
Domain-Driven Design and Bounded Contexts
58.
Decomposition by Business Capability and Subdomain
59.
Service Granularity
60.
Monorepo, Polyrepo, and Shared Libraries
61.
Conway's Law and Team Topologies
Microservices: Communication
62.
Synchronous vs Asynchronous Communication
63.
Choreography vs Orchestration
64.
BFF and API Composition
65.
Service Discovery
66.
Service Mesh and Sidecars
67.
API Versioning and Contract Testing
Microservices: Data Management
68.
Database per Service
69.
Saga Pattern
70.
Transactional Outbox and CDC
71.
Event Sourcing and CQRS
72.
Eventual Consistency and Cross-Service Queries
73.
Idempotent Consumers and Deduplication
Microservices: Resilience
74.
Timeouts, Retries, Backoff and Jitter
75.
Circuit Breaker
76.
Bulkhead, Fallback and Load Shedding
77.
Rate Limiting and Backpressure Between Services
78.
Health Checks and Graceful Degradation
79.
Chaos Engineering
Microservices: Deployment and Operations
80.
Containers and Docker
81.
Kubernetes Basics
82.
CI/CD and Deployment Strategies
83.
Feature Flags
84.
Configuration and Secrets Management
85.
Distributed Tracing and Microservices Observability
86.
Serverless and FaaS
87.
Microservices Security and Zero Trust
Microservices: Capstone
88.
E-Commerce Microservices Design
89.
Microservices Interview Questions
Reliability, Security and Operations
90.
Observability: Logs, Metrics, and Traces
91.
Rate Limiting Algorithms
92.
Multi-Region Architecture and Disaster Recovery
93.
Authentication: OAuth 2.0, JWT, and Sessions
94.
Encryption, TLS, and Attack Mitigation
95.
Capacity Planning and Cost
Classic Problems
96.
Design a URL Shortener
97.
Design Pastebin
98.
Design a Rate Limiter
99.
Design a Key-Value Store
100.
Design a Unique ID Generator
101.
Design a Web Crawler
102.
Design a Notification System
103.
Design a News Feed
104.
Design a Chat System
105.
Design Search Autocomplete
106.
Design YouTube
107.
Design Google Drive
108.
Design Google Maps
109.
Design a Proximity Service
110.
Design a Distributed Message Queue
Advanced Problems
111.
Design Uber (Ride-Hailing)
112.
Design a Hotel Reservation System
113.
Design a Ticket Booking System
114.
Design a Payment System
115.
Design a Digital Wallet
116.
Design a Stock Exchange
117.
Design Ad Click Event Aggregation
118.
Design a Metrics Monitoring and Alerting System
119.
Design a Distributed Cache
120.
Design a Distributed Job Scheduler
121.
Design a Search Engine
122.
Design Google Docs
123.
Design Twitter
124.
Design WhatsApp
125.
Design a Leaderboard
Cheat Sheets and Study Plan
126.
System Design Numbers and Cheat Sheet
127.
Technology Choice Guide
128.
System Design Study Plan
129.
System Design Interview Checklist
Home
/
System Design
/
Reliability, Security and Operations
Reliability, Security and Operations
Observability, rate limiting, disaster recovery, authentication, and capacity planning.
6 lessons
90.
Observability: Logs, Metrics, and Traces
91.
Rate Limiting Algorithms
92.
Multi-Region Architecture and Disaster Recovery
93.
Authentication: OAuth 2.0, JWT, and Sessions
94.
Encryption, TLS, and Attack Mitigation
95.
Capacity Planning and Cost