System Design Concepts
System Design Concepts
Networking
TCP/UDP, DNS, HTTP, reverse proxy, load balancing, CDN, WebSockets, and API protocols
Storage & DatabasesIndexes, RDBMS internals, SQL vs NoSQL, Redis, Cassandra, S3, caching, and full-text search
ScalingDatabase sharding — hash, range, directory strategies and cross-shard operations
ReplicationLeader-based replication, read replicas, replication lag, and consistency models
Distributed SystemsCAP, PACELC, consistency models, idempotency, distributed locking, leader election, gossip, and quorum
Consensus & CoordinationTwo-Phase Commit, Raft consensus, log replication, and safety guarantees
Messaging & Event-DrivenMessage queues vs event streams, RabbitMQ, SQS, Kafka, consumer groups, and hybrid patterns
Rate LimitingFixed window, sliding window, token bucket, leaky bucket, distributed implementations, and Redis Lua scripts
Reliability PatternsCircuit breaker, bulkhead isolation, back-pressure, load shedding, and composing resilience patterns
API DesignPagination strategies, idempotency keys, API versioning, breaking vs non-breaking changes, and sunset lifecycle
ArchitectureMicroservices vs monolith, service discovery, API gateway, BFF pattern, and service mesh
Capacity EstimationLatency numbers, estimation framework, worked examples, peak load patterns, and interview worksheet
Specialized conceptsTypeahead autocomplete, GeoHash encoding, QuadTree spatial indexing, and Uber-style location indexing
SecurityOAuth 2.0, OIDC, JWT structure and validation, API authentication patterns — API keys, HMAC, mTLS, and Bearer tokens
Data EngineeringBatch vs streaming, stream processing engines, data warehouses, and Change Data Capture with Debezium
AI / ML SystemsRecommendation systems (retrieval + ranking), feature stores with point-in-time correctness, and end-to-end ML platforms