
Hello guys, if you’re preparing for system design interviews, one thing is clear: brushing up on basic concepts won’t cut it anymore.
While its important to know System Basics like Caching, Replication, Rate limiting, API Gateway, Load Balancer, NoSQL vs SQL etc, today’s interviews are far more practical, and interviewers expect you to design real-world systems that are scalable, fault-tolerant, and performant.
Whether you’re aiming for top tech companies like Google, Meta, Amazon — or up-and-coming AI startups — mastering system design is non-negotiable, even for senior developers.
I know many friends who were confident enough to crack any System Design interviews and ignored prepreation due to their busy life, only to find that it was a struggle during interview.
The good news? You don’t need to hunt around for scattered resources like articles, blogs, YouTube channels or Udemy courses.
One platform that stands out for system design prep is Codemia.io, Leetcode for System Design.
Codemia.io gives you:
- Real-world system design questions
- Clear explanations with free solutions for many problems
- A diagramming editor to practice like real interviews
- An ever-growing library curated by senior engineers
- Editorial solutions created by experts
- AI assisted learning and problem solving
- Expert evaluation
All this makes Codemia.io a go-to resource for System Design interview prep and I have been using it for my interview preparation now.
Earlier, I have talked about Is Codemia.io Good Place to Prepare for System Design? and in this post, I’ll share 20 must-solve system design problems, including free questions and solutions from Codemia.io that you should absolutely practice before your next interview.
They have both free and paid questions and I am going to share them both for you.

Top 5 Free System Design Interview Problems with Solutions
These are completely free to access, and they include detailed editorials, diagrams, and architecture breakdowns on Codemia.
1. Design a URL Shortening Service (Like TinyURL)
In this problem you will learn to implement hash-based URL shortening, handle collisions, and manage redirection at scale.
Here are both Functional and non-functional requirement
Functional:
1. Given a long URL, create an associated short URL.
2. Given a short URL, return the associated long URL.
Non-Functional:
- Availability — This service has to be highly available. Especially functionality (2) (redirection).
- Response time — Functionality (2) has to have low response time, e.g., less than 10ms. Functionality (1) (creating short URL) can takes more time — less than 10 seconds.
- Scalability — We will get more and more requests to create short URLs, so the storage has to be highly scalable.
By the way, you should keep the requirements scope small. You only have 35–50 min in an interview. If you have a lot of requirements, you’d risk running out of time.
We could add other requirements like custom link. But we will start with a small set of requirements. Easier to expand later than shrink.]
You an further see the 📘 Solution once you have tried it yourself.

2. Design Twitter
In this problem you will design a messaging app like X with Follow/unfollow logic, timeline generation, tweet distribution, and fanout strategies explained.
Here are detailed functional and non-functional requirements for you:
Functional:
- User can tweet (send) up to 140 character message.
- User can follow other users.
- User can like other users’ tweets.
- User’s home feed will show tweets from the users they are following.
The home feed will show top K popular tweets, based on the number of likes they receive, and the number of the followers the author has.
Non-Functional:
- Scalability. It will have to serve a very large population, e.g., 500M DAU.
- Response time. User has to see tweets quickly. When user opens home feed, the first 10 tweets should show up within 500ms.
- Availability.
See the 📘 Solution once you have tried your hand.

3. Design Ticketmaster
This is a great System design problem to learn Concurrency handling, seat locking, and avoiding double bookings.
Here are the detailed functional and non-functional requirements:
Functional:
User is able to:
- Search for a theater by city or ZIP code.
- After selecting a theater, search for movies shown the the theater.
- After selecting a movie, select which show (e.g. show starting at 1PM, 3PM, 5PM, …)
- After selecting a show, user is presented a list of available seats.
- User can select the seats and finalize the booking.
Non-Functional:
We focus on the following aspects, as they are the most important:
- Consistency — once a booking is made, it has to be respected. No double bookings.
- Concurrency — multiple users are interacting with the service to view seats and book seats. Make sure system handles concurrent accesses and provide consistent bookings.
- Scalability
- Fault Tolerance
You can also refer the 📘 Solution once you have tried your hand.
4. Design a Parking Lot System
This is another free System Design problem on Codemia.io where you would design using Object-Oriented Design and handle both functional and non-functional requirement like
Functional:
- User can reserve a parking spot.
- User pays for the reservation.
- User can park a car on the parking spot.
- User can leave before the reservation time expires.
- One common error case to handle is when a user makes a reservation, but fails to show up. In this case, we would charge for the first 24 hours..
Non-Functional:
- Scalability. We are designing this for an international company who has 1000s of parking lots across nations.
- Availability.
- Consistency. Once a reservation is made, the parking spot must be available for the user. No double-booking.
Once you have tried it yourself you can also see the 📘 Solution here

