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.