Let’s face it, system design is painful.
\ With Leetcode questions, you know the drill — find the algorithm, explain it, code it.
\ With system design, you never know what’ll be asked. Which makes it hard to practice.
\ I was in the same boat. So I did a bunch of research and found questions that are being asked but not available easily. Other popular websites give you 12 or so questions to practice, but those are saturated now - everyone knows them.
\ *** drumroll ***
Here are the 45 questions I found and used, along with solutions and company names where they were asked.I am constantly updating and improving this list. Please visit SystemDesign.io for the latest version.
\
Question 1: Design a Distributed Metrics Logging and Aggregation SystemCompany(s) asked: Google, Facebook, Amazon, eBay, Datadog, Atlassian
\
Solution(s):
\ Detailed Solution from Google Engineer: https://www.youtube.com/watch?v=p_q-n09B8KA
\ Good overview from Google Engineer: https://www.youtube.com/watch?v=_KoiMoZZ3C8
\ Related — Ad Click Aggregation: https://www.hellointerview.com/learn/system-design/problem-breakdowns/ad-click-aggregator
\ Leetcode Discussion: https://leetcode.com/discuss/interview-question/system-design/622704/Design-a-system-to-store-and-retrieve-logs-for-all-of-eBay
\
Question 2: Design a Distributed Stream Processing System like KafkaCompany(s) asked: Amazon, Microsoft, Wise, Confluent
\
Solution(s):
Read the original Kafka paper, but don’t feel pressured to complete it: https://notes.stephenholiday.com/Kafka.pdf
\ Great overview: https://medium.com/better-programming/system-design-series-apache-kafka-from-10-000-feet-9c95af56f18d
\ Solution from Meta Engineer: https://www.youtube.com/watch?v=DU8o-OTeoCc
\ Good visualization: https://www.youtube.com/watch?v=HZklgPkboro
\
Question 3: Design a Key-Value StoreCompany(s) asked: Apple, Google, Canva, Avalara, Rubrik, OpenDoor
\
Solution(s):
Good high level solution: https://www.educative.io/courses/grokking-the-system-design-interview/design-of-a-key-value-store
\ Mock Interview with Microsoft Engineer: https://www.youtube.com/watch?v=6fOoXT1HYxk
\ Detailed Video Series on this: https://www.youtube.com/playlist?list=PL1MM4yIzUdPm2L_Lz8gRa_q6ZElgNoArH
\
Question 4: Identify the K Most Shared Articles in Various Time Windows (24 hours, 1 hour, 5 minutes)Company(s) asked: LinkedIn, Facebook, Twitter
\
Solution(s):
Leetcode discussion: https://leetcode.com/discuss/interview-question/system-design/258398/design-top-shared-post-system-in-5mins1-hour1-day1-week
\ Official Google Mock Interview: https://www.youtube.com/watch?v=S1DvEdR0iUo
\ Great high level overview: https://mecha-mind.medium.com/system-design-top-k-trending-hashtags-4e12de5bb846
\ Solution from Meta Engineer: https://www.youtube.com/watch?v=1lfktgZ9Eeo
\ Text solution: https://www.hellointerview.com/learn/system-design/problem-breakdowns/top-k
\
Question 5: Design an API Rate LimiterCompany(s) asked: Amazon, Atlassian, Uber, Patreon, Microsoft, Stripe, Headway, Reputation.com, Pinterest
\
Solution(s):
Great article + mock interview video: https://www.tryexponent.com/blog/rate-limiter-system-design
\ Great solution by Google engineer: https://www.youtube.com/watch?v=VzW41m4USGs
\ Intro: https://blog.bytebytego.com/p/rate-limiting-fundamentals
\ Good article on algorithms: https://medium.com/geekculture/system-design-design-a-rate-limiter-81d200c9d392
\ Leetcode discussion: https://leetcode.com/discuss/interview-question/system-design/1616482/System-Design%3A-Rate-Limiter
\
Question 6: System to Collect Performance Metrics from Thousands of ServersCompany(s) asked: Google, Datadog, Amazon, eBay, LinkedIn
\
Solution(s):
Good solution: https://systemdesignschool.io/problems/realtime-monitoring-system/solution
\ Nice article with overview: https://archive.is/Eezec
\
Question 7: Design Google CalendarCompany(s) asked: Google, LinkedIn
\
Solution(s):
Good High Level Solution: https://medium.com/%40astha2798/system-design-google-calendar-94894ddc9839
\ Solution from FAANG Engineer: https://www.youtube.com/watch?v=POfW0UULcyA
\ Leetcode Discussion: https://leetcode.com/discuss/post/305654/system-design-google-calendar-by-kthtes-ttur/
\ Recurring Events: https://www.linkedin.com/pulse/tiny-system-design-google-calendar-like-app-recurring-rajesh-pillai/
\
Question 8: Design a Distributed Queue like RabbitMQCompany(s) asked: Amazon, Apple, Instacart
\
Solution(s):
Leetcode Discussion: https://leetcode.com/discuss/interview-question/system-design/206134/Amazon-or-System-Design-or-Design-a-Distributed-Message-queue
\ Good detailed explanation: https://docs.google.com/document/d/1pOarvQbjzLd9tz5ZuxktyrYsZ41mbWba5_LUeFj65lI/edit?tab=t.0#heading=h.iq7ofd902vlf
\ Mock Interview: https://www.tryexponent.com/blog/distributed-message-queue-system-design-mock-interview
\ Detailed explanation video: https://www.youtube.com/watch?v=iJLL-KPqBpM
\
Question 9: Design Google Analytics — User Analytics Dashboard and PipelineCompany(s) asked: Microsoft, Facebook, Qualtrics, Google
\
Solution(s):
\ Facebook EM’s Mock Interview: https://www.youtube.com/watch?v=kIcq1_pBQSY
\ Designing a Dashboard with Data with FAANG Engineer: https://www.youtube.com/watch?v=8_5Gve7aNRk
\
Question 10: Design a System for Sorting Large Data SetsCompany(s) asked: Google, Microsoft
\
Solution(s): \n Excellent solution:https://quanticdev.com/algorithms/distributed-computing/distributed-sorting/
\ From the same author, a very detailed video: https://www.youtube.com/watch?v=vgKjatRVtys
\ Leetcode: https://leetcode.com/discuss/interview-question/4807845/Microsoft-Interview/
\
Question 11: Top K Elements: App Store Rankings, Amazon Bestsellers, etc.Company(s) asked: Amazon, Bloomberg, Facebook, Pinterest
\
Solution(s): \n Solution from ex-Meta engineer:https://www.youtube.com/watch?v=1lfktgZ9Eeo
\ Solution from FAANG Engineer: https://www.youtube.com/watch?v=RvZbdYvrFeg
\ Very detailed solution from Microsoft engineer: https://serhatgiydiren.com/system-design-interview-top-k-problem-heavy-hitters/
\ Solution on Blind: https://www.teamblind.com/post/Please-critique-my-system-design-for-Top-K-most-searched-terms-Cfrqhnhk
\
Question 12: Design Dropbox or Google DriveCompany(s) asked: Dropbox, Facebook, Google, Amazon, Microsoft, OCI
\
Solution(s): \n Paper: Google File Systemhttps://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf
\ Solution from ex-Meta Engineer: https://www.youtube.com/watch?v=_UZ1ngy-kOI
https://www.hellointerview.com/learn/system-design/problem-breakdowns/dropbox
\ Mock Interview: https://www.tryexponent.com/courses/system-design-interviews/design-dropbox
\
Question 13: Design a Job SchedulerCompany(s) asked: Google, Amazon, Microsoft, Doordash, Netflix, Atlassian
\
Solution(s): \n Popular Leetcode Discussion:https://leetcode.com/discuss/general-discussion/1082786/System-Design%3A-Designing-a-distributed-Job-Scheduler-or-Many-interesting-concepts-to-learn
\ Solution from Google Engineer: https://www.youtube.com/watch?v=pzDwYHRzEnk
\ High Level Overview: https://blog.algomaster.io/p/design-a-distributed-job-scheduler
\ Mock Interview: https://interviewing.io/mocks/faang-system-design-job-scheduler
\
Question 14: Design a Notification Service at ScaleCompany(s) asked: Google, Pinterest, OCI, Stubhub, Amazon, Airbnb, Instacart
\
Solution(s): \n High level overview:https://blog.algomaster.io/p/design-a-scalable-notification-service
\ Good design by Microsoft engineer: https://serhatgiydiren.com/system-design-interview-notification-service/
\ Nice detailed solution video: https://www.youtube.com/watch?v=bBTPZ9NdSk8
\ Solution by Google Engineer: https://www.youtube.com/watch?v=J-5JozlYIqI
\
Question 15: Surge Pricing System: Uber — Stream Processing, etc.Company(s) asked: Uber, Lyft
\
Solution(s): \n No solutions available online, but here is the best we could find:
\ Good overview: https://docs.google.com/document/d/1uJpPuhO6vZK_VCxBYKbCJoQYrbFE9Ihrsfs919X8f40/edit?usp=sharing
\ GPTed Solution I used: https://docs.google.com/document/d/1hfUmr8SpBMCkEMlOeXl6Y-H85PMzq-zd07Isb1ltWZE/edit?usp=sharing
\
Question 16: Netflix: Limit the Number of Screens Each User Can WatchCompany(s) asked: Some FAANG
\
Solution(s): \n No solutions available online, but here is the best we could find:
\ On Mobile and TVs, Because you are running the app, you have access to certain device identifiers. For example, on iOS, you can get the phone model, and advertising identifier for a device. You can use this data to record a device on a backend cache.
\ On web, you can use the IP address and create a browser session. You can use that as a key to a table maintaining sessions for a user.
With a combination of the above, you can identify how many users are watching from an account at any given time.
\
Question 17: Design an ETA Service and Location Sharing Between Driver and RiderCompany(s) asked: Uber, Some FAANG
\
Solution(s): \n No solutions available online, but here are some reads: \n Note: This is after matching a driver with a rider — Question 30.
\ Part 1 — ETA:
ETA for Uber Eats, related: https://mecha-mind.medium.com/ml-system-design-eta-prediction-9dc8000fd86b \n High level approach:https://www.finalroundai.com/interview-questions/google-maps-eta-compute
\ Part 2 - Live location sharing:
Links that are ok, but don’t do justice for interviews:
https://github.com/praveenkumardec89/location-tracking-system-design
\
Question 18: Design a Hotel Booking System: Room Availability, Reservation, BookingCompany(s) asked: Amazon, Square, Booking.com
\
Solution(s): \n Solution from FAANG Engineer:https://www.youtube.com/watch?v=Ale7Fn921GQ
\ Good API and High Level Design: https://javascript.plainenglish.io/how-to-design-a-hotel-booking-system-56ef18b6adfc
\ High Level Backend Design Video: https://www.youtube.com/watch?v=m67Mjbx6DMY
\ Mock Interview: https://www.tryexponent.com/blog/design-a-hotel-booking-service-system-design-interview-question-answer
\
Question 19: Design an A/B Testing System (like Optimizely)Company(s) asked: Affirm, Some FAANG
\
Solution(s): \n No good solutions for this online. Here are a few reads:
\ High level overview: https://xhinliang.medium.com/how-to-design-an-a-b-test-system-1450b06933f
\ Building a small homemade A/B test engine: https://medium.com/studocu-techblog/recipe-for-implementing-a-homemade-a-b-testing-engine-2e95c97c8020
\
Question 20: Design a Price Alert System for Amazon (or for Stock prices)Company(s) asked: Facebook, Bloomberg, Coinbase, Swyftx, Trade Republic
\
Solution(s): \n Leetcode Discussion:https://leetcode.com/discuss/interview-question/system-design/5745135/Design-Stock-price-Notification-System
\ Good solutions: https://dilipkumar.medium.com/price-drop-tracker-system-design-d2f9ed36a935
\ Another solution: https://www.tryexponent.com/questions/3371/design-amazon-price-tracker
\
Question 21: Design an IoC/Dependency Injection FrameworkCompany(s) asked: ADP, Some FAANG
\
Solution(s): \n No good solution available online, here is the best we could find:
\ Intro to concepts: https://tarunjain07.medium.com/inversion-of-control-ioc-dependency-injection-di-9155a4151db9
\ More info: https://www.finalroundai.com/blog/dependency-injection-interview-questions
\ Video: https://www.youtube.com/watch?v=ryI8CA7Dbx8
\
Question 22: Design a Credit Card Processing SystemCompany(s) asked: Stripe, Paytm, Paypal, Databricks, Capital One
\
Solution(s): \n Detailed solution:https://newsletter.pragmaticengineer.com/p/designing-a-payment-system
\ Simpler solution: https://hackernoon.com/system-design-interview-designing-payment-systems-follow-up-questions-and-probable-issues
\ Good video explanation: https://www.youtube.com/watch?v=olfaBgJrUBI
\
Question 23: Count Facebook Likes, Especially for High-Profile UsersCompany(s) asked: Facebook, Amazon, Twitter
\
Solution(s): \n Discussion on Blind:https://www.teamblind.com/post/System-Design-Question-How-does-FBInsta-storeretrieve-likes-NZEcwqVp
\ Detailed Solution: https://systemdesign.one/distributed-counter-system-design/
\ Video Solution: https://blog.interviewcamp.io/live-design-facebook-likes-distributed-counter
\
Question 24: Design a Control Plane for a Distributed DatabaseCompany(s) asked: Netflix
\
Solution(s): \n No solution online. Here are a few reads:
\ Good to know what a control plane is. This video does a great job: https://www.youtube.com/watch?v=Ep1QW-wOmgc
\ DynamoDB Paper: https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
\
Question 25: Design a User Login and Authentication System for a WebsiteCompany(s) asked: Google, Visa, Gusto
\
Solution(s): \n Great explanation:https://www.youtube.com/watch?v=uj_4vxm9u90
\ Good solution: https://hackernoon.com/designing-functional-authentication-and-authorization-systems
\ Good summary: https://www.finalroundai.com/interview-questions/google-design-login-endpoint
\ Explanation videos: \n https://www.youtube.com/watch?v=fyTxwIa-1U0 \n https://www.youtube.com/watch?v=zt8Cocdy15c
\
Question 26: Develop a Weather ApplicationCompany(s) asked: Amazon, Chime, Facebook, Hubspot, Uber, Klaviyo
\
Solution(s): \n Leetcode Discussion:https://leetcode.com/discuss/interview-question/system-design/1286344/system-design-design-weather-widget
\ Video explanation with sensors: https://www.youtube.com/watch?v=sWNRuClDOo4&t=2s
\ Another explanation with sensors: https://www.youtube.com/watch?v=PxL8W3WoK5k
\
Question 27: Create a Document Management System like Wikipedia, Notion or Google DocsCompany(s) asked: Google, Flipkart, Notion, Amazon
\
Solution(s): \n No good solutions available online. However, here are some reads:
\ Leetcode Discussion: https://leetcode.com/discuss/interview-question/system-design/322448/Content-Management-System-Design
\ Solution from Google Engineer. This goes over live editing too, but this specific question is not about live editing: https://www.youtube.com/watch?v=YCjVIDv0zQY
\ Detailed Frontend Design: https://www.youtube.com/watch?v=tsGarhpWOws
\
Question 28: Build a Marketplace Feature for FacebookCompany(s) asked: Facebook, Roblox
\
Solution(s): \n While no solution exists online specifically for FB Marketplace, here are solutions for building marketplaces which will help:
\ Cheat Sheet: https://www.reddit.com/r/leetcode/comments/104wf74/system_design_cheatsheet_online_marketplace/
\ Craigslist Design: https://medium.com/%40bugfreeai/system-design-interview-practice-design-craigslist-c95ba0238f74
\ Mock Interview: https://www.youtube.com/watch?v=2N0TXrgB9AY
\ For location based listings, refer to geospatial search — Question 30
\
Question 29: Design a System to Monitor the Health of a ClusterCompany(s) asked: Uber, Lacework, Amazon, Google
\
Solution(s): \n Good starting point: Interview experience:https://medium.com/%40ajingnv/system-design-a-server-health-monitoring-system-9bdd0066bb9c
\ Solution: https://systemdesignschool.io/problems/realtime-monitoring-system/solution
\ Leetcode Discussion: https://leetcode.com/discuss/interview-question/system-design/958919/System-Design-Interview-or-Service-Health-Monitoring-and-Alerting-Service
\
Question 30: Find a Rider for Uber or Uber EatsCompany(s) asked: Facebook, Uber, Google, Microsoft
\
Solution(s):
Very similar to Proximity Service (Find Nearby Friends, Design Yelp). This problem is about maintaining a large geospatial index.
\ Excellent article on geospatial algorithms: https://blog.mapbox.com/a-dive-into-spatial-search-algorithms-ebd0c5e39d2a
\ Good solution for Yelp, which applies here: https://systemdesignschool.io/problems/yelp/solution
\ Popular Video: https://www.youtube.com/watch?v=M4lR_Va97cQ
\ Mock Interview: https://www.youtube.com/watch?v=atywHEArk1w
\
Question 31: Design a Distributed Tracing SystemCompany(s) asked: Uber, Amazon
\
Solution(s): \n Leetcode Discussion:https://leetcode.com/discuss/interview-question/system-design/313117/Design-a-system-capable-of-tracking-bad-request-down-quickly
\ Great intro to Tracing: https://betterstack.com/community/guides/observability/distributed-tracing/
\ Dapper research paper: https://research.google/pubs/pub36356/
\ Solution from FAANG engineer: https://www.youtube.com/watch?v=Jkhw_FSikX0
\
Question 32: Design Backend for an App to Distribute 6 Million Free Burgers in One HourCompany(s) asked: Google, Deliveroo
\
Solution(s): \n No solution online, but here are some resources:
\ Mock Interview: https://interviewing.io/mocks/google-system-design-design-a-free-food-app
Another Mock Interview: https://interviewing.io/questions/design-a-free-food-app
\ Reddit discussion: https://www.reddit.com/r/softwarearchitecture/comments/xlztzr/interview_systems_design_question_that_i_want/
\
Question 33: Design a File Downloader LibraryCompany(s) asked: Facebook
\
Solution(s): \n No good solutions online, but here are a few resources:
\ Leetcode Discussion: https://leetcode.com/discuss/interview-question/system-design/1587255/Facebook-System-Design
\ Video Solution: https://www.youtube.com/watch?v=u520bdagKkU
\
Question 34: Design a System to View Latest Stock Prices WorldwideCompany(s) asked: Google, Bloomberg, Amazon
\
Solution(s): \n Leetcode Discussion:https://leetcode.com/discuss/interview-question/system-design/431712/Bloomberg-or-Design-a-system-to-give-prices-of-a-stock
\ Detailed solution: https://harshsavasil.medium.com/design-real-time-stock-price-feed-9e1fba0a1c4e
\ Real case study: https://www.paytmmoney.com/blog/how-we-built-an-in-house-price-alerts-system/
\
Question 35: Develop a Photo Sharing Platform like Flickr or Google PhotosCompany(s) asked: Google, Doordash, Amazon, Uber, Facebook
\
Solution(s): \n Must read: Facebook’s Photo Storage Paper:https://www.usenix.org/legacy/event/osdi10/tech/full_papers/Beaver.pdf
\ High level approach: https://medium.com/%40bugfreeai/key-points-of-a-common-system-design-interview-question-photo-sharing-platform-91f52fa4bf05
\ Solution: https://www.geeksforgeeks.org/design-a-picture-sharing-system-system-design/
\ Frontend Solution Video: https://www.youtube.com/watch?v=FUKGooQXih8
\ Mock Interview: https://interviewing.io/mocks/faang-system-design-photo-sharing-service
\
Question 36: Design an On-Call Escalation SystemCompany(s) asked: Uber
\
Solution(s): \n No solution available online. However, here are things to consider: \n https://docs.google.com/document/d/1yngBZD2xNYfPRMIy1haQQcpSrZLUrIjErIM92d8mFiA/edit?usp=sharing
\
Question 37: Design and Implement a Wire Transfer APICompany(s) asked: Google, Capital One, Revolut
\
Solution(s): \n Leetcode Discussion:https://leetcode.com/discuss/interview-question/1895724/google-first-phone-write-a-wiretransfer-api
\ https://leetcode.com/discuss/post/651695/revolut-backend-engineer-london-sep-2019-ybf3/
\ Video Solution: https://www.youtube.com/watch?v=olfaBgJrUBI&t=365s
\
Question 38: Design a Live Comments Feature for FacebookCompany(s) asked: Facebook
\
Solution(s): \n Great Solution:https://www.hellointerview.com/learn/system-design/problem-breakdowns/fb-live-comments
\ Video Solution from Meta Engineer: https://www.youtube.com/watch?v=LjLx0fCd1k8
\ FB Engineering Blog: https://engineering.fb.com/2011/02/07/core-infra/live-commenting-behind-the-scenes/
\ Leetcode Discussion: https://leetcode.com/discuss/post/583184/fbinstagram-live-comments-system-design-fqtzt/
\
Question 39: Design a Feature to Show the Number of Users Viewing a PageCompany(s) asked: Booking.com
\
Solution(s): \n No solution available online, but here are a few reads:
\ One solution: https://medium.com/%40narasimha4789/from-zero-to-millions-designing-a-real-time-active-user-counter-system-a5d9545bd35e
\ Related: https://www.youtube.com/watch?v=TuKjdj9YXns
\
Question 40: Design Facebook Likes Feature with Live UpdatesCompany(s) asked: Facebook, Coinbase
\
Solution(s): \n Video Solution:https://www.youtube.com/watch?v=T4bmFz-BSDk
\
Question 41: Create a System to Migrate Large Data to Google CloudCompany(s) asked: Google, OCI
\
Solution(s): \n No solution online, but here are some reads:
\ 3 strategies: https://newrelic.com/blog/best-practices/migrating-data-to-cloud-avoid-downtime-strategies
\ Related interview experience: https://leetcode.com/discuss/post/1733573/rubrik-file-transfer-interview-question-43hjl/
\
Question 42: Design a Distributed BotnetCompany(s) asked: Facebook, Lyft
\
Solution(s): \n MapReduce Paper — which coordinates a cluster of machines to do a task:https://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf
\ Leetcode Discussion: https://leetcode.com/discuss/post/1375361/botnet-system-designfacebook-design-roun-jv0g/
\ https://leetcode.com/discuss/post/850071/lyft-virtual-onsite-design-bots-to-downl-4v5q/
\ Blind: https://www.teamblind.com/post/System-design-for-Botnet-5x0Mq34z
\
Question 43: Create a Distributed File Transfer System like BittorrentCompany(s) asked: Google, Atlassian, Twitch
\
Solution(s): \n Great paper on this topic:https://web.cs.ucla.edu/classes/cs217/05BitTorrent.pdf
\ Article on this: https://medium.com/@abhinavcv007/bittorrent-part-1-the-engineering-behind-the-bittorrent-protocol-04e70ee01d58
\ High Level Video Explanation: https://www.youtube.com/watch?v=6PWUCFmOQwQ
\
Question 44: Design a Parts Compatibility Feature for an eCommerce SiteCompany(s) asked: Some FAANG
\
Solution(s): \n No solution available online. Auto Parts compatibility is another way to describe this.
\ Presumably, you might have a compatibility list for each part provided. Narrow down the problem to a particular type of part.
\ This problem is more about frontend and DB design than about distributed systems.
\
Question 45: Develop an Ads Management and Display System for a Social FeedCompany(s) asked: Facebook, Google, Amazon, Pinterest
\
Solution(s): \n No good solution online. This video gives an overview: \n https://www.youtube.com/watch?v=Zcv_899yqhI&t=2s
\ \
By the time you read this, these solutions might be out of date. I will keep an updated list at SystemDesign.io\
All Rights Reserved. Copyright , Central Coast Communications, Inc.