System Design Interview Questions - Easy
Easy-level system design interview questions covering fundamental system design concepts and simple applications.
Q1: Design a URL shortener (like bit.ly).
Answer:
Requirements
- Shorten long URLs to short codes
- Redirect short URLs to original
- Track click statistics
- High availability
High-Level Design
Database Schema
URL Shortening Algorithm
Options:
- Hash-based: MD5/SHA → Take first 7 chars
- Counter-based: Auto-increment ID → Base62 encode
- Random: Generate random string, check collision
Base62 Encoding:
1Characters: [a-z, A-Z, 0-9] = 62 chars
27 characters = 62^7 = 3.5 trillion URLs
Flow Diagrams
Shorten URL:
Redirect:
Scalability Considerations
Q2: Design a basic chat application.
Answer:
Requirements
- One-on-one messaging
- Real-time delivery
- Message history
- Online/offline status
Architecture
Database Schema
Message Flow
Presence System
Q3: Design a simple e-commerce product catalog.
Answer:
Requirements
- Browse products
- Search products
- View product details
- Filter by category/price
System Architecture
Database Schema
Search Flow
Caching Strategy
Q4: Design a basic notification system.
Answer:
Requirements
- Send notifications (email, SMS, push)
- Reliable delivery
- Track delivery status
- Handle high volume
Architecture
Database Schema
Notification Flow
Retry Strategy
Q5: Design a basic file storage service.
Answer:
Requirements
- Upload files
- Download files
- List user files
- Delete files
- Support large files
Architecture
Database Schema
Upload Flow
Download Flow
Storage Organization
Path Structure: /year/month/day/user_id/file_id.ext
Benefits:
- Even distribution
- Easy to manage
- Supports sharding
- Facilitates cleanup
Summary
Key system design patterns:
- URL Shortener: Hashing, caching, analytics
- Chat Application: WebSockets, presence, real-time
- Product Catalog: Search, caching, read replicas
- Notification System: Queues, workers, retry logic
- File Storage: Object storage, CDN, presigned URLs
All designs emphasize scalability, reliability, and performance.
Related Snippets
- Architecture Interview Questions - Easy
Easy-level software architecture interview questions covering fundamental … - Architecture Interview Questions - Hard
Hard-level software architecture interview questions covering advanced … - Architecture Interview Questions - Medium
Medium-level software architecture interview questions covering distributed … - Scalability Interview Questions - Easy
Easy-level scalability interview questions covering fundamental scaling … - Scalability Interview Questions - Hard
Hard-level scalability interview questions covering extreme scale, global … - Scalability Interview Questions - Medium
Medium-level scalability interview questions covering advanced scaling … - System Design Interview Questions - Hard
Hard-level system design interview questions covering globally distributed, … - System Design Interview Questions - Medium
Medium-level system design interview questions covering complex distributed …