Interview DSA Roadmap
Complexity, arrays, strings, hashing, basic searching/sorting, linked lists, stacks, queues, recursion.
Stage A — Beginner
Complexity, arrays, strings, hashing, basic searching/sorting, linked lists, stacks, queues, recursion.
Stage B — Core
Trees, BST, heaps, binary search patterns, two pointers, sliding windows, prefix sums, greedy, backtracking, basic DP.
Stage C — Strong intermediate
Graphs, shortest paths, MST, tries, DSU, advanced DP, monotonic structures, range-query structures.
Stage D — Advanced
SCC, bridges, flows, HLD, LCA, persistent structures, suffix structures, advanced DP optimization, number theory, computational geometry.
Stage E — Interview readiness
Timed mixed sets, explain-before-code practice, complexity analysis, debugging, mock interviews, behavioral communication, and reviewing failed problems.
Mapping to this course
11–14, 21–26, basic parts of 22 15–16, 28–33, 36–38, advanced parts of 22
In the interview itself: restate the problem and ask about constraints; propose a brute force and its complexity; improve it, naming the pattern (Module 64); state the final complexity; code it while talking; test it by hand on a small and an edge-case input.
Quiz
? What should you do before writing code in an interview?
+ Clarify constraints, state a brute force, then improve it and give the complexity :: Explain-before-code.
- Start coding immediately :: Risky.
- Ask for the solution :: No.
- Only discuss complexity :: Also discuss the approach.
? Which stage introduces graphs and shortest paths?
+ Stage C :: Strong intermediate.
- Stage A :: Basics.
- Stage B :: Trees and core patterns.
- Stage E :: Readiness.
? After a failed practice problem, what helps most? (select all that apply)
+ Write down which pattern you missed and why :: Builds recognition.
+ Re-solve it from scratch a few days later :: Spaced repetition.
- Memorise the code verbatim :: Fragile.
+ Find two related problems using the same pattern :: Transfer.