The advice to 'solve 500 LeetCode problems' fails most candidates not because the number is wrong, but because there's no sequence. You can grind for months and still freeze on a medium graph problem in the interview if you didn't build the right foundations first. This plan runs 60 days in a fixed order — arrays before trees, trees before graphs, graphs before dynamic programming — with timed mocks built in from week four and behavioral prep woven throughout, not saved as an afterthought for the last week.
How to Use This Plan
Time commitment: 2–3 hours per day, 6 days per week. Total: ~150 hours over 60 days.
What you need before starting: - Basic programming in one language (Python, Java, or C++) - Comfortable with loops, arrays, functions, basic OOP - LeetCode account (free tier is sufficient for this plan)
Tracking your progress: - Keep a problem log: date | problem name | difficulty | time taken | approach | mistakes - Revisit problems you solved more than 3 weeks ago — retention requires repetition - Score yourself: Easy solved in <15 min = good. Medium in <30 min = good. Hard in <45 min = good.
What this plan does NOT cover: system design (requires a separate 30-day plan), behavioral interviews (see our STAR method guide). Both are required for Tier-1 companies. Plan 10–15 extra minutes daily for behavioral prep in parallel.
Weeks 1–2: Arrays, Strings, and Two Pointers
Week 1: Arrays and prefix sums (Days 1–7) - Day 1–2: Brute force array problems — max subarray, find duplicates, rotate array - Day 3–4: Prefix sums — range sum query, subarray sum equals k - Day 5–6: Sliding window — longest substring without repeating characters, max sum subarray of size k - Day 7: Review + revisit weak problems from the week
Week 2: Strings and two pointers (Days 8–14) - Day 8–9: String manipulation — anagram check, palindrome, reverse words - Day 10–11: Two pointers — container with most water, trapping rain water, 3-sum - Day 12–13: Binary search — first and last position, rotated sorted array, search 2D matrix - Day 14: Mock session — 3 problems timed at 30 min each with no hints
Target by end of week 2: 40 problems solved. Comfortable with all easy, attempting mediums.
Weeks 3–4: Linked Lists, Stacks, Queues, and Trees
Week 3: Linked lists and stacks (Days 15–21) - Day 15–16: Linked list basics — reverse, find middle, detect cycle (Floyd's algorithm) - Day 17–18: Merge sorted lists, remove Nth node from end, copy list with random pointer - Day 19–20: Stacks — valid parentheses, min stack, next greater element, evaluate expression - Day 21: Review + 5 mixed problems from weeks 1–3
Week 4: Binary trees and BST (Days 22–28) - Day 22–23: Tree traversals — inorder, preorder, postorder (recursive and iterative) - Day 24–25: Tree problems — height, diameter, lowest common ancestor, path sum - Day 26–27: BST — validate BST, kth smallest, convert sorted array to BST - Day 28: Mock session — 4 problems, 2 linked list + 2 tree, timed
Target by end of week 4: 90 problems solved. Confident on easy, comfortable on medium.
Weeks 5–6: Graphs, Heaps, and Dynamic Programming
Week 5: Graphs and heaps (Days 29–42) - Day 29–31: Graph basics — BFS and DFS, connected components, number of islands, course schedule - Day 32–33: Shortest path — Dijkstra, Bellman-Ford (concept), topological sort - Day 34–35: Heap/priority queue — kth largest element, merge k sorted lists, top k frequent elements - Day 36: Mock session — 3 graph problems timed
Week 6: Dynamic programming (Days 37–42) - Day 37–38: 1D DP — climbing stairs, house robber, coin change - Day 39–40: 2D DP — longest common subsequence, 0/1 knapsack, minimum path sum - Day 41–42: DP on trees and intervals — burst balloons (concept), unique BSTs
Target by end of week 6: 150 problems solved. Able to code DP solutions for medium problems.
Weeks 7–8: Mock Interviews and Pattern Consolidation
Week 7: Timed mock sessions (Days 43–49) - Three 60-minute mock sessions per week (2 problems each, competitive format) - Identify your 3 weakest pattern categories and do focused drills on those - Start writing down your problem-solving approach in English before coding — this is what you will do in real interviews
Week 8: Company-specific preparation (Days 50–56) - Flipkart/Amazon: practice OOP design questions + behavioral LP questions - Google/Microsoft: practice harder DP and graph problems + one system design concept per day - TCS/Infosys: practice OA format timed tests — speed matters more than difficulty
Days 57–60: Final review - Revisit all problems you marked as weak in your problem log - Do one full 3-hour mock interview each day - Practice talking through your solution out loud — interviews are about communication, not just code
Target by end of 60 days: 200+ problems solved, 10+ mock sessions, comfortable in a 45-minute technical interview.
Resources and Tools
The resources that matter are fewer than most lists suggest. The candidates who clear FAANG rounds are not using 12 different platforms — they're using 2 or 3 deeply.
Problem banks (in order of recommendation): 1. LeetCode (free tier) — the standard; company tags for targeted practice. The paid tier is not necessary for this plan. 2. NeetCode.io — curated 150-problem list with video explanations; the best starting point if you're new to DSA or coming back after a break 3. InterviewBit — good for FAANG-India preparation; less popular but high quality problems
For system design (parallel prep): - Grokking the System Design Interview (Educative.io) - ByteByteGo by Alex Xu — YouTube channel (free) or book. The YouTube channel alone covers 90% of what you need for Tier-2 company system design.
For behavioral interviews — the most neglected part: Don't save behavioral prep for the last week. Candidates who practice behavioral answers in week 1 have significantly better answers by week 8 because the structure becomes automatic. Talking through STAR answers out loud, with someone (or an AI) evaluating them, is the only way to find out whether your answer actually sounds structured to a listener — or whether it only feels structured in your head.
Time management in an actual interview: - 2 min: understand the problem, repeat constraints, ask about edge cases - 5 min: brute force approach, confirm with interviewer - 15 min: optimal approach, code it - 3 min: test with examples, discuss edge cases - 5 min: complexity analysis (time and space)