30-Day Study Plan

Share
30-Day Study Plan
A 30-day plan gives you enough time to build real system design interview skill.
The goal is not to read as much as possible. The goal is to practice the same thinking process across many problems.

How to use this plan

This plan is designed for busy engineers.

You do not need to study all day.

A good pace is:

60–90 minutes per day
5–6 days per week

Each week has a focus:

Week 1: Build the foundation

Day 1–2: Understand the interview

Read:

  • What System Design Interviews Test
  • 50-Minute Interview Framework
  • Common Mistakes

Practice:

  • Explain the 50-minute framework out loud.
  • Practice the first 5 minutes for a simple prompt.

Prompt:

Design a URL shortener.

Your goal is not to finish the design. Your goal is to start well.

Day 3–5: Learn core building blocks

Study one or two components per day:

  • Database
  • Cache
  • CDN
  • Message Queue
  • Blob Storage
  • API Gateway
  • Elasticsearch

For each component, write short notes:

When to use it:
When not to use it:
Common tradeoff:
Example problem:

Do not go too deep yet. You will understand more when you see problems.

Day 6–7: First full walkthrough

Solve:

  • URL Shortener

Focus on:

  • unique ID generation,
  • cache for reads,
  • database storage,
  • redirect latency,
  • simple scaling.

At the end, explain the design in 5 minutes without looking at notes.

Week 2: Practice real problems

This week, solve 3–4 problems.

Recommended order:

  1. Rate Limiter
  2. News Feed
  3. Chat System
  4. Ticket Booking

For each problem, use the same template:

Requirements
Core entities
APIs
High-level design
Deep dives
Common mistakes
Final recap

Do not worry if your first answers are rough. That is normal.

The key is repetition.

By the end of Week 2, you should feel more comfortable starting a problem from scratch.

Week 3: Add depth

Now focus on deeper topics.

Study:

  • Optimistic, Pessimistic & Distributed Locking
  • Partitioning / Sharding Basics
  • Consistent Hashing
  • Rate Limiting Algorithms
  • Idempotency & Deduplication
  • Backpressure & Circuit Breaker
  • TTL, Expiration & Cleanup

You do not need to become an expert in all of them.

You need to know:

  1. When does this topic come up?
  2. What problem does it solve?
  3. What tradeoff should I mention?
  4. Which problem can I connect it to?

Example:

Idempotency
Comes up in: payment, order creation, retry logic
Solves: duplicate requests causing duplicate side effects
Tradeoff: needs idempotency key storage and expiration

Then revisit earlier problems and add one deeper discussion to each.

Week 4: Mock and polish

This is the most important week.

Do at least 3 full mocks.

Recommended problems:

  • Food Delivery
  • Yelp / Nearby Search
  • YouTube
  • Distributed Job Scheduler

For each mock:

  1. Set a 50-minute timer.
  2. Speak out loud.
  3. Draw a simple architecture.
  4. Choose 2–3 deep dives.
  5. End with a clear summary.

After each mock, score yourself:

What to review in the final 48 hours

Do not learn brand new topics right before the interview.

Review:

  • 50-minute framework,
  • common numbers,
  • common phrases,
  • 2–3 strongest problem walkthroughs,
  • tradeoff language,
  • common mistakes,
  • your weak areas from mocks.

Practice your opening sentence:

I’d like to start by clarifying the core requirements and scale, then I’ll propose a simple design and deep dive into the main bottlenecks.

This gives you a calm start.

Final takeaway

A good 30-day plan is not about reading every system design article online.

It is about repeating the same interview process until it becomes natural.

By the end of 30 days, you should be able to:

  • start a problem clearly,
  • design a simple working system,
  • identify bottlenecks,
  • explain tradeoffs,

and handle follow-up questions with confidence.