Technical Interviews

Top 20 System Design Interview Questions and How to Answer Them

12 min read

Why System Design Interviews Matter

System design interviews evaluate your ability to architect scalable, reliable software systems. Unlike coding interviews that test algorithmic thinking, system design rounds test whether you can make engineering trade-offs, communicate technical decisions clearly, and think about problems at scale.

These rounds are standard at mid-level and senior engineering positions. Companies like Google, Meta, Amazon, and Microsoft use them to assess candidates for roles at L4/E4 and above. Even startups increasingly include a system design component because they need engineers who can build systems that scale beyond the prototype stage.

The good news: system design interviews follow predictable patterns. The same categories of questions appear across companies, and there are established frameworks for approaching them.

The Framework for Any System Design Question

Before diving into specific questions, internalize this four-step framework that works for any system design problem:

1. Clarify Requirements (3-5 minutes)

Never start designing immediately. Ask about scale (how many users?), features (which are core vs. nice-to-have?), constraints (latency requirements? consistency vs. availability?), and non-functional requirements (uptime SLA? data retention?).

This step demonstrates engineering maturity. Junior candidates jump to solutions; senior candidates scope the problem first.

2. Estimate Scale (2-3 minutes)

Back-of-envelope calculations: daily active users, requests per second, storage needs, bandwidth. These numbers drive your architecture decisions. A system serving 1,000 users needs a fundamentally different architecture than one serving 100 million.

3. Design the High-Level Architecture (15-20 minutes)

Start with the core components: clients, load balancers, application servers, databases, caches, message queues. Draw the data flow. Then dive deeper into the most critical or complex components. Always explain why you chose each component.

4. Address Trade-Offs and Bottlenecks (5-10 minutes)

No design is perfect. Discuss trade-offs you made (consistency vs. availability, cost vs. performance), identify bottlenecks, and explain how you would monitor and scale the system over time.

The 20 Most-Asked System Design Questions

URL Shortener (e.g., bit.ly)

Core challenge: generating unique short codes, handling redirects at massive scale, and analytics tracking. Key decisions: hash generation strategy (counter-based vs. hash-based), database choice (key-value store like DynamoDB), and caching layer for popular URLs. Discuss: what happens when the hash space fills up? How do you handle custom aliases?

Chat System (e.g., WhatsApp, Slack)

Core challenge: real-time message delivery, presence indicators, and message persistence. Key decisions: WebSocket connections for real-time communication, message queue for reliability, and database partitioning strategy for conversation history. Discuss: how do you handle message ordering? What about offline users?

News Feed (e.g., Twitter, Facebook)

Core challenge: generating personalized feeds from potentially millions of followed accounts. Key decisions: fan-out on write vs. fan-out on read (or hybrid), ranking algorithm placement, and caching strategy. Discuss: how do you handle celebrity accounts with millions of followers?

Web Crawler

Core challenge: efficiently crawling billions of pages while respecting robots.txt, handling duplicates, and managing politeness policies. Key decisions: URL frontier design, distributed crawling coordination, and content deduplication (simhash or MinHash). Discuss: how do you prioritize which pages to crawl first?

Rate Limiter

Core challenge: throttling requests fairly without introducing significant latency. Key decisions: algorithm choice (token bucket, sliding window, fixed window), distributed rate limiting across multiple servers, and handling burst traffic. Discuss: how do you rate limit by user, IP, and API key simultaneously?

Distributed Cache (e.g., Memcached, Redis)

Core challenge: high throughput, low latency, and cache consistency across nodes. Key decisions: sharding strategy (consistent hashing), eviction policy (LRU, LFU), and replication for fault tolerance. Discuss: how do you handle cache stampedes?

Notification System

Core challenge: delivering notifications across multiple channels (push, email, SMS) reliably and at scale. Key decisions: message queue for decoupling, priority queue for urgent notifications, and template system for content. Discuss: how do you handle user preferences and rate limiting to prevent notification fatigue?

Search Autocomplete

Core challenge: sub-100ms response times for prefix queries across a massive dataset. Key decisions: trie data structure, ranking by popularity, and pre-computation of top results. Discuss: how do you update suggestions based on trending queries?

Video Streaming (e.g., YouTube, Netflix)

