import HeaderLink from './HeaderLink.astro';

System Design Topics

Design A Unique ID Generator In Distributed Systems

Explore various approaches to designing a unique ID generator for distributed systems, focusing on scalability, uniqueness, and ordering.

Design A Key-value Store

A key-value store, also referred to as a key-value database, is a non-relational database. Each unique identifier is stored as a key with its associated value.

Design Consistent Hashing

To achieve horizontal scaling, it is important to distribute requests/data efficiently and evenly across servers. Consistent hashing is a commonly used technique to achieve this goal.

Design A Search Autocomplete System

Design a search autocomplete system, also called "design top k" or "design top k most searched queries".

Design Google Drive

Design a cloud storage service like Google Drive.

Design YouTube

Design a video streaming service like YouTube.

Design A Chat System

Explore the design of a scalable chat system supporting one-on-one and group chats, online presence, and multi-device synchronization.

Design A News Feed System

Design a scalable news feed system, focusing on feed publishing, aggregation, and key architectural components for high traffic.

Design A Notification System

Design a scalable notification system supporting mobile push, SMS, and email, addressing reliability, delivery, and user preferences.

Design A Web Crawler

A classic system design interview question focusing on web crawler design, its purposes, and a scalable architecture.

Design A URL Shortener

A classic system design interview question: designing a URL shortening service like TinyURL.

Design A Rate Limiter

Learn to design a rate limiter to control traffic in network systems, preventing abuse and ensuring service stability.

A Framework For System Design Interviews

A simple and effective framework to solve system design interview problems.

Back-of-the-envelope Estimation

Learn to estimate system capacity and performance requirements in system design interviews using back-of-the-envelope calculations.

Scale From Zero To Millions Of Users

Understanding how to scale a system from a small user base to millions, covering various architectural considerations.