πŸŽ“ A1Learner
πŸ”
0 of 47 lessons completed

Home / System Design

System Design

System design from zero: clarifying requirements, estimating scale, load balancing, caching, databases, sharding and reliability. Every number is worked in the open and checked.

Start learning ❯❯47 lessons · 14 topics · 0/47 completed

Course contents

Work top to bottom β€” the sidebar is the course. Topics later in the list assume the ones before them.

What Is System Design

Beginner · ⏱ 6 min · standalone lesson

The Interview Roadmap

Start: Clarify the Requirements ❯

Scale and Estimation

Start: Thinking in Scale ❯

Requests End to End

Start: Clients and Servers ❯

Scaling the App Tier

Start: Vertical and Horizontal Scaling ❯

Caching

Start: Caching: Where and Why ❯

Content and Files

Start: What a CDN Does ❯

Databases at Design Level

Start: SQL or NoSQL ❯

Partitioning and Sharding

Start: Why Partition Data ❯

Consistency and Availability

Start: Consistency in Plain Words ❯

Async Work

Start: Message Queues ❯

Services and APIs

Start: Monolith or Microservices ❯

Reliability

Start: Single Points of Failure ❯

Design a Photo-Sharing App

Beginner · ⏱ 12 min · standalone lesson