rgoussu@goussu: ~/library/algorithms/exercises
~/library/algorithms/exercises cat interview-prep-track.md

Interview-prep track

# A NeetCode-150-shaped syllabus — core structures built from scratch, then the pattern catalog milestone by milestone, with spaced re-solves baked in.

Exercisesaved 2026-08-08source #exercise#algorithms#data-structures#interview-prep#neetcode

Goal

Work through the NeetCode 150 as a structured track rather than a grab bag: build the underlying structures first, then clear the pattern families in a deliberate order, with spaced re-solves so fluency survives past the week you practiced it. The skill proved is the one interviews actually grade — recognizing which of ~20 patterns a problem is wearing, and reasoning aloud to a working solution.

Subject: full brief & instructions

Practices

  • Algorithms & data structures — the entire concept: structures, algorithm families, the pattern catalog, and the deliberate-practice protocol this track operationalizes.
  • Performance engineering — big-O instincts against real constant factors, when you benchmark your own structures.

Milestones

Protocol for every milestone: attempt each problem hard for 20–30 minutes before reading any solution; log the ones that beat you and re-solve them from scratch 3+ days later; talk aloud while solving. Track attempts in todos/ or journal/, not here.

  1. Structures from scratch. Implement dynamic array, hash map (with collision handling), min-heap, trie, and union-find, each with tests and a written note on its complexity and failure modes. The rest of the track uses your mental model of these.
  2. Arrays & hashing → two pointers → sliding window. The bread-and-butter patterns; finish able to state why the window/pointer move preserves correctness.
  3. Stack, binary search, linked list. Monotonic stack, "binary search the answer", fast & slow pointers.
  4. Trees, tries, heaps. Traversals recursive and iterative, BST invariants, top-K with a heap.
  5. Graphs, intervals, greedy. BFS/DFS, topological sort, Dijkstra; interval merge/overlap; greedy — with a one-line argument for why greedy is safe each time.
  6. Dynamic programming & backtracking. 1-D then 2-D DP (state the subproblem in one sentence before coding), permutations/subsets/pruning.

Stretch goals

  • Timed mock interviews (45 min, talking aloud, no editor autocomplete), recorded and reviewed.
  • The hard tier of each pattern on NeetCode, or contest problems (Advent of Code, Project Euler) as cross-training.
  • Re-implement milestone 1 in Go and Rust — see Deep dive Go and Deep dive Rust — as language practice.

Related