Introduction
This blog is a quick reference guide for freshers preparing for system design interviews. Each topic below is summarized in 3-4 lines and presented in a table format for easy review. It also includes common interview questions, challenges, and suggestions to help you build intuition.
# | System Design Topic | Design Summary | Challenges / Blockers | Suggested Solution | Famous Interview Question & Answer | Intuition & Design Ideas |
---|---|---|---|---|---|---|
1 | URL Shortening Service | Use a key-value store to map short codes to long URLs. Generate short codes using Base62. Cache frequently accessed URLs. | Collision in short code generation | Use hashing + collision checks or UUID/base62 encoding. | Q: How do you avoid collisions in short URL generation? A: Use base62 encoding of incremental IDs or UUID + retry on collision. | Think of it like a dictionary: you store a short code and retrieve the original. Add expiration support and track analytics. |
2 | Basic Chat Application | Use WebSockets for real-time messaging. Store messages in a NoSQL DB. Ensure message ordering and delivery. | Ensuring delivery and message order | Use message queues and timestamps, ACKs from client. | Q: How would you ensure message order in group chats? A: Use timestamps with logical clocks or message queues per chat room. | Use WebSocket for real-time, and fallback to polling for older clients. Consider how to handle offline messages. |
3 | File Storage System | Use object storage like S3 for files. Store metadata in a DB. Provide upload/download APIs. | Large file handling, partial uploads | Use chunked upload/download and resumable uploads. | Q: How would you implement versioning for files? A: Store file version history with timestamps in metadata DB. | Think Dropbox: sync files across devices with deduplication and conflict resolution. |
4 | Social Media Platform | Use relational DB for users/posts. Cache timelines. Implement followers and feed service. | High write/read traffic on feeds | Use fan-out on write/read strategy and timeline caching. | Q: How do you design the user timeline? A: Use fan-out on write for small followers, fan-out on read for celebrities. | Prioritize read-heavy optimization. Add notification and media support. |
5 | Simple Search Engine | Crawl pages and index using inverted index. Use ranking algorithm for results. | Keeping index up to date | Use distributed crawlers and scheduled re-indexing. | Q: How would you rank search results? A: Use TF-IDF, PageRank, or user behavior signals like clicks. | Think Google-lite: crawl, index, rank. Add caching and autosuggestions. |
6 | E-commerce Website | Use microservices: product, cart, order, payment. SQL DB for product and inventory. | Inventory sync and order consistency | Use distributed transactions or eventual consistency with event queues. | Q: How would you handle high traffic flash sales? A: Use inventory preloading to Redis and lock stock before checkout. | Start with catalog, then cart/order/payments. Consider promotions, reviews, delivery tracking. |
7 | Ride-Sharing System | Match riders and drivers using location. Real-time tracking. | Accurate location matching, dynamic pricing | Use geo-hashing, real-time map APIs, and ML for pricing. | Q: How do you match drivers and riders efficiently? A: Use a spatial index like QuadTrees or GeoHash. | Focus on live map, ETA, and surge pricing. Add cancellation/reassignment logic. |
8 | Video Streaming Service | Use CDN for delivery. Store videos in chunks. Use adaptive bitrate for smooth playback. | Latency and buffering | Use HLS/DASH protocol and edge caching. | Q: How to stream to users with different network speeds? A: Use adaptive bitrate streaming with multiple resolutions. | Break videos into chunks. Use a manifest file (HLS). Add user history, playlist, and DRM. |
9 | Recommendation System | Use collaborative or content-based filtering. Precompute recommendations. | Cold start for new users or items | Use hybrid approach with default/popular items. | Q: How would you recommend items to a new user? A: Show trending items or use demographic similarity. | Think YouTube/Netflix. Store events (views, clicks), then use ML models offline for suggestions. |
10 | Food Delivery App | Use microservices: restaurant, user, order, delivery. Real-time tracking. | Live order tracking, delivery partner availability | Use Google Maps APIs + ETA algorithms and dynamic delivery assignment. | Q: How do you ensure food is delivered fresh and on time? A: Assign nearest delivery agent, optimize route, notify delays. | Focus on real-time updates and restaurant status. Add rating system for feedback. |
11 | Parking Lot System | Track available slots in DB. Assign spots. Entry/exit logs and payments. | Real-time availability accuracy | Use sensors or manual sync + DB updates. | Q: How would you design for multiple floors or zones? A: Partition lot into zones and track slots per zone in DB. | Add reservation system, payments, QR/barcode entry. Consider IoT for sensors. |
12 | Music Streaming Service | Store music on cloud. Use playlists, search, recommendations. | Latency and copyright handling | Use CDN + streaming DRM integration. | Q: How would you support offline playback? A: Encrypt songs on device with limited-time license key. | Similar to video streaming but lighter files. Add social sharing, lyrics, etc. |
13 | Ticket Booking System | Locking to avoid double bookings. Store event/show data in DB. | High concurrency for popular events | Use row-level locking or optimistic locking strategies. | Q: How to prevent double booking of the same seat? A: Use atomic seat lock with expiry during checkout. | Add seat map UI, payment integration, reminders. Handle refunds/cancellations. |
14 | Note-Taking Application | CRUD operations. Sync across devices. Store in cloud DB. | Conflict resolution in sync | Use timestamps + conflict resolution policies. | Q: How to sync notes across multiple devices? A: Use timestamps and push updates via WebSocket or polling. | Think Notion/Keep. Add tags, reminders, and collaborative editing. |
15 | Weather Forecasting System | Collect weather data from APIs/sensors. Store time-series data. | High frequency updates, regional accuracy | Use time-series DBs and ML-based predictions. | Q: How do you predict weather for a new location? A: Use nearby station data and interpolate using models. | Combine IoT sensors, external APIs, and ML models. Add alerting and maps. |
16 | Email Service | Use SMTP to send emails. Store in DB. Support inbox, outbox, spam. | Spam filtering and delivery issues | Use heuristics + feedback systems + email queue management. | Q: How would you ensure email delivery reliability? A: Use retries, bounce monitoring, and SPF/DKIM setup. | Design mailbox, filters, attachments. Add UI like Gmail. |
17 | File Sync System | Use file hash and timestamps. Sync diffs. Handle conflict resolution. | Merge conflicts | Use last-write-wins or manual merge strategy. | Q: How do you sync two files modified at the same time? A: Detect conflict and ask user to merge manually. | Think Dropbox/GDrive. Compress, diff-check, and background upload. |
18 | Calendar Application | Support events, reminders, recurrence. Notifications and sync. | Time zone handling, reminders | Normalize time and use push notification service. | Q: How to handle daylight saving and multiple time zones? A: Store in UTC and convert to local for display. | Focus on recurrence (RRULE), invites, rescheduling. Add integrations like email or Google Meet. |
19 | Online Quiz Platform | Create quizzes. Store answers, scores. Track user progress. | Prevent cheating, real-time scoring | Use proctoring APIs or time-restricted tests with session tracking. | Q: How to handle large-scale exam with many users? A: Use horizontal scaling and rate limit cheating behavior. | Think Google Forms + timer. Add leaderboard, difficulty levels. |
20 | Auth System | Use OAuth2 or JWT. Store hashed passwords. Support MFA. | Token expiration, brute force attacks | Use refresh tokens, rate limiting, and password encryption (bcrypt). | Q: How do you revoke JWT tokens? A: Use token blacklist or short expiry + refresh token. | Start with sign-up/login, session vs token, role-based access. Add social login and 2FA. |
Conclusion
This concise table helps you quickly review common system designs. Build a few for hands-on experience and better understanding.
Learn More: