April 15, 2025

Fresher Level System Design Blog

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: