> ## Documentation Index
> Fetch the complete documentation index at: https://resources.devweekends.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Interview Questions Bank

> Common system design interview questions with difficulty levels

## Overview

This is a curated list of system design interview questions organized by difficulty and topic. Use this to practice and assess your readiness.

> [!TIP]
>
> **Interview Strategy**: Start with medium difficulty questions. If you can design 3-4 different systems confidently, you're ready for most interviews.

## Question Bank by Difficulty

### 🟢 Easy (Entry Level / New Grad)

These questions test basic concepts and don't require complex distributed systems knowledge.

| # | Question | Key Concepts | Time |
| - | - | - | - |
| 1 | **Design a URL Shortener** | Hashing, DB design, read-heavy | 30 min |
| 2 | **Design a Pastebin** | Storage, expiration, similar to URL shortener | 30 min |
| 3 | **Design a Rate Limiter** | Algorithms (token bucket), Redis | 30 min |
| 4 | **Design a Key-Value Store** | Hash table, persistence | 30 min |
| 5 | **Design a Unique ID Generator** | UUID, Snowflake ID | 25 min |

### 🟡 Medium (Mid-Level / 2-5 YOE)

These questions require understanding of distributed systems, caching, and scalability.

| # | Question | Key Concepts | Time |
| - | - | - | - |
| 6 | **Design Twitter/X** | Fanout, timeline, caching | 45 min |
| 7 | **Design Instagram** | CDN, feed ranking, storage | 45 min |
| 8 | **Design WhatsApp** | Real-time messaging, WebSockets | 45 min |
| 9 | **Design Facebook Messenger** | Group chat, read receipts, presence | 45 min |
| 10 | **Design a News Feed** | Ranking, push vs pull, caching | 45 min |
| 11 | **Design a Notification System** | Push notifications, templates | 40 min |
| 12 | **Design a Web Crawler** | Queue, politeness, deduplication | 40 min |
| 13 | **Design Typeahead/Autocomplete** | Trie, ranking, caching | 35 min |
| 14 | **Design a Search System** | Inverted index, ranking | 45 min |
| 15 | **Design a File Storage (Dropbox)** | Chunking, sync, deduplication | 45 min |

### 🔴 Hard (Senior / Staff Level)

These questions require deep expertise and consideration of complex trade-offs.

| # | Question | Key Concepts | Time |
| - | - | - | - |
| 16 | **Design YouTube/Netflix** | Video processing, CDN, adaptive streaming | 50 min |
| 17 | **Design Uber/Lyft** | Real-time matching, geo-indexing | 50 min |
| 18 | **Design Google Maps** | Graph algorithms, routing, tiles | 50 min |
| 19 | **Design Distributed Cache** | Consistent hashing, eviction | 45 min |
| 20 | **Design Distributed Message Queue** | Kafka-like, partitioning, ordering | 50 min |
| 21 | **Design a Payment System** | ACID, idempotency, reconciliation | 50 min |
| 22 | **Design a Booking System** | Double-booking prevention, high contention | 45 min |
| 23 | **Design Google Docs** | Real-time collaboration, CRDT/OT | 50 min |
| 24 | **Design a Metrics/Monitoring System** | Time-series, aggregation, alerting | 45 min |
| 25 | **Design a Distributed Task Scheduler** | Cron at scale, reliability | 45 min |

## Questions by Topic

### Data-Intensive Applications

> **Storage Systems**
>
> * Key-Value Store
> * Distributed Cache
> * File Storage (Dropbox)
> * Object Storage (S3)

> **Search & Discovery**
>
> * Search Engine
> * Typeahead/Autocomplete
> * Recommendation System
> * Content Discovery

### Real-Time Systems

> **Messaging**
>
> * WhatsApp
> * Slack/Discord
> * Facebook Messenger
> * Notification System

> **Streaming**
>
> * Live Video Streaming
> * Netflix/YouTube
> * Spotify
> * Gaming (Twitch)

### Social & Content Platforms

> **Social Networks**
>
> * Twitter/X Timeline
> * Instagram
> * Facebook News Feed
> * LinkedIn

> **Content Platforms**
>
> * Reddit
> * Medium/Blog Platform
> * Quora
> * Review System (Yelp)

### Location & Mapping

> **Ride-Sharing**
>
> * Uber/Lyft
> * Food Delivery (DoorDash)
> * Nearby Friends
> * Location Tracking

> **Mapping**
>
> * Google Maps
> * Yelp (Local Search)
> * Geofencing
> * Store Locator

### E-Commerce & Transactions

> **Shopping**
>
> * Amazon (E-commerce)
> * Flash Sale System
> * Inventory Management
> * Product Catalog

> **Payments**
>
> * Payment System
> * Digital Wallet
> * Fraud Detection
> * Subscription Billing

## Sample Interview Questions with Hints

### Question 1: Design a URL Shortener

> **Requirements to clarify**
>
> * How many URLs per day? (100M writes, 10B reads)
> * How long should URLs be valid? (configurable, default forever)
> * Custom short URLs allowed?
> * Analytics needed?

