You know the patterns. You understand complexity analysis. You can discuss trade-offs. But none of that matters if your preparation is scattered, if you spend three weeks on trees and zero on graphs, if you never do a mock interview, or if you burn out two weeks before the actual date.
A study plan is not optional. It is the difference between "I studied for three months" and "I prepared effectively for three months." This chapter gives you concrete, week-by-week schedules for 1-month, 2-month, and 3-month timelines. Not vague advice like "practice LeetCode." Specific numbers, specific topics, specific daily routines.
Pick the timeline that matches your schedule, and follow it.
Three factors determine which plan is right for you:
| Timeline | Daily Hours | Best For |
|---|---|---|
| 1 month | 3-4 hours | Experienced developers, refreshing known material |
| 2 months | 2-3 hours | Developers with some DSA background, moderate practice needed |
| 3 months | 1.5-2 hours | Career changers, people learning patterns for the first time |
Not all topics appear equally often. Spend more time on high-frequency topics and less on rare ones. This ranking is based on patterns from thousands of interview questions across FAANG and top companies.
| Priority | Topic | Frequency | Typical Problems |
|---|---|---|---|
| Tier 1 (Must master) | Arrays & Hashing | Very High | Two Sum, Group Anagrams, Top K Frequent |
| Tier 1 | Two Pointers | Very High | 3Sum, Container With Most Water |
| Tier 1 | Sliding Window | Very High | Longest Substring, Minimum Window |
| Tier 1 | Binary Search | Very High | Search Rotated Array, Koko Eating Bananas |
| Tier 1 | Trees (BFS/DFS) | Very High | Validate BST, Level Order, Lowest Common Ancestor |
| Tier 1 | Graphs (BFS/DFS) | High | Number of Islands, Course Schedule |
| Tier 2 (Know well) | Linked Lists | High | Reverse, Merge, Detect Cycle |
| Tier 2 | Stack / Queue | High | Valid Parentheses, Daily Temperatures |
| Tier 2 | Heap / Priority Queue | High | Merge K Sorted Lists, Kth Largest |
| Tier 2 | Dynamic Programming (1D) | High | Climbing Stairs, House Robber, Coin Change |
| Tier 2 | Backtracking | Medium-High | Subsets, Permutations, N-Queens |
| Tier 3 (Know basics) | Dynamic Programming (2D) | Medium | Longest Common Subsequence, Edit Distance |
| Tier 3 | Tries | Medium | Word Search II, Implement Trie |
| Tier 3 | Union Find | Medium | Number of Connected Components |
| Tier 3 | Intervals | Medium | Merge Intervals, Meeting Rooms |
| Tier 4 (If time allows) | Bit Manipulation | Low | Single Number, Counting Bits |
| Tier 4 | Math / Geometry | Low | Pow(x,n), Rotate Image |
| Tier 4 | Advanced Graph (Dijkstra, Topo Sort) | Low-Medium | Network Delay Time, Alien Dictionary |
Tier 1 and Tier 2 cover roughly 80% of interview questions. If time is limited, do not touch Tier 4 until Tier 1 and 2 are solid.
This plan is for developers who already know data structures and have some problem-solving experience. You are refreshing and sharpening, not learning from scratch.
Daily structure: 3-4 hours
| Day | Topic | Problems | Focus |
|---|---|---|---|
| 1 | Arrays & Hashing | 4-5 | Two Sum, Group Anagrams, Valid Anagram, Top K Frequent |
| 2 | Two Pointers | 4-5 | Valid Palindrome, 3Sum, Container With Most Water |
| 3 | Sliding Window | 3-4 | Best Time to Buy Stock, Longest Substring Without Repeating, Minimum Window Substring |
| 4 | Binary Search | 3-4 | Search Rotated Array, Find Minimum in Rotated, Koko Eating Bananas |
| 5 | Stacks | 3-4 | Valid Parentheses, Min Stack, Daily Temperatures |
| 6 | Linked Lists | 3-4 | Reverse Linked List, Merge Two Sorted, Linked List Cycle |
| 7 | Review + weak spots | 2-3 | Redo any problem you struggled with |
Problems per day: 3-5 Total for week: ~25-30
| Day | Topic | Problems | Focus |
|---|---|---|---|
| 1 | Trees (DFS) | 4-5 | Max Depth, Same Tree, Invert Binary Tree, Validate BST |
| 2 | Trees (BFS + BST) | 3-4 | Level Order Traversal, Lowest Common Ancestor, Kth Smallest |
| 3 | Graphs (BFS/DFS) | 3-4 | Number of Islands, Clone Graph, Course Schedule |
| 4 | Heaps | 3-4 | Kth Largest in Stream, Merge K Sorted Lists, Find Median |
| 5 | 1D DP | 3-4 | Climbing Stairs, House Robber, Coin Change, Longest Increasing Subsequence |
| 6 | Backtracking | 3-4 | Subsets, Combination Sum, Permutations, Word Search |
| 7 | Review + weak spots | 2-3 | Focus on patterns you found hardest |
Problems per day: 3-5 Total for week: ~25-30
| Day | Topic | Problems | Focus |
|---|---|---|---|
| 1 | 2D DP | 3 | Unique Paths, Longest Common Subsequence, Edit Distance |
| 2 | Intervals + Greedy | 3-4 | Merge Intervals, Non-Overlapping Intervals, Jump Game |
| 3 | Tries + Union Find | 3 | Implement Trie, Word Search II, Number of Connected Components |
| 4 | Weak area 1 | 3-4 | Whatever pattern gave you the most trouble |
| 5 | Weak area 2 | 3-4 | Second weakest pattern |
| 6 | Mixed practice | 4-5 | Random problems from all topics, timed |
| 7 | Mock interview 1 | 2 | 45 minutes, explain aloud, time yourself |
| Day | Topic | Focus |
|---|---|---|
| 1 | Mock interview 2 | Full simulation with a friend or platform |
| 2 | Review mock feedback | Redo problems you failed or were slow on |
| 3 | Mock interview 3 | Different topic mix |
| 4 | Company-tagged problems | Solve 4-5 problems tagged for your target company |
| 5 | Company-tagged + patterns | Continue company-specific prep |
| 6 | Light review | Revisit your notes, review key patterns |
| 7 | Rest | Light reading only, no heavy problem-solving |
Total problems over 4 weeks: ~100-120
More breathing room. You can learn patterns properly, practice each one with enough problems to build intuition, and still have time for mocks.
Daily structure: 2-3 hours
| Week | Topics | Problems/Day | Weekly Total |
|---|---|---|---|
| 1 | Arrays, Hashing, Two Pointers, String basics | 3 | ~20 |
| 2 | Sliding Window, Binary Search, Sorting patterns | 3 | ~20 |
Spend extra time understanding each pattern before solving. Read the pattern explanation, study 1-2 solved examples, then solve on your own.
| Week | Topics | Problems/Day | Weekly Total |
|---|---|---|---|
| 3 | Linked Lists, Stacks, Queues, Trees (DFS) | 3 | ~20 |
| 4 | Trees (BFS, BST), Heaps, Graphs (BFS/DFS) | 3 | ~20 |
| Week | Topics | Problems/Day | Weekly Total |
|---|---|---|---|
| 5 | 1D DP, Backtracking, Greedy | 2-3 | ~18 |
| 6 | 2D DP, Intervals, Tries, Union Find | 2-3 | ~18 |
These topics are harder. Reduce problem count and increase study time per problem. For DP especially, spend 10-15 minutes understanding the recurrence before coding.
| Week | Focus | Activity |
|---|---|---|
| 7 | Mock interviews (2-3), mixed practice, weak area review | Simulate real conditions: 45 min, whiteboard or shared doc |
| 8 | Company-tagged problems, final mocks (2), light review | Focus on your target company's most-asked patterns |
Total problems over 8 weeks: ~140-160
This is the plan for people who are learning many patterns for the first time or have been away from DSA for years. The pace is sustainable, and there is time to truly internalize each pattern.
Daily structure: 1.5-2 hours
| Week | Topics | Problems/Day | Approach |
|---|---|---|---|
| 1 | Arrays, Hashing | 2 | Study pattern first, then solve. Read solutions if stuck after 20 min. |
| 2 | Two Pointers, Sliding Window | 2 | Practice explaining your approach aloud. |
| 3 | Binary Search, Stacks | 2 | Focus on identifying WHEN to use each pattern. |
| 4 | Linked Lists, Sorting patterns | 2 | Implement from scratch, do not just read code. |
Weekly total: ~14 problems Month total: ~55 problems
| Week | Topics | Problems/Day | Approach |
|---|---|---|---|
| 5 | Trees (DFS, BFS, BST) | 2-3 | Draw the tree. Trace the recursion by hand. |
| 6 | Graphs (BFS, DFS, Topological Sort) | 2-3 | Always build the adjacency list yourself. |
| 7 | 1D DP, Memoization | 2 | Write recurrence first, then code. |
| 8 | Backtracking, Greedy, Heaps | 2-3 | Focus on decision trees for backtracking. |
Weekly total: ~15 problems Month total: ~60 problems
| Week | Focus | Activity |
|---|---|---|
| 9 | 2D DP, Intervals, Tries, Union Find | 2 new problems/day from Tier 3 topics |
| 10 | Mixed practice (all patterns) | Random problems, timed (25-35 min each) |
| 11 | Mock interviews (3-4) + company-tagged problems | Full simulations, review after each |
| 12 | Final mocks (2), review notes, rest before interviews | Light practice, focus on confidence |
Monthly total: ~50 problems Grand total over 3 months: ~165 problems
Whatever timeline you choose, your daily session should follow this structure:
| Phase | Time | Activity |
|---|---|---|
| Warm-up | 5 min | Review yesterday's problems. Can you recall the approach without looking? |
| Study | 10-15 min | Read the pattern or technique for today's topic (if learning new material) |
| Solve | 25-35 min per problem | Attempt the problem. If stuck after 15-20 min, look at a hint (not the full solution). |
| Review | 10 min per problem | After solving (or reading solution), understand every line. Write a 1-2 sentence summary of the key insight. |
| Reflect | 5 min | Add the problem to your tracking sheet. Note what pattern it used and what tripped you up. |
The review phase is where learning actually happens. Solving a problem teaches you one thing. Understanding why the solution works teaches you the pattern you can apply to fifty other problems.
If you have been staring at a problem for 20 minutes with no progress, stop trying and look at a hint or the approach description. Here is why:
After reading the hint or approach, close it and implement the solution yourself. That is the critical step. Reading a solution is passive. Implementing it is active learning.
A topic is "done" when you can:
If you cannot do all four, you need more practice on that topic. If you can, move on even if you have not solved every problem on the list. Breadth of patterns matters more than depth on a single pattern.
Start mocks when you have covered at least Tier 1 and Tier 2 topics. For the 1-month plan, that means week 3. For the 2-month plan, week 6. For the 3-month plan, week 9.
Do not wait until you feel "ready." You will never feel ready. Mocks expose gaps that solo practice cannot:
Aim for at least 4-6 mock interviews before your real ones. Use a friend, a study partner, or platforms like Pramp or interviewing.io.
Keep a simple spreadsheet or document with these columns:
| Date | Problem | Topic/Pattern | Difficulty | Solved? | Time | Key Insight | Redo? |
|---|---|---|---|---|---|---|---|
| 3/15 | Two Sum | Hash Map | Easy | Yes | 8 min | Store complement in map | No |
| 3/15 | 3Sum | Two Pointers | Medium | Hint | 35 min | Sort first, skip duplicates | Yes |
| 3/16 | Min Window Substring | Sliding Window | Hard | No | 40 min | Track char frequencies, shrink left | Yes |
The "Redo?" column is the most important one. Every Sunday, revisit problems marked "Yes." If you can solve them cleanly now, remove the mark. If not, they stay on the redo list. This spaced repetition is how patterns move from short-term to long-term memory.
A common mistake is spending all your time learning new patterns without practicing old ones. Another common mistake is grinding problems without learning the underlying pattern first. The right balance:
This means if you have a 2-hour session, spend roughly 80 minutes on today's problems, 25 minutes reviewing past problems, and 15 minutes reading about tomorrow's topic.
| Mistake | Why It Hurts | Fix |
|---|---|---|
| Solving only easy problems | Builds false confidence. Interviews are mediums and hards. | After 2-3 easys per topic, switch to mediums. |
| Spending too long on one topic | Opportunity cost. Knowing 10 patterns okay beats knowing 3 perfectly. | Use the "move on" criteria above. |
| Skipping mocks | Solo practice cannot simulate interview pressure. | Schedule mocks like appointments. |
| Not tracking progress | You cannot fix what you do not measure. | Use the tracking sheet. Five minutes per day. |
| Studying without breaks | Diminishing returns after 2-3 hours. Burnout kills consistency. | Take a day off per week. Shorter focused sessions beat long unfocused ones. |
| Only solving, never reviewing | You forget 80% of what you solved within a week. | Redo problems. The review phase is non-negotiable. |
| Starting with DP and graphs | These are hard. Starting with them kills motivation. | Follow the topic priority order. Build confidence with Tier 1 first. |
The final 7 days are not for learning new material. They are for consolidation and confidence.
| Day | Activity |
|---|---|
| 7 days out | Final mock interview. Identify last weak spots. |
| 6 days out | Solve 3-4 problems from your weak areas. |
| 5 days out | Review your tracking sheet. Redo 3-4 "Redo" problems. |
| 4 days out | Solve 2-3 company-tagged problems. |
| 3 days out | Review your pattern cheat sheet (one sentence per pattern). |
| 2 days out | Light practice: 1-2 easy problems to stay sharp. |
| 1 day out | No coding. Rest. Review your notes if you want, but do not stress-solve. |
Q1: You have exactly 6 weeks to prepare and can dedicate 2 hours per day. How would you allocate your time across topics?
Weeks 1-2 on Tier 1 topics (arrays, hashing, two pointers, sliding window, binary search) with 3 problems per day. Weeks 3-4 on Tier 2 topics (trees, graphs, heaps, stacks, 1D DP) with 2-3 problems per day. Week 5 on Tier 3 topics (2D DP, backtracking, tries) and mixed practice. Week 6 on mock interviews and company-tagged problems. This gives roughly 120 problems with emphasis on the highest-frequency patterns.
Q2: How do you decide whether to keep practicing a topic or move on?
Move on when you can: explain the pattern in one sentence, identify it from a problem description, solve a medium in under 30 minutes, and handle variations. If you fail any of those criteria, do 2-3 more problems on that topic. Do not aim for perfection. Covering more patterns has higher return than mastering one.
Q3: What is more valuable, solving 300 easy problems or 100 problems across all difficulties?
100 problems across all difficulties. Easy problems rarely appear in interviews, and they do not build the reasoning skills needed for mediums and hards. Use easys (2-3 per topic) to understand the basic pattern, then move to mediums. Hards are important for top-tier companies but should make up only 10-15% of your practice.
This plan is a starting point. Adjust it as you discover your specific weaknesses. The goal is not to follow a rigid schedule. The goal is to make consistent, measurable progress every week until interview day.