Top 10 Hard System Design Problems for Interviews (Paid)
While these are paid on Codemia, they are worth every penny if you’re serious about mastering advanced system design.
5. Design Facebook Messenger
This problem is about designing a real-time chat, message delivery, synchronization across devices, and storage optimization.
Functional Requirements:
- Send/receive real-time text messages between users
- Support group chats with multiple participants
- Deliver messages across multiple devices with synchronization
Non-Functional Requirements:
- Message delivery latency < 100ms for real-time experience
- 99.9% uptime to ensure reliable communication
- Support 1 billion+ concurrent users with horizontal scaling
6. Design a Resource Allocation Service
This System design problem is perfect for scheduling systems like Uber, Lyft, or shared resource booking tools.
Functional Requirements:
- Match available resources (drivers/vehicles) to user requests
- Real-time tracking and status updates of resource location
- Handle booking confirmations and cancellations
Non-Functional Requirements:
- Response time < 3 seconds for resource matching
- 99.95% availability during peak hours
- Scale to handle 100K+ concurrent booking requests
7. Design a Fitness Tracking App
As part of this question you need to propose solution which can track steps, integrate GPS, sync across devices.
Functional Requirements:
- Track daily steps, distance, and calories burned
- GPS integration for route mapping and location tracking
- Sync fitness data across mobile, web, and wearable devices
Non-Functional Requirements:
- Battery optimization — minimal impact on device battery life
- Data accuracy within 95% for step counting and GPS tracking
- Offline capability — function without internet connectivity
8. Design a Weather Reporting System
Ingest and distribute real-time sensor data, cache weather forecasts, and scale APIs.
Functional Requirements:
- Ingest real-time weather data from multiple sensor sources
- Provide weather forecasts and current conditions via API
- Cache and serve weather data for millions of locations
Non-Functional Requirements:
- Data freshness — weather updates within 5 minutes of sensor reading
- API response time < 200ms for weather queries
- 99.99% availability for critical weather services
9. Design Pastebin
This System design problem can teach you about expiration logic, storing snippets, short link redirection.
Functional Requirements:
- Store and retrieve text snippets with unique URLs
- Support automatic expiration of pastes after specified time
- Generate short, shareable links for easy access
Non-Functional Requirements:
- Handle 1M+ paste creations per day
- Data durability — 99.999% reliability for stored pastes
- Low storage cost through compression and efficient data structures
10. Design a Nested Comments System
When you are asked this problem on interview, focus on tree structures, pagination, and moderation workflows.
Functional Requirements:
- Support hierarchical comment threads with unlimited nesting
- Paginate comments for performance on large threads
- Implement comment moderation and spam filtering
Non-Functional Requirements:
- Load comment trees in < 300ms for good user experience
- Support 10K+ comments per thread without performance degradation
- Scalable architecture to handle viral content with millions of comments
11. Design Online Presence Indicator
Track real-time status updates, efficient updates via websockets, and availability caching.
Functional Requirements:
- Track and display real-time user online/offline status
- Update presence across all user sessions and devices
- Provide last-seen timestamps for offline users
Non-Functional Requirements:
- Status updates propagated within 1–2 seconds via WebSockets
- Minimize bandwidth usage for presence updates
- 99.9% accuracy in presence detection
12. Design a Vending Machine System
This problem was asked to me on J P Morgan interview and its about Inventory management, embedded system integration, payment gateway design.
Functional Requirements:
- Track inventory levels and product availability
- Process payments through multiple methods (cash, card, mobile)
- Dispense products and provide change/receipts
Non-Functional Requirements:
- 99.9% uptime for payment processing
- Real-time inventory synchronization across all machines
- Secure payment processing with PCI compliance
13. Design a Tagging Service
Design a solution which support Tag hierarchy, search performance, and recommendation systems.
Functional Requirements:
- Create hierarchical tag structures and relationships
- Support fast tag-based search and filtering
- Generate personalized tag recommendations
Non-Functional Requirements:
- Search response time < 100ms for tag queries
- Support billions of tags with efficient indexing
- Auto-complete suggestions within 50ms
14. Design Craigslist
Design a Craiglist like system which can categorized listings, search index, and ad posting flows.
Functional Requirements:
- Post classified ads in categorized sections
- Search and filter listings by location, category, price
- Support user communication through anonymous email relay
Non-Functional Requirements:
- Handle 50M+ listings with fast search performance
- 99.5% uptime for ad posting and browsing
- Search results returned within 500ms
15. Design Multi-Device Screenshot Capture System
You need to design a solution where you can manage screenshots from remote devices, sync, and store them securely.
Functional Requirements:
- Capture screenshots from remote devices on-demand
- Sync and store screenshots across cloud storage
- Provide secure access controls for screenshot viewing
Non-Functional Requirements:
- Screenshot capture latency < 5 seconds
- Secure transmission with end-to-end encryption
- Support 1000+ concurrent device connections
16. Design a Network Path Analyzer
Design a System to track, simulate, and monitor multi-hop network paths.
Functional Requirements:
- Trace and analyze multi-hop network paths between endpoints
- Simulate network conditions and monitor path performance
- Generate network topology visualizations
Non-Functional Requirements:
- Real-time path analysis with < 100ms latency
- Support monitoring 10K+ network paths simultaneously
- 99.9% accuracy in path detection and metrics
17. Design an Employee Swap System
You need to design a system like a job board within your org — matching roles with available employees.
Functional Requirements:
- Match employees with available positions based on skills
- Handle swap requests and approval workflows
- Maintain employee profiles and role requirements
Non-Functional Requirements:
- Matching algorithm response time < 2 seconds
- Support 100K+ employee profiles with efficient search
- 99.5% system availability during business hours
18. Design a Conference Room Booking System
Can you design a system with calendar integration, booking slots, room conflicts, and availability display.
Functional Requirements:
- Book meeting rooms with time slot management
- Integrate with calendar systems (Outlook, Google Calendar)
- Handle booking conflicts and room availability checks
Non-Functional Requirements:
- Booking confirmation within 1 second
- 99.9% accuracy in conflict detection
- Support 1000+ concurrent booking requests
19. Design a Video View Count System
You need to design a system to optimize counting at high scale, prevent fraudulent views, aggregate with accuracy.
Functional Requirements:
- Count and aggregate video views in real-time
- Detect and prevent fraudulent/bot views
- Provide view analytics and reporting dashboards
Non-Functional Requirements:
- Handle 1M+ views per second with accurate counting
- 99.99% data consistency for view counts
- Anti-fraud detection with < 1% false positive rate
20. Design an API Rate Limiter
Design a System to implement sliding window or token bucket algorithm at scale for rate-limiting APIs.
Functional Requirements:
- Implement rate limiting using sliding window or token bucket algorithms
- Support per-user, per-API, and global rate limits
- Provide rate limit status and remaining quota information
Non-Functional Requirements:
- Rate limiting decision in < 1ms
- 99.99% availability for rate limiting service
- Scale to handle 1M+ API requests per second
21. Design a Resource Management System (OOD)✨ Bonus
This one is anObject-Oriented Design problem to prepare for FAANG and tier-1 companies. Includes class diagram practice.
Functional Requirements:
- Allocate and deallocate system resources (CPU, memory, storage)
- Track resource usage and availability in real-time
- Implement resource scheduling and priority management
Non-Functional Requirements:
- Resource allocation latency < 10ms
- Support 10K+ concurrent resource requests
- 99.99% accuracy in resource tracking and allocation
Why Codemia.io Is My Go-To System Design Interview Prep Platform?
I have read books, tried many courses and while all of them provide value the most value I have got from practicing the problem my myself and using AI for assistant.
Also most platforms just give you a PDF solution or a video. But Codemia.io gives you:
- Real-world, open-ended problems
- Rich editorials with diagrams and best practices
- A built-in diagramming tool to practice visually
- Discussion board, solution submissions, and design patterns
- AI Assistance on both problem solving and evolution.
Whether you’re a beginner or preparing for Staff Engineer interviews, Codemia.io has questions from simple CRUD systems to large-scale distributed architectures.
They also have this nice System Design roadmap where you can click the topic and practice the related System Design problems