> **Key design points**
>
> 1. **Encoding**: Base62 encoding (a-z, A-Z, 0-9)
> 2. **ID Generation**: Counter + Base62 or random hash
> 3. **Storage**: Simple key-value (Redis) + persistent DB
> 4. **Caching**: Cache popular URLs in Redis
> 5. **Database**: NoSQL (DynamoDB) works well

### Question 2: Design Twitter Timeline

> **Requirements to clarify**
>
> * Active users? (300M DAU)
> * Tweet rate? (500M tweets/day)
> * Follow limits? (5000 following)
> * Celebrity accounts? (millions of followers)

> **Key design points**
>
> 1. **Fan-out on write**: Pre-compute timelines for most users
> 2. **Fan-out on read**: For celebrities (too many followers)
> 3. **Hybrid approach**: Write to cache for most, read-time merge for celebrities
> 4. **Caching**: Redis sorted sets for timelines
> 5. **Ranking**: Chronological + engagement signals

### Question 3: Design WhatsApp

> **Requirements to clarify**
>
> * Users? (2B users, 100M DAU)
> * Message rate? (100B messages/day)
> * Group size? (1024 members max)
> * Message types? (text, image, video)

> **Key design points**
>
> 1. **Connection**: WebSocket for real-time
> 2. **Message flow**: Sender → Server → Recipient (or queue if offline)
> 3. **Group messages**: Fan-out on server
> 4. **Delivery status**: Sent → Delivered → Read
> 5. **Offline handling**: Queue messages, deliver on reconnect

### Question 4: Design Netflix

> **Requirements to clarify**
>
> * Users? (200M subscribers)
> * Content size? (10K titles, petabytes of video)
> * Concurrent streams? (10M peak)
> * Quality levels? (480p to 4K)

> **Key design points**
>
> 1. **Video processing**: Transcode to multiple qualities
> 2. **Streaming**: HLS/DASH adaptive bitrate
> 3. **CDN**: Multi-tier CDN, edge caching
> 4. **Recommendations**: ML-based personalization
> 5. **Search**: Elasticsearch for content discovery

### Question 5: Design Uber

> **Requirements to clarify**
>
> * Users? (100M riders, 5M drivers)
> * Rides/day? (20M)
> * Location update frequency? (every 4 seconds)
> * Matching criteria?

> **Key design points**
>
> 1. **Location tracking**: Redis GEO or QuadTree
> 2. **Matching**: Scoring algorithm (distance, rating, ETA)
> 3. **Real-time**: WebSocket for location updates
> 4. **Pricing**: Dynamic pricing based on supply/demand
> 5. **Trip state**: State machine (requested → matched → in-progress → completed)

## Self-Assessment Checklist

Before your interview, make sure you can:

### Fundamentals

* [ ] Calculate QPS, storage, and bandwidth requirements
* [ ] Choose between SQL and NoSQL with justification
* [ ] Explain CAP theorem and when to prioritize what
* [ ] Design a basic caching strategy
* [ ] Draw a load-balanced architecture

### Intermediate

* [ ] Design for horizontal scalability
* [ ] Implement consistent hashing
* [ ] Choose between push vs pull models
* [ ] Design for fault tolerance
* [ ] Handle data partitioning/sharding

### Advanced

* [ ] Design for global scale (multi-region)
* [ ] Handle distributed transactions
* [ ] Implement exactly-once delivery
* [ ] Design real-time systems
* [ ] Handle hot partitions

## Practice Schedule

### Week 1-2: Foundation

| Day | Focus | Practice |
| - | - | - |
| 1-2 | Fundamentals | Read theory, watch videos |
| 3-4 | URL Shortener | Design and diagram |
| 5-6 | Rate Limiter | Design and diagram |
| 7 | Review | Redo both from scratch |

### Week 3-4: Core Systems

| Day | Focus | Practice |
| - | - | - |
| 1-2 | Twitter Timeline | Design and diagram |
| 3-4 | WhatsApp | Design and diagram |
| 5-6 | Notification System | Design and diagram |
| 7 | Review | Mock interview |

### Week 5-6: Advanced Systems

| Day | Focus | Practice |
| - | - | - |
| 1-2 | YouTube/Netflix | Design and diagram |
| 3-4 | Uber | Design and diagram |
| 5-6 | Distributed Cache | Design and diagram |
| 7 | Review | Mock interview |

### Week 7+: Mock Interviews

* Do 2-3 mock interviews per week
* Time yourself (45 minutes)
* Practice with a friend or use Pramp/Interviewing.io
* Record yourself and review

## Resources for Each Question

### Free Resources

* [System Design Primer (GitHub)](https://github.com/donnemartin/system-design-primer)
* [High Scalability Blog](http://highscalability.com/)
* [Company Engineering Blogs](#)
* YouTube: Gaurav Sen, Tech Dummies, System Design Interview

### Paid Resources

* "Designing Data-Intensive Applications" (Book)
* "System Design Interview" by Alex Xu (Book)
* Educative.io System Design Course
* ByteByteGo Newsletter

> [!TIP]
>
> **Quality over Quantity**: It's better to deeply understand 5 systems than to superficially know 20. Focus on the key design patterns that repeat across systems.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.