A curated list of System Design interview questions for SDE-1 (Experienced),SDE-2 and above.
All the questions have been manually curated by me from sites like Geeksforgeeks, Careercup and other interview prep sites.
Targeted companies: Amazon, Google, Facebook and other biggies.
Hope it helps you to prepare for your upcoming interviews!
- Design commenting system
- Design subscription based sports website which can display scores, game status, history for any games.
- Design Netflix => search, video serving, authentication, encryption, dns lookup,caching strategy,serving multi quality video etc
- Design a Latency Management System
- Design a Library Management System
- Design a Notification service
- Design ESPN/Cricinfo/Cricbuzz
- Design Uber
- Design Whatsapp
- Design Quora
- Design Lookahead system
- Design Google Docs/ Collaborative Editing service
- Design URL Shortner service
- Design RedBus
- Design BookMyShow
- Design Domain Backdooring system
- Design Amazon Locker
- Design Movies Review Aggregator System > Data should be fetched from movie rating providers like imdb, rotten tomatoes, etc
- Design offline caching system for Ecommerce platform
- Design Amazon E-commerce
- Design Online chess game/Multiplayer game
- Design gaming platform. A number of games can be hosted on this platform. User can login and select a particular game
- Design a last-mile delivery platform in case of peak seasons
- Design Zomato/Swiggy/Foodpanda
- Design Meeting Calendar system
- Design Spotify
- Design Promo Code API by taking into account Amazon's customer traffic into picture
- Design Vending machine with following functionalities
==> Three types of Users : User, Operator, Admin
- User can select and buy multiple items at a time. Money can be inputted multiple times (you will get the item if there is a time gap > 30 secs). He can also do window shopping (see only the prices of items and buy nothing)
- Operator can load the items and mark the items as expired if needed, gets notified if a product goes out of stock.
- Admin can own multiple vending machines, he should have a analytics report of the items purchased in a month. He can also change the prices directly and it should reflect in all the vending machines which he owns.
- Exception handling in all the edge cases
- Design splitwise
- Design Google pay at scale
- Design a Job schedular => scalability, fault tolerance, high availability, how scheduler picks up job, how will you take care where one job can run for 30 min and one for 30 hour, how will you distribute jobs on servers. Based on frequency & time how will you execute them ? How will you notify back the user about start/stop or completion of a job ? How will your system know if a job is killed / terminated due to unknown reasons ?
- Design Meeting Scheduler
- Design Debugger
- Design Automatic Parking System
- Design a ranking system. We have an infinite supply of words ending with ‘.’ We need to implement a reader program that ranks words on the basis of certain criteria Example: This is my cat. This house belongs to my uncle An amazing country with so many tourist places And so on.. Ranking System criteria : rank the words on the basis of occurrence, for example Output : This:2, is:2, my:2… highest rank (sorted asc or desc based on provided flag) Design it completely and scalable Ranking System
- Design Amazon Cart system
- Design Google Search
- Design Twitter
- Design Facebook
- Design Snapchat
- Design Instagram
- Design App-store
- Design a music player application
- Design a distributed LRU Cache
- Design Gmail
- Design a recommendation system
- Design a food sharing application
- Design payment module for Uber app
- Design Truecaller type of system
- Design performance management system (appraisal workflow system) that can be used across companies.
- Design comment system like disqus
- Design flight system
- Design Tinder
- Design survey site like surveymonkey
- Design a geographically partitioned multi-player card game, that supports multiple players, multiple games at a time. Each game will have one contractor like ones we have in a bar, He can play a game or just watch it. Integrate payment systems
- Design a kind of kindle fire application where we can subscribe news channel and read the news from all publishers as a digital format
- Design a realtime Video chat like Google Duo
- Design News paper & Magazine subscription system
- Design a system like Hackerrank/Codechef/Topcoder
- Design a concurrent Hashmap
- Design an ATM Machine system which can support massive amount of transactions
- Design Airport Baggage system
- Design Flight Information Display system
- Design a conference room booking system for a company which can have offices in multiple cities, each city can have multiple buildings, each building can have multiple floors, each floor can have multiple rooms. Each room can have features like capacitiy, video conferencing available, etc.
- Design newsfeed feature of Facebook
- Design an efficient Mail delivery system
- Design like/dislike feature at Youtube scale.
- Design Paypal
- Design Air traffic control system
- Design a realtime service which tells your friends who is online
- Design Google Maps
- Design Grammarly