Full Interview Prep Plan — DSA + System Design + Machine Coding

Start date: Mon, 23 Mar 2026 Schedule logic:

  • Mon–Thu mornings (4:45–6:15): DSA problems
  • Mon–Thu mornings (6:15–7:15): System design (read odd day / write from memory even day)
  • Mon + Wed evenings (7:30–8:30 PM): Machine coding (skip if exhausted, do Saturday instead)
  • Friday morning (5:00–6:30): DP problems
  • Friday evening (6:00–8:30 PM): Machine coding deep session
  • Saturday (8:00–11:00): DSA catch-up; (12:00–2:00) System design deep dive; (3:00–5:00) Machine coding OOP
  • Sunday (9:00–10:30): Key technologies; (11:00–12:30) Revision; (2:00–3:30) Mock sim

Phase 1 — Foundation + Early DP

Goal: Pattern recognition + confidence + DP familiarity


Day 1 — Mon, 23/03/2026

Patterns: Two Pointers · DP — Fibonacci

Morning block (4:45–6:15) — DSA

  • Squares of a Sorted Array
  • Two Sum II
  • 3Sum

Morning block (6:15–7:15) — System Design (read day)

  • Read: Design Bit.ly — focus on URL shortening, hashing strategy, redirect flow

Evening (7:30–8:30 PM) — Machine Coding

  • Design a Parking Lot — entities: ParkingLot, Level, Spot, Vehicle, Ticket. Focus on class structure first, then implement.

DP (carry to Friday or do after DSA if time)

  • Climbing Stairs
  • House Robber

Day 2 — Tue, 24/03/2026

Patterns: Sliding Window · DP — Fibonacci

Morning block (4:45–6:15) — DSA

  • Maximum Average Subarray
  • Minimum Size Subarray Sum
  • Fruit Into Baskets

Morning block (6:15–7:15) — System Design (write from memory day)

  • Write from memory: Bit.ly design — sketch components, data model, API. Then compare to notes.

DP (carry to Friday or do after DSA if time)

  • Jump Game
  • Min Cost Climbing Stairs

Day 3 — Wed, 25/03/2026

Patterns: Fast & Slow Pointers · DP — Knapsack

Morning block (4:45–6:15) — DSA

  • Linked List Cycle
  • Middle of Linked List
  • Palindrome Linked List

Morning block (6:15–7:15) — System Design (read day)

  • Read: Design Dropbox — focus on chunking, sync, metadata vs blob storage split

Evening (7:30–8:30 PM) — Machine Coding

  • Design an In-Memory Cache (LRU) — entities: Cache, Node, DoublyLinkedList. Implement get/put with eviction.

DP (carry to Friday or do after DSA if time)

  • Partition Equal Subset Sum
  • Target Sum

Day 4 — Thu, 26/03/2026

Patterns: Stack · DP — Knapsack

Morning block (4:45–6:15) — DSA

  • Valid Parentheses
  • Simplify Path
  • Next Greater Element

Morning block (6:15–7:15) — System Design (write from memory day)

  • Write from memory: Dropbox design — sketch chunking strategy, sync flow, API. Then compare.

DP (carry to Friday or do after DSA if time)

  • Subset Sum
  • Last Stone Weight II

Day 5 — Fri, 27/03/2026

Patterns: Binary Search · DP — String

Morning block (5:00–6:30) — DSA + DP catchup

  • Binary Search
  • Search Insert Position
  • Find First and Last Position
  • Longest Palindromic Substring
  • Word Break

Evening (6:00–8:30 PM) — Machine Coding deep session

  • Design a Library Management System — entities: Library, Book, Member, Loan. Full OOP: 15 min class diagram, 45 min code, 30 min add reservation feature.

Day 6 — Revision — Mon, 30/03/2026

DSA Revision

  • Re-solve failed problems from Days 1–5
  • Re-solve slow problems from Days 1–5

System Design Revision (morning)

  • Review Bit.ly + Dropbox notes. Write 3 key decisions for each from memory.

Machine Coding Revision (evening)

  • Re-implement your weakest machine coding problem from week 1 from scratch. Focus on blank-page → class diagram habit.

Phase 2 — Core Structures


Day 7 — Tue, 31/03/2026

Patterns: Merge Intervals · DP — Fibonacci

Morning block (4:45–6:15) — DSA

  • Merge Intervals
  • Insert Interval
  • Meeting Rooms II

Morning block (6:15–7:15) — System Design (read day)

  • Read: Design Ticketmaster — focus on seat reservation, concurrency/locking, ticket lifecycle

Evening (7:30–8:30 PM) — Machine Coding

  • Design a Movie Ticket Booking System — entities: Cinema, Screen, Show, Seat, Booking. Implement seat reservation with conflict handling.

