System design interviews are where senior candidates win or lose offers. Yet most companies wing it—asking random questions without rubrics, hoping to "know good when they see it."
After helping 150+ companies redesign their technical interviews, I've compiled the questions that actually work—organized by difficulty, with specific evaluation criteria for each.
How to Use This Question Bank
For interviewers: Pick questions appropriate to the candidate's level. Use the rubrics to score consistently.
For candidates: Practice across categories. Focus on the framework, not memorizing specific architectures.
For hiring managers: Build a rotation of 8-10 questions your team is calibrated on.
The Evaluation Framework
Before the questions, here's how to score them:
| Dimension | Weight | What to Evaluate |
|---|---|---|
| Requirements Gathering | 15% | Did they clarify scope before designing? |
| High-Level Architecture | 25% | Is the overall design sound and appropriate? |
| Component Deep-Dive | 25% | Can they go deep on specific components? |
| Trade-off Analysis | 20% | Do they articulate pros/cons of decisions? |
| Communication | 15% | Is their explanation clear and structured? |
Scoring scale:
- 4 (Strong): Exceeds expectations, demonstrates senior-level thinking
- 3 (Good): Meets expectations, solid approach
- 2 (Mixed): Some gaps, needs prompting
- 1 (Weak): Significant gaps, concerning
Entry-Level Questions (L3-L4)
1. URL Shortener
Time: 35-40 minutes | Difficulty: ⭐⭐
"Design a URL shortening service like bit.ly."
Requirements to clarify:
- Scale (1M vs 1B URLs?)
- Analytics requirements
- Custom URLs?
- Expiration?
Strong answer includes:
- Hash function for generating short codes
- Handling collisions
- Read-heavy optimization (caching)
- Database choice rationale
Red flags:
- Jumps to database schema without discussing scale
- Can't explain collision handling
- Ignores caching for a read-heavy workload
2. Rate Limiter
Time: 35-40 minutes | Difficulty: ⭐⭐
"Design a rate limiting system for an API."
Requirements to clarify:
- Limits per user? Per IP? Per API key?
- Distributed or single-node?
- Hard vs soft limits?
Strong answer includes:
- Algorithm comparison (token bucket vs sliding window)
- Distributed coordination approach
- Handling burst traffic
- Failure modes
Red flags:
- Only knows one algorithm
- Doesn't consider distributed scenarios
- Can't explain race conditions
3. Key-Value Store
Time: 40-45 minutes | Difficulty: ⭐⭐⭐
"Design a distributed key-value store like Redis."
Requirements to clarify:
- Consistency requirements
- Persistence needs
- Data size and access patterns
Strong answer includes:
- Partitioning strategy
- Replication approach
- Consistency model (eventual vs strong)
- Memory vs disk trade-offs
Mid-Level Questions (L4-L5)
4. Twitter News Feed
Time: 45-50 minutes | Difficulty: ⭐⭐⭐
"Design the home timeline for a Twitter-like service."
Requirements to clarify:
- Celebrity accounts (millions of followers)?
- Real-time vs near-real-time?
- Personalization/ranking?
Strong answer includes:
- Fan-out on write vs fan-out on read trade-off
- Caching strategy
- Hybrid approach for celebrities
- Ranking system placement
Red flags:
- One-size-fits-all solution
- Ignores the celebrity problem
- Can't discuss cache invalidation
5. Notification System
Time: 45-50 minutes | Difficulty: ⭐⭐⭐
"Design a system that sends millions of notifications daily across multiple channels."
Requirements to clarify:
- Channels (push, email, SMS, in-app)?
- Delivery guarantees?
- User preferences?
Strong answer includes:
- Message queue architecture
- Priority handling
- Retry and dead-letter strategies
- Template management
- Rate limiting per channel
6. Web Crawler
Time: 45-50 minutes | Difficulty: ⭐⭐⭐
"Design a web crawler that indexes billions of pages."
Requirements to clarify:
- Crawl frequency?
- Politeness constraints?
- Content types?
Strong answer includes:
- URL frontier management
- Distributed crawling coordination
- Duplicate detection
- Robots.txt compliance
- DNS caching
7. Autocomplete/Typeahead
Time: 40-45 minutes | Difficulty: ⭐⭐⭐
"Design an autocomplete system for a search box."
Requirements to clarify:
- Personalized vs global suggestions?
- Latency requirements?
- How many suggestions?
Strong answer includes:
- Trie data structure
- Ranking by frequency/recency
- Caching popular prefixes
- Handling typos
Senior-Level Questions (L5-L6)
8. Distributed Message Queue
Time: 50-55 minutes | Difficulty: ⭐⭐⭐⭐
"Design a distributed message queue like Kafka."
Requirements to clarify:
- Ordering guarantees?
- Delivery semantics (at-least-once, exactly-once)?
- Retention period?
Strong answer includes:
- Partition strategy
- Consumer group coordination
- Offset management
- Replication and leader election
- Exactly-once semantics challenges
Red flags:
- Can't explain ordering guarantees
- Doesn't understand partition trade-offs
- Ignores replication
9. Real-Time Collaborative Editor
Time: 50-55 minutes | Difficulty: ⭐⭐⭐⭐
"Design a Google Docs-like collaborative editing system."
Requirements to clarify:
- Concurrent users per document?
- Offline support?
- Version history depth?
Strong answer includes:
- OT (Operational Transform) vs CRDT comparison
- WebSocket infrastructure
- Cursor and presence synchronization
- Conflict resolution strategy
10. Ride-Sharing Backend
Time: 50-55 minutes | Difficulty: ⭐⭐⭐⭐
"Design the backend for a ride-sharing service like Uber."
Requirements to clarify:
- Geographic coverage?
- Matching algorithm priorities (speed, price, rating)?
- Surge pricing?
Strong answer includes:
- Location tracking and geospatial indexing
- Matching algorithm and fairness
- ETA calculation
- Payment processing integration
- Driver/rider state machines
11. Distributed Cache
Time: 50-55 minutes | Difficulty: ⭐⭐⭐⭐
"Design a distributed caching system like Memcached."
Strong answer includes:
- Consistent hashing
- Eviction policies (LRU, LFU)
- Cache-aside vs write-through patterns
- Hot key handling
- Cluster membership
12. Search Engine
Time: 55-60 minutes | Difficulty: ⭐⭐⭐⭐⭐
"Design a web search engine."
Strong answer includes:
- Inverted index construction
- Ranking algorithm (PageRank, relevance signals)
- Query parsing and expansion
- Spelling correction
- Personalization
Staff+ Level Questions (L6+)
13. Global Database
Time: 55-60 minutes | Difficulty: ⭐⭐⭐⭐⭐
"Design a globally distributed database like CockroachDB or Spanner."
Strong answer includes:
- Distributed consensus (Paxos/Raft)
- Clock synchronization (TrueTime, hybrid clocks)
- Transaction isolation levels
- Cross-region replication
- Conflict resolution
14. Payment System
Time: 55-60 minutes | Difficulty: ⭐⭐⭐⭐⭐
"Design a payment processing system handling billions in transactions."
Strong answer includes:
- Idempotency and exactly-once processing
- Ledger and double-entry bookkeeping
- Fraud detection integration
- PCI compliance considerations
- Reconciliation processes
15. Ad Serving Platform
Time: 55-60 minutes | Difficulty: ⭐⭐⭐⭐⭐
"Design an ad serving system for a major platform."
Strong answer includes:
- Real-time bidding architecture
- Ad ranking and auction mechanics
- Click prediction ML integration
- Pacing and budget management
- Attribution tracking
Category Quick Reference
| Category | Questions | Best For |
|---|---|---|
| Storage | #3, #11, #13 | Backend, infrastructure roles |
| Real-time | #4, #9, #10 | Full-stack, product engineers |
| Data Processing | #6, #8, #12 | Data engineers, ML engineers |
| Scale | #1, #2, #5, #7 | Any senior role |
Interview Flow Template
Minutes 0-5: Introductions, question setup Minutes 5-15: Requirements clarification, scope definition Minutes 15-35: High-level design, component overview Minutes 35-50: Deep dive on 1-2 components Minutes 50-55: Trade-offs, alternatives discussion Minutes 55-60: Candidate questions
Common Mistakes to Avoid
- As interviewer: Asking questions without calibration—you'll get inconsistent signals
- Providing a "correct" architecture: There's no single right answer; evaluate reasoning
- Going too deep too fast: Let candidates show breadth before drilling down
- Ignoring communication: How they explain matters as much as what they design
Want help calibrating your interview team on these questions? Contact SmithSpektrum for interview training workshops.