Core challenge: encoding, storing, and delivering video at multiple quality levels to millions of concurrent viewers. Key decisions: CDN architecture, adaptive bitrate streaming, and video processing pipeline. Discuss: how do you handle live streaming vs. on-demand?

Ride-Sharing Service (e.g., Uber, Lyft)

Core challenge: real-time matching of riders and drivers with location tracking. Key decisions: geospatial indexing (geohash or quadtree), matching algorithm, and ETA prediction. Discuss: how do you handle surge pricing? What about trip safety features?

E-Commerce Platform

Core challenge: product catalog, inventory management, and checkout flow at scale. Key decisions: microservices decomposition, inventory reservation (saga pattern), and payment processing. Discuss: how do you prevent overselling during flash sales?

File Storage (e.g., Dropbox, Google Drive)

Core challenge: syncing files across devices, versioning, and deduplication. Key decisions: chunking strategy, conflict resolution, and metadata service design. Discuss: how do you handle concurrent edits to the same file?

Social Graph (e.g., LinkedIn connections)

Core challenge: storing and querying relationships between billions of users efficiently. Key decisions: graph database vs. adjacency list in relational DB, and friend-of-friend query optimization. Discuss: how do you compute "People You May Know" recommendations?

API Rate Limiting Gateway

Core challenge: centralizing rate limiting, authentication, and routing for a microservices architecture. Key decisions: API gateway pattern, plugin architecture for cross-cutting concerns, and circuit breaker pattern. Discuss: how do you handle gateway failures without cascading to backend services?

Distributed Task Scheduler

Core challenge: reliably executing scheduled tasks across a cluster of machines. Key decisions: task persistence (database-backed queue), leader election for coordination, and failure recovery. Discuss: how do you handle tasks that take longer than expected?

Real-Time Analytics Dashboard

Core challenge: processing and displaying metrics from millions of events with sub-second latency. Key decisions: stream processing (Kafka + Flink), time-series database, and pre-aggregation strategy. Discuss: how do you balance real-time accuracy vs. query performance?

Content Delivery Network

Core challenge: caching and serving static content from geographically distributed edge servers. Key decisions: cache invalidation strategy, origin shield, and DNS-based routing. Discuss: how do you handle cache misses without overwhelming the origin server?

Payment System

Core challenge: processing transactions reliably with exactly-once semantics. Key decisions: idempotency keys, two-phase commit for distributed transactions, and reconciliation pipeline. Discuss: how do you handle partial failures in a multi-step payment flow?

Collaborative Document Editor (e.g., Google Docs)

Core challenge: multiple users editing the same document simultaneously without conflicts. Key decisions: operational transformation vs. CRDT, real-time sync protocol, and undo/redo across multiple cursors. Discuss: how do you handle offline edits that need to sync later?

Recommendation Engine

Core challenge: generating personalized recommendations from user behavior data. Key decisions: collaborative filtering vs. content-based vs. hybrid, feature store design, and A/B testing infrastructure. Discuss: how do you handle the cold-start problem for new users?

How to Practice System Design

Reading about system design is step one. Practicing under realistic conditions is where actual improvement happens. Time yourself: spend 5 minutes on requirements, 3 minutes on estimates, 20 minutes on design, and 7 minutes on trade-offs. Use a whiteboard or drawing tool and explain your design out loud.

AI mock interview tools like Tervue offer system design tracks where an AI interviewer asks follow-up questions about your design choices, forcing you to defend trade-offs and think through edge cases you might miss when practicing alone.

Common Mistakes in System Design Interviews

Starting to code or draw immediately. Always clarify requirements first. Designing the wrong system perfectly is still a failure.

Ignoring scale. Every design decision should be justified by the expected scale. A solution that works for 1,000 users may collapse at 10 million.

Not discussing trade-offs. There is no perfect design. Interviewers want to see that you understand the trade-offs you are making and can articulate why you chose one approach over another.

Going too deep too early. Start with the high-level architecture. Only dive into component details when the interviewer asks or when it is critical to the design.

Forgetting about failure modes. What happens when a server crashes? When the database is slow? When a third-party API times out? Resilience thinking separates senior candidates from mid-level ones.

Professional ready for interview after practicing with Tervue AI mock interviews

Ready to ace your next interview?

AI mock interviews with adaptive follow-ups and detailed scoring.

Get Started Free

No credit card required