Design a Content Delivery Network

Last updated: June 17, 2026

Quick Overview

Design a CDN for serving static and dynamic content globally. Cover cache hierarchy, cache invalidation strategies, origin shielding, edge compute, and handling cache stampedes during viral content spikes.

Google
System Design
Software Engineer
Google
June 17, 2026
Software Engineer
Onsite
System Design
Hard

262

0

259 solved


Design a CDN for serving static and dynamic content globally. Cover cache hierarchy, cache invalidation strategies, origin shielding, edge compute, and handling cache stampedes during viral content spikes.

How to Approach This
  1. Start by clarifying functional and non-functional requirements with the interviewer.
  2. Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
  3. Draw a high-level architecture first, then deep dive into 1-2 critical components.
  4. Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
  5. Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Sharpen Your Skills on Codemia

Practice similar problems with our interactive workspace, get AI feedback, and track your progress.

Practice System Design Problems
Sample Answer
Requirements

Functional Requirements:

  1. Content Distribution: Serve static content (images, videos, scripts) and dynamic content (API responses) globally with low latency.
  2. Cache Hierarchy: Implemen...
Capacity Estimation

Capacity Estimation:

Assuming Google serves content to 2 billion users with an average of 10 requests per user per day:

  1. Total Requests: 2 billion users * 10 requests = 20 billion requests p...

Submit Your Answer
Markdown supported

Related Questions