📄️ Design A Rate Limiter
In a network system, a rate limiter is used to control the rate of traffic sent by a client or a
📄️ Design Consistent Hashing
To achieve horizontal scaling, it is important to distribute requests/data efficiently and evenly
📄️ Design A Key-value Store
A key-value store, also referred to as a key-value database, is a non-relational database. Each
📄️ Design A Unique ID Generator In Distributed Systems
In this chapter, you are asked to design a unique ID generator in distributed systems. Your first
📄️ Design A URL Shortener
In this chapter, we will tackle an interesting and classic system design interview question:
📄️ Design A Web Crawler
In this chapter, we focus on web crawler design: an interesting and classic system design interview
📄️ Design A Notification System
A notification system has already become a very popular feature for many applications in recent
📄️ Design A News Feed System
In this chapter, you are asked to design a news feed system. What is news feed? According to the
📄️ Design A Chat System
In this chapter we explore the design of a chat system. Almost everyone uses a chat app. Figure 1
📄️ Design A Search Autocomplete System
When searching on Google or shopping at Amazon, as you type in the search box, one or more matches
📄️ Design YouTube
In this chapter, you are asked to design YouTube. The solution to this question can be applied to
📄️ Design Google Drive
In recent years, cloud storage services such as Google Drive, Dropbox, Microsoft OneDrive, and Apple
📄️ Proximity Service
In this chapter, we design a proximity service. A proximity service is used to discover nearby
📄️ Nearby Friends
In this chapter, we design a scalable backend system for a new mobile app feature called "Nearby
📄️ Google Maps
In this chapter, we design a simple version of Google Maps. Before we proceed to the system design,
📄️ Distributed Message Queue
In this chapter, we explore a popular question in system design interviews: design a distributed
📄️ Metrics Monitoring and Alerting System
In this chapter, we explore the design of a scalable metrics monitoring and alerting system. A
📄️ Ad Click Event Aggregation
With the rise of Facebook, YouTube, TikTok, and the online media economy, digital advertising is
📄️ Hotel Reservation System
In this chapter, we design a hotel reservation system for a hotel chain such as Marriott International. The design and techniques used in this chapter are also applicable to other popular booking-related interview topics:
📄️ Distributed Email Service
In this chapter we design a large-scale email service, such as Gmail, Outlook, or Yahoo Mail. The
📄️ S3-like Object Storage
In this chapter, we design an object storage service similar to Amazon Simple Storage Service (S3).
📄️ Real-time Gaming Leaderboard
In this chapter, we are going to walk through the challenge of designing a leaderboard for an online mobile game.
📄️ Payment System
In this chapter, we design a payment system. E-commerce has exploded in popularity across the world in recent years. What makes every transaction possible is a payment system running behind the scenes. A reliable, scalable, and flexible payment system is essential.
📄️ Digital Wallet
Payment platforms usually provide a digital wallet service to clients, so they can store money in the wallet and spend it later. For example, you can add money to your digital wallet from your bank card and when you buy products online, you are given the option to pay using the money in your wallet. Figure 1 shows this process.