DP (carry to Friday or do after DSA if time)

  • Climbing Stairs
  • House Robber

Day 8 — Wed, 01/04/2026

Patterns: Cyclic Sort · DP — Knapsack

Morning block (4:45–6:15) — DSA

  • Missing Number
  • Find All Numbers Disappeared
  • First Missing Positive

Morning block (6:15–7:15) — System Design (write from memory day)

  • Write from memory: Ticketmaster — sketch seat lock flow, payment integration, API. Then compare.

Evening (7:30–8:30 PM) — Machine Coding

  • Design a Vending Machine — states: Idle, HasMoney, Dispensing. Implement state machine pattern with OOP.

DP (carry to Friday or do after DSA if time)

  • Partition Equal Subset Sum
  • Target Sum

Day 9 — Thu, 02/04/2026

Patterns: Monotonic Stack · DP — String

Morning block (4:45–6:15) — DSA

  • Daily Temperatures
  • Remove K Digits
  • Sum of Subarray Minimums

Morning block (6:15–7:15) — System Design (read day)

  • Read: Design WhatsApp — focus on message delivery guarantees, storage, online presence

DP (carry to Friday or do after DSA if time)

  • Longest Palindromic Subsequence
  • Edit Distance

Day 10 — Fri, 03/04/2026

Patterns: Prefix Sum · DP — Fibonacci

Morning block (5:00–6:30) — DSA + DP catchup

  • Subarray Sum Equals K
  • Binary Subarrays With Sum
  • Maximum Size Subarray Sum Equals K
  • Jump Game
  • Min Cost Climbing Stairs

Evening (6:00–8:30 PM) — Machine Coding deep session

  • Design a Chat Application (simplified WhatsApp) — entities: User, Message, ChatRoom, MessageStore. Focus on message state (sent/delivered/read). Full session: design → code → extend with group chat.

Day 11 — Mon, 06/04/2026

Patterns: Two Heaps · DP — Knapsack

Morning block (4:45–6:15) — DSA

  • Kth Largest Element
  • Top K Frequent Elements
  • Find Median from Data Stream

Morning block (6:15–7:15) — System Design (write from memory day)

  • Write from memory: WhatsApp design — message queuing, delivery receipt, storage. Then compare.

Evening (7:30–8:30 PM) — Machine Coding

  • Design an Elevator System — entities: ElevatorSystem, Elevator, Request, Direction. Implement scheduling (SCAN or FCFS).

DP (carry to Friday or do after DSA if time)

  • Subset Sum
  • Target Sum

Day 12 — Revision — Tue, 07/04/2026

DSA Revision

  • Re-solve failed problems from Days 7–11
  • Re-solve slow problems from Days 7–11

System Design Revision (morning)

  • Review Ticketmaster + WhatsApp. Write the API contracts for each (endpoints, params, response).

Machine Coding Revision (evening)

  • Pick your weakest OOP problem from Phase 2. Rebuild from blank page with class diagram first. Time yourself.

Phase 3 — Trees + Graphs + DP


Day 13 — Wed, 08/04/2026

Patterns: Tree BFS · DP — String

Morning block (4:45–6:15) — DSA

  • Level Order Traversal
  • Zigzag Traversal
  • Right Side View

Morning block (6:15–7:15) — System Design (read day)

  • Read: Design FB News Feed — focus on fanout (push vs pull), ranking, pagination

Evening (7:30–8:30 PM) — Machine Coding

  • Design a Social Media Feed — entities: User, Post, FeedService, FeedItem. Implement follow/unfollow and generate feed for a user.

DP (carry to Friday or do after DSA if time)

  • Longest Palindromic Substring
  • Word Break

Day 14 — Thu, 09/04/2026

Patterns: Tree DFS · DP — Fibonacci

Morning block (4:45–6:15) — DSA

  • Path Sum
  • Diameter of Binary Tree
  • Binary Tree Maximum Path Sum

Morning block (6:15–7:15) — System Design (write from memory day)

  • Write from memory: FB News Feed — fanout strategy, ranking model, feed storage. Then compare.

DP (carry to Friday or do after DSA if time)

  • House Robber
  • Climbing Stairs

Day 15 — Fri, 10/04/2026

Patterns: Graphs BFS/DFS · DP — Knapsack

Morning block (5:00–6:30) — DSA + DP catchup

  • Number of Provinces
  • Course Schedule
  • Clone Graph
  • Partition Equal Subset Sum
  • Target Sum

Evening (6:00–8:30 PM) — Machine Coding deep session

  • Design a Ride-Sharing App (simplified Uber) — entities: Driver, Rider, Trip, Location, MatchingService. Full session: design → code → extend with trip tracking.

Day 16 — Mon, 13/04/2026

Patterns: Island / Matrix · DP — String

