System Design Concepts

System Design Concepts

Networking
TCP/UDP, DNS, HTTP, reverse proxy, load balancing, CDN, WebSockets, and API protocols
Storage & Databases
Indexes, RDBMS internals, SQL vs NoSQL, Redis, Cassandra, S3, caching, and full-text search
Scaling
Database sharding — hash, range, directory strategies and cross-shard operations
Replication
Leader-based replication, read replicas, replication lag, and consistency models
Distributed Systems
CAP, PACELC, consistency models, idempotency, distributed locking, leader election, gossip, and quorum
Consensus & Coordination
Two-Phase Commit, Raft consensus, log replication, and safety guarantees
Messaging & Event-Driven
Message queues vs event streams, RabbitMQ, SQS, Kafka, consumer groups, and hybrid patterns
Rate Limiting
Fixed window, sliding window, token bucket, leaky bucket, distributed implementations, and Redis Lua scripts
Reliability Patterns
Circuit breaker, bulkhead isolation, back-pressure, load shedding, and composing resilience patterns
API Design
Pagination strategies, idempotency keys, API versioning, breaking vs non-breaking changes, and sunset lifecycle
Architecture
Microservices vs monolith, service discovery, API gateway, BFF pattern, and service mesh
Capacity Estimation
Latency numbers, estimation framework, worked examples, peak load patterns, and interview worksheet
Specialized concepts
Typeahead autocomplete, GeoHash encoding, QuadTree spatial indexing, and Uber-style location indexing
Security
OAuth 2.0, OIDC, JWT structure and validation, API authentication patterns — API keys, HMAC, mTLS, and Bearer tokens
Data Engineering
Batch vs streaming, stream processing engines, data warehouses, and Change Data Capture with Debezium
AI / ML Systems
Recommendation systems (retrieval + ranking), feature stores with point-in-time correctness, and end-to-end ML platforms