Skip to content

Study Plan

Three roadmaps adapted around the DSA topics in this site. Pick the one that matches your timeline, then use the must-do list to focus your practice.

1 Week (Last-Minute)

You don't have time to master everything — prioritize pattern recognition and communication.

DayFocus
1–2Read the method notes (Interview Process, Communication, Big-O) + drill the must-do list to recognize problem shapes
3Arrays, Strings, Binary Search, Hashmap
4Linked List, Graph, BFS/DFS, Trees
5Divide & Conquer, Sliding Window, Two Pointers, Heap/Stack
6Backtracking + Dynamic Programming (the two highest-leverage topics)
7Mock interviews (timed, no hints) + Behavioral STAR stories

2 Weeks (Refresher)

You know the basics but need to sharpen pattern recognition and speed.

Week 1 — Core foundations: recursion, hashmap patterns, tree traversals, BFS/DFS, two pointers, prefix sum. One topic per day, 3–5 problems each.

Week 2 — Advanced patterns: sliding window, heap, binary search on answer, divide and conquer, DP (top-down then bottom-up), backtracking. Weekends: timed mock interviews covering the full stack.

6 Weeks (Beginner)

You're building fluency from scratch. Go slow enough to internalize each pattern.

  • Allocate roughly one topic per day from the DSA Roadmap in this site.
  • Before reading any explanation or solution, attempt the problem yourself for at least 20 minutes. Struggle is the learning mechanism.
  • Cover bonus topics (Trie, Union-Find, Topological Sort, Difference Array) in the final week.
  • Reserve the last weekend entirely for mock interviews.

Must-Do Problems (Curated)

A focused list by family. Solve these and you will have seen the most common interview patterns.

Array / String

  • LC 1 — Two Sum
  • LC 121 — Best Time to Buy and Sell Stock
  • LC 238 — Product of Array Except Self
  • LC 53 — Maximum Subarray
  • LC 49 — Group Anagrams
  • LC 76 — Minimum Window Substring
  • LC 3 — Longest Substring Without Repeating Characters

Linked List

  • LC 206 — Reverse Linked List
  • LC 21 — Merge Two Sorted Lists
  • LC 141 — Linked List Cycle
  • LC 25 — Reverse Nodes in k-Group
  • LC 146 — LRU Cache

Tree

  • LC 104 — Maximum Depth of Binary Tree
  • LC 102 — Binary Tree Level Order Traversal
  • LC 98 — Validate Binary Search Tree
  • LC 236 — Lowest Common Ancestor of a Binary Tree
  • LC 124 — Binary Tree Maximum Path Sum

Graph / BFS / DFS

  • LC 200 — Number of Islands
  • LC 207 — Course Schedule
  • LC 994 — Rotting Oranges
  • LC 127 — Word Ladder
  • LC 133 — Clone Graph

Heap / Sort

  • LC 215 — Kth Largest Element in an Array
  • LC 23 — Merge k Sorted Lists
  • LC 56 — Merge Intervals

Hash / Sliding Window

  • LC 424 — Longest Repeating Character Replacement
  • LC 560 — Subarray Sum Equals K

Binary Search

  • LC 33 — Search in Rotated Sorted Array
  • LC 34 — Find First and Last Position of Element in Sorted Array
  • LC 875 — Koko Eating Bananas

Dynamic Programming

  • LC 70 — Climbing Stairs
  • LC 198 — House Robber
  • LC 322 — Coin Change
  • LC 300 — Longest Increasing Subsequence
  • LC 72 — Edit Distance
  • LC 152 — Maximum Product Subarray
  • LC 416 — Partition Equal Subset Sum

Backtracking

  • LC 46 — Permutations
  • LC 78 — Subsets
  • LC 22 — Generate Parentheses

Key study principle: struggle with the problem and plan your own approach before reading any solution — that is how patterns stick.

Further reading: EngineerPro — Coding DSA Interview at Big Tech (https://engineerpro-team.github.io/coding-book/)