Morning block (4:45–6:15) — DSA

  • Number of Islands
  • Max Area of Island
  • Flood Fill

Morning block (6:15–7:15) — System Design (read day)

  • Read: Design Uber — focus on geo-indexing, driver matching, trip state machine

Evening (7:30–8:30 PM) — Machine Coding

  • Design a Rate Limiter — algorithms: Token Bucket or Sliding Window Counter. Entities: RateLimiter, Rule, Counter. Implement per-user rate limiting.

DP (carry to Friday or do after DSA if time)

  • Edit Distance
  • Longest Palindromic Subsequence

Day 17 — Tue, 14/04/2026

Patterns: Topological Sort · DP — Fibonacci

Morning block (4:45–6:15) — DSA

  • Course Schedule
  • Course Schedule II
  • Alien Dictionary

Morning block (6:15–7:15) — System Design (write from memory day)

  • Write from memory: Uber design — matching algorithm, trip states, surge pricing model. Then compare.

DP (carry to Friday or do after DSA if time)

  • Jump Game
  • Min Cost Climbing Stairs

Day 18 — Revision — Wed, 15/04/2026

DSA Revision

  • Re-solve failed problems from Days 13–17
  • Re-solve slow problems from Days 13–17

System Design Revision (morning)

  • Review FB News Feed + Uber. Draw the data flow diagram for each from memory.

Machine Coding Revision (evening)

  • Re-implement Rate Limiter using a different algorithm than you used on Day 16. Compare both approaches.

Phase 4 — Advanced Patterns


Day 19 — Thu, 16/04/2026

Patterns: Subsets · DP — Knapsack

Morning block (4:45–6:15) — DSA

  • Subsets
  • Subsets II
  • Permutations

Morning block (6:15–7:15) — System Design (read day)

  • Read: Design YouTube — focus on video upload pipeline, CDN, streaming, metadata

DP (carry to Friday or do after DSA if time)

  • Subset Sum
  • Target Sum

Day 20 — Fri, 17/04/2026

Patterns: Backtracking · DP — String

Morning block (5:00–6:30) — DSA + DP catchup

  • Combination Sum
  • Generate Parentheses
  • Word Search
  • Word Break
  • Edit Distance

Evening (6:00–8:30 PM) — Machine Coding deep session

  • Design a Video Streaming Service (simplified YouTube) — entities: VideoUploader, VideoProcessor, StreamingService, User, Video. Focus on upload states and metadata. Full session: design → code → extend with watch history.

Day 21 — Mon, 20/04/2026

Patterns: Trie · DP — Fibonacci

Morning block (4:45–6:15) — DSA

  • Implement Trie
  • Design Add and Search Words
  • Search Suggestions System

Morning block (6:15–7:15) — System Design (write from memory day)

  • Write from memory: YouTube design — upload pipeline, transcoding, CDN delivery. Then compare.

Evening (7:30–8:30 PM) — Machine Coding

  • Design a Search Autocomplete System — entities: TrieNode, Trie, SearchService. Implement prefix search and top-k suggestions.

DP (carry to Friday or do after DSA if time)

  • House Robber
  • Climbing Stairs

Day 22 — Tue, 21/04/2026

Patterns: Union Find · DP — Knapsack

Morning block (4:45–6:15) — DSA

  • Redundant Connection
  • Is Graph Bipartite
  • Number of Provinces

Morning block (6:15–7:15) — System Design (read day)

  • Read: Design a Rate Limiter — focus on token bucket vs leaky bucket vs sliding window, distributed rate limiting

DP (carry to Friday or do after DSA if time)

  • Partition Equal Subset Sum
  • Target Sum

Day 23 — Wed, 22/04/2026

Patterns: Greedy · DP — String

Morning block (4:45–6:15) — DSA

  • Valid Palindrome II
  • Maximum Length of Pair Chain
  • Remove Duplicate Letters

Morning block (6:15–7:15) — System Design (write from memory day)

  • Write from memory: Rate Limiter — token bucket algorithm, Redis-based distributed implementation. Then compare.

Evening (7:30–8:30 PM) — Machine Coding

  • Design a Notification Service — entities: NotificationService, Channel (Email/SMS/Push), NotificationQueue, User. Implement multi-channel dispatch with retry logic.

DP (carry to Friday or do after DSA if time)

  • Longest Palindromic Subsequence
  • Word Break

Day 24 — Revision — Thu, 23/04/2026

DSA Revision

  • Re-solve failed problems from Days 19–23
  • Re-solve slow problems from Days 19–23

System Design Revision (morning)

  • Review YouTube + Rate Limiter. Write capacity estimates for each (storage, QPS, bandwidth) from memory.

Machine Coding Revision (evening)

  • Pick any 2 machine coding problems from Phase 4. Solve both back-to-back with timer (45 min each). No class diagram — go straight from blank page to code. Measure speed.

