System Design Interviews Toolkit
In this blog, I’ve listed down all the probable system design questions that can be asked by system design interviewers during the onsite rounds for product-based companies like Microsoft, Amazon, Flipkart, Swiggy, Google, etc. This blog consists of:
- List of design questions
- Tips to answer design questions
- High-Level Design Expectations
- Low-Level Design Expectations
List of design questions:
Design a system like
- LRU Cache
- URL Shortener (tiny URL)
- Parking lot
- Leaderboard
- Generation of unique URL
- Food Delivery App
- Cab OR bicycle booking
- Centralized Logger System
- BookMyShow
- Cricinfo
- Order Management System
- Distributed job scheduler
- Read Receipts mechanism in Whatsapp
- Bus scheduling system
- Ticket booking system
- System to handle flash sales
- Netflix
- Access Management System
- Multiplayer game
- Railways Cloak Room
- Management software for gaming parlor
- Payment mechanism
- Price automation system
- Voice assistant used in mobile
- Event booking system
- MP3 player
- File conversion tool
- Torrent Client — For downloading files from the Internet
- Notifications Service — when the price drops in real-time
- Notifications Service — which sends email and SMS to buyer and seller
for an e-commerce marketplace - Optimize the red and green lights in a traffic signal
If you think I’ve missed any problem, please suggest in the comments.
Tips to answer design questions:
- Ask clarifying questions to resolve the ambiguity
- Break-down the problems
- Dive deep on implementation
- Scaling of the design
HLD Expectations:
- Requirement gathering and Defining System Constraints
- Identify System Components
- Associating and Coupling Components
- Design Considerations — Fault tolerance, Scalability, Concurrency Control, etc.
- Component Diagram — Explain the Responsibility of each component
LLD Expectations:
- The candidate should be comfortable in class diagram and DB table schema implementation
- Should know - How should the system handle failures, what can be done to prevent them
- Identify Entities, Defining Entities and association
- Coupling, Extendibility, and System Maintainability
- Touch Base on Design Principles and Design Patterns and OOPS concepts
I hope this blog helped you understand the pattern for Design Interviews.
Best of Luck!!
Thanks for reading this article! Add a 👏🏻 [clap] if you liked this blog. Leave a comment below if you have any questions. Be sure to check my other Medium blogs and connect with me on LinkedIn & Twitter for more interesting discussions.
Happy Coding ❤