System Design (HLD)
High-level design fundamentals, load balancing, databases at scale, caching, distributed systems concepts, and the real interview favorites — design TinyURL, WhatsApp, Uber, Netflix — asked at companies like Meta, Amazon, and Google.
HLD Fundamentals & Scalability
What is High-Level Design (HLD)? How does it differ from Low-Level Design (LLD)?
beginnerProTests whether you know HLD is about system architecture and component boundaries, while LLD is about class-level implementation detail.
What are Functional Requirements vs Non-Functional Requirements?
beginnerProTests whether you know to separate what a system does from how well it needs to do it (latency, scale, availability).
What is the difference between horizontal scaling and vertical scaling?
beginnerProTests whether you know the tradeoffs between adding more machines versus making one machine bigger.
How do you design a system to handle 1 million requests per second?
advancedProTests whether you can reason through caching, load balancing, sharding, and async processing together at extreme scale.
What is the thundering herd problem? How do you prevent it?
advancedProTests whether you know why many clients retrying or waking up simultaneously can itself take a system down.
WhatsApp Deep Dive
Design WhatsApp — what are the key functional and non-functional requirements (2B users, 100B messages/day, latency, consistency)?
intermediateProTests whether you can scope a huge system design problem correctly before jumping to components.
How does WhatsApp use WebSocket for real-time messaging? Why not HTTP polling?
intermediateProTests whether you know a persistent connection avoids the latency and overhead of constantly re-establishing HTTP requests.
What is the difference between sent, delivered, and read ticks in WhatsApp? How is each implemented?
intermediateProTests whether you know each tick maps to a distinct acknowledgment event traveling back through the delivery pipeline.
How does WhatsApp handle message delivery when the recipient is offline?
advancedProTests whether you know messages queue server-side until the recipient's connection re-establishes, then flush in order.
How does WhatsApp handle group messaging at scale — fanning a message out to up to 1024 members?
advancedProTests whether you know large-group fanout is a genuinely harder scaling problem than 1-on-1 messaging.
What is End-to-End Encryption (E2EE)? How does WhatsApp implement it using the Signal Protocol?
advancedProTests whether you know the server never has the keys to read message content, and how key exchange still works per-device.
How does WhatsApp store and deliver media (images, videos) — CDN, chunked upload, compression?
advancedProTests whether you know media takes an entirely different storage/delivery path than lightweight text messages.
How would you design WhatsApp's message delivery system to ensure no message is ever lost?
advancedProTests whether you can combine acknowledgments, persistent queuing, and retry logic into a genuinely reliable delivery guarantee.
Load Balancing
What is a load balancer? What are its main responsibilities?
beginnerProTests whether you know a load balancer does more than just 'spread traffic' — health checks, TLS termination, and failover too.
What is the difference between Layer 4 (TCP) and Layer 7 (HTTP) load balancing?
intermediateProTests whether you know L7 can route on content (path, headers) while L4 only sees connection-level information.
Explain load balancing algorithms: Round Robin, Weighted, Least Connections, IP Hash.
intermediateProTests whether you know which algorithm fits which traffic pattern, especially when backend capacity is uneven.
What is sticky session (session affinity)?
intermediateProTests whether you know why pinning a user to one server helps stateful apps but hurts even load distribution.
Saga Pattern Deep Dive
What is the Saga pattern? What problem does it solve in microservices, and why can't you just use a traditional ACID transaction across services?
beginnerProTests whether you know distributed ACID transactions don't scale, and Saga is the practical alternative.
Walk through an e-commerce order flow using Choreography Saga — Order Service → Payment Service → Inventory Service.
advancedProTests whether you can trace event-driven, peer-to-peer coordination step by step without a central coordinator.
Walk through the same e-commerce order flow using Orchestration Saga with a central coordinator.
advancedProTests whether you can contrast this against choreography and explain when a central coordinator is actually worth the coupling.
How do you implement a Choreography Saga using Kafka — what events are produced and consumed at each step?
advancedProTests whether you can turn the abstract pattern into a concrete topic/event design.
How do you debug a failed Saga — how do you know which step failed and what was compensated?
advancedProTests whether you know a Saga needs its own observability (state tracking, correlation IDs) since there's no single transaction log to inspect.
What is the difference between Saga and Two-Phase Commit (2PC)? Why is Saga preferred in microservices?
advancedProTests whether you know 2PC's blocking, coordinator-dependent model doesn't fit the availability goals of microservices.
Databases & Storage
What is the difference between SQL (RDBMS) and NoSQL databases?
beginnerProTests whether you know the schema, scaling, and consistency tradeoffs, not just 'SQL is relational, NoSQL isn't.'
What is ACID vs BASE? When do you sacrifice consistency for availability?
intermediateProTests whether you know these are two fundamentally different philosophies for what a database guarantees under failure.
What is the CAP theorem? Give real database examples for CP and AP systems.
intermediateProTests whether you can name real databases (like DynamoDB or Cassandra vs. traditional RDBMS) and place them correctly on CAP.
What is database sharding? What are the sharding strategies?
intermediateProTests whether you know range-based, hash-based, and directory-based sharding, and the hotspot risk each carries.
What is consistent hashing? How does it minimize resharding?
intermediateProTests whether you know why consistent hashing avoids remapping almost every key when a node is added or removed.
What is an LSM Tree? How does Cassandra use it?
advancedProTests whether you know how log-structured merge trees turn random writes into fast sequential ones for write-heavy databases.
NGINX & Reverse Proxies
How do you configure NGINX as a load balancer using the upstream block?
intermediateProTests whether you know the practical configuration, not just that NGINX 'can do load balancing.'
How does NGINX handle SSL termination — what is the benefit of terminating SSL at the load balancer instead of at each backend?
advancedProTests whether you know centralizing TLS termination simplifies certificate management and offloads CPU work from application servers.
How does NGINX handle 10,000 concurrent connections without spawning 10,000 threads?
advancedProTests whether you know NGINX's event-driven, non-blocking architecture is what makes this possible on modest hardware.
What is the difference between a forward proxy and a reverse proxy?
intermediateProTests whether you know one hides the client from the server, and the other hides the server from the client.
Caching
What is caching? At how many layers can you cache in a system?
beginnerProTests whether you know caching can happen at the browser, CDN, application, and database layer, each solving a different problem.
What is the difference between Cache-Aside, Write-Through, Write-Behind, and Read-Through?
intermediateProTests whether you know the tradeoffs each caching strategy makes between latency, consistency, and complexity.
What is cache eviction? Explain LRU, LFU, and FIFO policies.
intermediateProTests whether you know which eviction policy fits which access pattern, and why LRU is the common default.
What is a cache stampede (thundering herd)? How do you prevent it?
advancedProTests whether you know how to stop thousands of requests from simultaneously hammering the database when a hot key expires.
What is a hot key problem in Redis? How do you solve it?
advancedProTests whether you know why one extremely popular key can overload a single Redis shard even when the cluster overall has headroom.
Distributed Systems Trade-offs
What does the CAP theorem actually state? Why can a distributed system only guarantee two of Consistency, Availability, and Partition tolerance, not all three?
intermediateProTests whether you understand the actual proof intuition, not just the acronym.
What is the difference between Leader-Follower (Master-Slave) and Leaderless replication?
advancedProTests whether you know the coordination and conflict-resolution tradeoffs each replication model makes.
Compare rate limiting algorithms: Token Bucket vs Leaky Bucket vs Fixed Window vs Sliding Window.
advancedProTests whether you know each algorithm handles burstiness and window-boundary edge cases differently.
What is the difference between push-based and pull-based architecture for notifications and feeds?
intermediateProTests whether you know the tradeoff between instant delivery cost and on-demand fetch cost at scale.
What is the difference between stateful and stateless architecture? Why do cloud-native designs prefer stateless?
intermediateProTests whether you know statelessness is what makes horizontal scaling and failover trivial instead of painful.
What is the difference between vertical partitioning and horizontal partitioning (sharding)?
intermediateProTests whether you know one splits a table by columns and the other by rows, and which one actually improves write scalability.
What is the difference between write-through cache, write-back cache, and cache-aside pattern?
advancedProTests whether you know the durability-versus-latency tradeoff each write strategy makes.
Messaging & Distributed Systems
What is a message queue? Why is asynchronous communication important?
beginnerProTests whether you know how decoupling producers from consumers improves resilience and lets each side scale independently.
What is Kafka? Explain Topics, Partitions, Producers, Consumers, Consumer Groups.
intermediateProTests whether you can explain Kafka's architecture at the system-design level, not just the API surface.
What is the Two Generals Problem? What does it imply for distributed systems?
advancedProTests whether you know why perfectly reliable communication over an unreliable network is provably impossible.
What is leader election? How do Zookeeper and Raft implement it?
advancedProTests whether you know how a distributed system agrees on a single coordinator without a single point of failure.
What is a distributed lock? How does Redis implement Redlock?
advancedProTests whether you know how to coordinate mutual exclusion across multiple machines, not just within one process.
What is a Merkle Tree? How is it used in Cassandra anti-entropy or Git?
advancedProTests whether you know how hash trees let two systems find data differences without comparing every single record.
Real System Design Problems
Design a project management tool like Jira — issues, boards, workflows, permissions.
advancedProTests whether you can model a complex, permission-heavy, highly configurable domain, not just a simple CRUD app.
Design a real-time collaboration tool (like Google Docs) where multiple users edit the same document simultaneously.
expertProTests whether you know operational transformation or CRDTs are what make concurrent editing actually converge correctly.
Design a URL shortening service like TinyURL.
intermediateProThe most classic system design opener — tests encoding strategy, collision handling, and read-heavy scaling.
Design a search system for knowledge base articles used by millions of users.
advancedProTests whether you know when to move beyond database LIKE queries to a dedicated search engine like Elasticsearch.
Design a real-time chat system like WhatsApp.
intermediateProTests whether you can design delivery guarantees, message ordering, and real-time connections at massive scale. Asked at: Meta, Google, Uber
Design Twitter — posting tweets, following, and timeline generation.
intermediateProTests whether you know the fanout-on-write versus fanout-on-read tradeoff for celebrity accounts with millions of followers. Asked at: Meta, X, Amazon
Design Slack/Teams — channels, threads, and search at scale.
advancedProTests whether you know channel-based fanout and message search have different scaling characteristics than 1-on-1 chat. Asked at: Salesforce, Microsoft, Atlassian
Design a distributed messaging system that guarantees ordered, reliable delivery across regions.
expertProTests whether you can combine partitioning, replication, and ordering guarantees into one coherent messaging backbone.
Design YouTube — video upload, transcoding, storage, streaming.
intermediateProTests whether you can design a pipeline for chunked upload, async transcoding, and adaptive bitrate streaming. Asked at: Google, Microsoft
Design a centralized logging and monitoring system for hundreds of microservices.
advancedProTests whether you know how ingestion, indexing, and query layers need to scale independently for a system like this.
Design Uber — rider requests, driver matching, trip tracking.
advancedProTests whether you can design geospatial indexing and real-time matching under tight latency constraints. Asked at: Uber, Lyft, Google
Design a rate limiter for an API — prevent abuse at scale.
advancedProTests whether you can design a distributed rate limiter, not just a single-process token bucket. Asked at: Amazon, Stripe, X
Design a workflow automation system (like Zapier) that triggers actions based on configurable rules across many integrations.
expertProTests whether you can design a pluggable trigger-action engine that scales across arbitrary third-party integrations.
Design a distributed key-value store like DynamoDB or Cassandra.
advancedProTests whether you can bring together consistent hashing, replication, and CAP tradeoffs into one coherent design. Asked at: Amazon
Design a distributed job scheduler that avoids duplicate execution across multiple instances.
expertProTests whether you know a naive cron-per-instance setup breaks the moment you scale beyond one node.
Design a flash sale system for 10 million users all trying to buy one product at exactly the same second. How do you prevent overselling?
expertProTests whether you can combine an atomic inventory decrement, a request buffer, and idempotency into one design under extreme concurrent load.
Design a notification system — push, SMS, email — at 100M users/day.
advancedProTests whether you can design multi-channel fanout with retries, rate limiting per user, and provider failover.
Location & Ride-Hailing
AI/ML Systems (Trending)
Design a system like ChatGPT — LLM serving at scale.
advancedProTests whether you can reason about GPU batching, request queuing, and streaming token responses under massive concurrent load. Asked at: OpenAI, Google, Microsoft
Design a recommendation engine — collaborative filtering.
advancedProTests whether you can design the offline model training and online low-latency serving halves of a recommendation system. Asked at: Netflix, Amazon