
Companies like Google, Amazon, Meta, and others focus on hiring software engineers through coding and system design tests. A common pattern of questions in these companies is: How do you design the X component of a Y system?. For example: How would you design the recommendation system of a food-delivery app?
This article will list the most common system design questions with their solution links.
1. System Design of a Key-Value Cache for a Stock Market App
- Asked at: Google, Amazon and Netflix
- Solution: Machine Coding a Cache in the Low-Level Design chapter
Further Reading
| Name | Link |
|---|---|
| Google Guava Cache | CachesExplained · google/guava Wiki · GitHub |
| Caching (See the README) | GitHub - ben-manes/caffeine: A high performance caching library for Java |
| Caching | Design of a Modern Cache - High Scalability - |
| Microsoft Caching Guide | Microsoft Caching Guide |
| Caching patterns | A Hitchhiker's Guide to Caching Patterns Hazelcast |
2. System Design of the routing engine for Google Maps (i.e, apps that deal with geographical data)

- Asked at: Google, Meta and Amazon
- Solution: Design a maps service like Google Maps
Additional Resources
| Name | Link |
|---|---|
| Google S2 library | Google’s S2, geometry on the sphere, cells and Hilbert curve Terra Incognita |
3. System Design of a Rate Limiter for Tinder

- Asked at: Google, Amazon and Microsoft
- Solution: Design a rate limiter
Additional Resources
| Name | Link |
|---|---|
| Uber Rate Limiter | uber-go/ratelimit · GitHub |
| Circuit Breaker Algorithm | CircuitBreaker |
4. System Design of a News Feed for Instagram
- Asked at: Google and Microsoft
- Solution: Design a News Feed
5. Design the Load Balancer for a gaming website

- Asked at: Amazon and Apple
- Solution: Design a Load Balancer
Additional Resources
| Name | Link |
|---|---|
| Load Balancer with Sticky Sessions | Sticky and NON-Sticky sessions - Stack Overflow |
| Citrix what is load balancing | What is Load Balancing? What Load Balancing Solutions Are There? - Citrix India |
| Nginx Load Balancing | What Is Load Balancing? How Load Balancers Work |
| Consistent hashing | https://michaelnielsen.org/blog/consistent-hashing/ |
6. Design the Chat service for Whatsapp

- Asked at: Meta
- Solution: Design a Chat Service
Additional Resources
| Name | Link |
|---|---|
| Facebook Messenger Optimisations | How Facebook Keeps Messenger From Crashing on New Year's Eve - IEEE Spectrum |
7. Design the connection service for online games (low latency)
- Asked at: Meta and Netflix
- Very Important if you are preparing for the Meta interview rounds.
- Solution: Design a gaming service application
Additional Resources
| Name | Link |
|---|---|
| Chess Engine Building | Coding Adventure: Chess AI |
8. Design the balance calculator for Splitwise
- Asked at: Amazon and Microsoft
- Solution: Design a balance tracking app like Splitwise
9. Design the remote code executor of an Online Judge like Leetcode

- Asked at: Netflix and Microsoft
- Solution: Design a remote code executor
Additional Resources
| Name | Link |
|---|---|
| System Design: Online Judge for coding contests | https://youtu.be/07jkn4jUtso |
10. Design an Event Bus for a E-commerce App

- Asked at: Amazon, Netflix and Microsoft
- Very Important if you are preparing for the Amazon interview rounds.
- Solution: Design an event bus
11. Design the APIs for the booking system of BookMyShow
- Asked at: Netflix and Microsoft
- Solution: How to design APIs like a software engineer
Additional Resources
| Name | Link |
|---|---|
| API Design | Building Services at Airbnb, Part 1 - by Liang Guo - The Airbnb Tech Blog - Medium |
| Swagger APIs | About Swagger Specification - Documentation |
12. Design the video streaming service for Hotstar
- Asked at: Netflix and Meta
- Solution: How to design a video streaming service
Additional Resources
| Name | Link |
|---|---|
| YouTube Architecture | http://highscalability.com/youtube-architecture |
| YouTube scalability 2012: | Seattle Conference on Scalability: YouTube Scalability |
13. Design the collaborative editor for Google Docs
- Asked at: Google
- Very Important if you are preparing for the Google interview.
- Solution: Design a collaborative editing service
Additional Resources
| Name | Link |
|---|---|
| Operational Transform | http://www.codecommit.com/blog/java/understanding-and-applying-operational-transformation |
| Google Docs | Google I/O 2009 - Google Wave: Under the hood |