System Design
Design scalable systems: load balancing, caching, microservices, and distributed architecture.
Open-ended system design questions intentionally lack clarity. They expose whether a candidate defaults to patterns or first establishes constraints, evaluates trade-offs, and narrows the problem space deliberately.
The topics below focus on building a precise mental model of scale, caching strategies, boundaries, and failure modes—so you can turn an underspecified problem into a coherent design, defend your decisions, and articulate the reasoning behind them when stakes are high.
Topics in this category
Horizontal vs Vertical Scaling
Read →Understand the difference between horizontal (scale-out) and vertical (scale-up) scaling, their trade-offs, and when to use each approach.
Redis Caching: Patterns, Consistency & Performance at Scale
Read →Run Redis as a cache: data structures, TTLs and eviction, persistence trade-offs, replication, clustering, hot keys, and stampede protection.
Database Sharding
Read →Master database sharding strategies: horizontal partitioning, shard key selection, cross-shard queries, rebalancing, and handling failures in sharded systems.
Consistent Hashing
Read →Learn consistent hashing for distributed systems. Understand how it enables efficient data distribution, handles node failures, and minimizes data movement duri
Replication Strategies: Sync vs Async, Lag & Failover
Read →Master replication models (primary-replica, multi-primary), sync vs async trade-offs, replication lag, read consistency, and failover.
Indexing Strategies
Read →Learn database indexing strategies: B-tree, hash indexes, composite indexes, covering indexes, and how to design indexes for optimal query performance.
Monolith vs Microservices
Read →When one app is enough—and when splitting into services actually helps. Plain comparison of monoliths and microservices, how teams feel the difference in production, and how to migrate without a big-bang rewrite.
Microservices Architecture
Read →Master microservices architecture: service decomposition, communication patterns, data management, deployment strategies, and challenges like distributed transa
API Gateways
Read →Understand API gateways as the single entry point for microservices. Learn routing, authentication, rate limiting, request/response transformation, and circuit
Event-Driven Architecture
Read →Master event-driven architecture: event sourcing, CQRS, event streaming, event choreography vs orchestration, and building scalable event-driven systems.
Retries & Backoff: Exponential, Jitter, Timeouts & Idempotency
Read →Design safe retries: exponential backoff + jitter, timeouts, idempotency, circuit breaking, and avoiding retry storms.
Rate Limiting Fundamentals: Why and Where It Applies
Read →Why teams use rate limits, real-world examples, how one request is checked at the gateway, the per-server mistake, and rate limiting vs throttling—in plain English.
Rate Limiting Algorithms: Token Bucket, Windows, and HTTP 429
Read →Compare fixed window, token bucket, leaky bucket, and sliding window rate limiting—and what API clients should see when blocked (429, headers, Retry-After).
CDN Design
Read →Understand Content Delivery Networks (CDNs), how they reduce latency, edge caching strategies, cache invalidation, and designing a CDN architecture.
Reverse Proxying: TLS Termination, Routing, Caching & Security
Read →Understand reverse proxies (Nginx/Envoy): TLS termination, routing, load balancing, caching, auth, and common deployment patterns.
High Availability
Read →Design for high availability: redundancy, failover strategies, health checks, circuit breakers, and achieving 99.9%+ uptime in distributed systems.
CQRS
Read →Master CQRS (Command Query Responsibility Segregation): separate read and write models, when to use it, and implementation patterns.
Event Sourcing
Read →Learn event sourcing: storing state changes as events, rebuilding state, event replay, and when event sourcing is the right choice.
Saga Pattern: Distributed Transactions, Orchestration & Recovery
Read →Learn sagas for distributed transactions: choreography vs orchestration, compensations, idempotency, and failure handling.