Phase 5 — Interview Simulation


Day 25 — Fri, 24/04/2026

Mixed DSA (full timed session)

  • Two Sum (timer: 15 min)
  • Merge Intervals (timer: 20 min)
  • Binary Tree Level Order (timer: 20 min)
  • Number of Islands (timer: 20 min)
  • Top K Frequent Elements (timer: 25 min)
  • Word Break (timer: 25 min)
  • Course Schedule (timer: 25 min)
  • Sliding Window Maximum (timer: 30 min)

Evening — System Design Mock

  • Mock: Design FB Live Comments — 45 min, no notes. Focus: real-time delivery, fan-out at scale, comment ordering.

Day 26 — Mon, 27/04/2026

Mixed DSA (full timed session)

  • 3Sum (timer: 25 min)
  • Minimum Window Substring (timer: 30 min)
  • Clone Graph (timer: 25 min)
  • House Robber (timer: 20 min)
  • Coin Change (timer: 25 min)
  • Insert Interval (timer: 20 min)
  • Longest Consecutive Sequence (timer: 25 min)
  • Valid Parentheses (timer: 15 min)

Evening — Machine Coding Mock

  • Mock: Design a Food Delivery App (Zomato/Swiggy) — 60 min. Entities: Restaurant, Menu, Order, DeliveryAgent. Implement order lifecycle from blank page.

Day 27 — Tue, 28/04/2026

Mixed DSA (full timed session)

  • Kth Largest Element (timer: 20 min)
  • Binary Tree Maximum Path Sum (timer: 30 min)
  • Product of Array Except Self (timer: 20 min)
  • Subarray Sum Equals K (timer: 25 min)
  • Course Schedule II (timer: 25 min)
  • Jump Game (timer: 20 min)
  • Meeting Rooms II (timer: 20 min)
  • Generate Parentheses (timer: 25 min)

Evening — System Design Mock

  • Mock: Design YouTube Top K (trending videos) — 45 min, no notes. Focus: counting at scale, approximation, time windows.

Day 28 — Revision — Wed, 29/04/2026

DSA Revision

  • Re-solve failed problems from Phase 5 simulation days
  • Re-solve slow problems (anything over 1.5× target timer)

System Design Revision (morning)

  • Write 1-page summaries (from memory) for: FB Live Comments + YouTube Top K

Machine Coding Revision (evening)

  • Full end-to-end mock: Design a Hotel Booking System — 60 min, blank page. Entities: Hotel, Room, Booking, Guest, Payment. Debrief: what felt shaky, what was fast.

Phase 6 — Final Retention


Day 29 — Thu, 30/04/2026

Worst 10 problems — re-solve all

  • Your 10 most-flagged problems across all phases (fill in as you go)
  • _________________________
  • _________________________
  • _________________________
  • _________________________
  • _________________________
  • _________________________
  • _________________________
  • _________________________
  • _________________________
  • _________________________

Evening — System Design final sweep

  • Review all 8 system design cases studied. Write 2 key decisions per system in a single list.

Day 30 — Fri, 01/05/2026

Random timed problems (5 problems, timer on)

  • Problem 1 — random pick from LeetCode study plan
  • Problem 2 — random pick
  • Problem 3 — random pick
  • Problem 4 — random pick
  • Problem 5 — random pick

Final machine coding mock

  • Design a problem you have NOT done before. Blank page, 60 min. No class diagram warm-up — go cold.

Appendix (1 day)

  • Powers of two table
  • Latency numbers
  • Throughput calculations

System Design Cases — Tracker

#CaseReadWritten from memoryDeep dive done
1Bit.lyDay 1Day 2
2DropboxDay 3Day 4
3TicketmasterDay 7Day 8
4WhatsAppDay 9Day 11
5FB News FeedDay 13Day 14
6UberDay 16Day 17
7YouTubeDay 19Day 21
8Rate LimiterDay 22Day 23

Machine Coding Problems — Tracker

#ProblemPhaseOOP focusDone
1Parking Lot1Spot types, vehicle hierarchy
2LRU Cache1HashMap + DLL composition
3Library Management1Loan lifecycle, reservations
4Movie Ticket Booking2Seat lock, concurrency
5Vending Machine2State machine pattern
6Chat App (simplified)2Message states, rooms
7Elevator System2Scheduling algorithm
8Social Media Feed3Follow graph, feed gen
9Ride-Sharing App3Trip state machine
10Rate Limiter3Algorithm choice, distributed
11Video Streaming (simplified)4Upload pipeline, states
12Search Autocomplete4Trie + top-k
13Notification Service4Multi-channel, retry
14Food Delivery App5 (mock)Order lifecycle
15Hotel Booking System5 (mock)Booking conflict, payment
16Unknown (cold)6 (final)Blank page fluency