For example, when you click Artificial Intelligence you can see these problems to practice
💡 Pro Tip: Start with the free problems + editorials. Once you’re comfortable, invest in the premium ones to tackle the more complex scenarios.
Conclusion
That’s all about Top 20 System Design Problem you can practice on Codemia.io, online to hone your software design skills. These questions also touch based different topics like handling load, handling concurrency etc.
System Design isn’t just an interview topic anymore — it’s a must-have skill for modern software engineers. Nowadays, your ability to design scalable systems can determine whether you land that Staff Engineer, SDE III, or Senior Software Engineer role.
With Codemia.io, you get a structured way to learn, free questions to practice, and a real-world environment to simulate interviews.
So, bookmark this list, tackle one problem a week, and you’ll be amazed at how fast your system design confidence grows.
Ready to get started? Check out Codemia.io System Design Library and pick your first problem today!

Other System Design Articles and Resources you may like
- Is Codemia.io Good Place to Prepare for System Design?
- 16 best Resources to Prepare for System Design Interview
- 10 Reasons to Join Codemia.io for System Design Interview Prep
- Is Exponent’s System Design Course worth it?
- 16 Best System Design Interview Resources for Developers
- Is System Design Interview RoadMap by DesignGuru worth it?
- ByteByteGo vs Codemia.io? Which one is better?
- 10 Reasons to Learn System Design
- 6 Best System Design and API Design Interactive Courses
- Top 5 System Design YouTube Channels for Engineers
- 10 Best Places to Learn System Design
- Is DesignGuru’s System Design Course worth it
- 10 Software Design Courses for Developers
- My Favorite Software Design Courses for experienced developers
- DesignGurus.io vs Codemia.io? Which is better for System Design Interview Prep?
- 3 Places to Practice System Design Mock interviews
- Codemia.io SALE — 40% OFF to boost your System Design skils
- Is Designing Data intensive application book worth reading?
Thanks for reading this article so far. If you like this article then please share with your friends and colleagues. If you have any questions feel free to ask in comments.
P. S. — They are also offering 20% discount now and you can get access for just $59 for one year, original price is $120 so you have a chance to save$60 and also learn System design better.

No comments :
Post a Comment