Day 35 Β· The whiteboard warm-up

Week 5 Checkpoint: Interview Drill I

You will be able to
  • Retrieve Week 5's six topics from memory under light time pressure
  • Complete a 3-problem timed mock (tree / graph / DP) with a think-aloud protocol
  • Diagnose misses into a written error log with named causes
  • Map each Week 5 pattern to its recognition signals
  • Set up an ongoing NeetCode practice cadence for the rest of the program
Today's ~110 minutes
Spaced-rep: full Week 5 deck, fumbles marked15 min
Closed-book recall drills (paper + out-loud)15 min
Timed mock: 3 problems, think-aloud, self-scored40 min
Practice: redo your worst problem cold15 min
Project: error log v1 + practice contract, commit15 min
Cumulative quiz + schedule next drills10 min

Builds on: Day 29 β€” Trees & BSTs Β· Day 31 β€” Graphs, BFS & DFS Β· Day 33 β€” Binary search Β· Day 34 β€” Dynamic programming

The analogy

A pianist does not prepare for a recital by reading sheet music one more time β€” they play the piece with the score CLOSED, hit the wrong notes, and drill exactly those bars. Today is your closed-score day. This week filled your hands with six instruments β€” trees, heaps, graphs, sorting, binary search, DP β€” and today you find out which ones you can actually play from memory, because "I recognized it when I saw the solution" and "I produced it from a blank page" are different skills stored in different places.

The science is boring and bulletproof: retrieval practice β€” struggling to pull something OUT of memory β€” strengthens it far more than re-reading, and the struggle works best right as you are starting to forget, which for Monday's trees is… today. So today you write traversals with the editor closed, solve three timed problems cold, and β€” the part most learners skip β€” write down *why* each miss happened. That error log becomes the most personally valuable document of your interview prep: a list of exactly your weak bars, updated every drill day until Day 179.

Why this matters on the job

Interview coding rounds are retrieval under pressure with an audience β€” the only way to train that is to simulate it, which is why every drill day from here to Day 179 uses timed, closed-book mocks. The think-aloud protocol you practice today (restate β†’ examples β†’ brute force β†’ pattern β†’ complexity β†’ code β†’ trace) is scored by real interviewers as heavily as the code itself. And the error log habit compounds: by Day 179 it will tell you precisely which five patterns to cram in your final week instead of anxiously re-reading everything.

Guided practice

guided 1

Closed-book recall drills

15 min

Editor closed for each recall, then open to diff. Score each honestly in your error log: clean / minor slips / needed the book.

  1. On paper: write the BFS shortest-path skeleton (queue seeding, visited-at-enqueue, parent tracking). Diff against your Day 31 graphs.py.
  2. On paper: the first-occurrence binary search boundary template. Diff against Day 33. Did you keep the invariant comment?
  3. Out loud (60 seconds each, to your rubber duck or AI tutor in listen-only mode): why in-order traversal of a BST is sorted; why the top-k heap is a MIN-heap; why marking visited at pop time explodes the queue.
  4. From memory: the four-step DP method, then the house-robber recurrence with its bases.
  5. Run your spaced-rep deck for all Week 5 cards. Any card you fumble β†’ mark for re-drill and note the day number.
guided 2

The timed mock β€” 3 problems, 40 minutes

40 min

Set a real timer: about 13 minutes per problem, think-aloud protocol throughout, no peeking at your toolkit files. Say steps 1–4 OUT LOUD before writing code.

  1. Tree (13 min): Given a binary tree, return the sum of values of nodes at the DEEPEST level. (Pattern check: "by level" β€” which traversal?)
  2. Graph (13 min): You are given a list of (employee, manager) pairs forming a hierarchy, plus one employee's name. Return how many levels below the CEO that employee sits. (Model it first: nodes? edges? which traversal answers "levels"?)
  3. DP (13 min): A message was encoded by mapping A→1, ..., Z→26 and concatenating. Given a digit string like "226", count the decodings ("BZ", "VF", "BBF" → 3). Careful with the digit 0. (Four steps in comments FIRST.)
  4. When the timer ends, STOP. Grade with the rubric: pattern named before coding (2 pts), working code (3), correct complexity stated (1), edge cases handled (2), clear narration (2) β€” per problem, out of 10.
  5. For each problem scored < 7, write the error-log entry now, while the pain is fresh.

On your own

Redo one, cold

15 min

Take your WORST mock problem, close everything, and re-solve it from a blank file β€” including narration. The goal is a clean 9–10/10 run within 12 minutes.

If you scored 9+ on all three (verify honestly against the rubric), instead attempt this stretch problem cold: given a sorted array and a target, return the COUNT of target's occurrences in O(log n) β€” then check it against your Day 33 toolkit.

No hints today. The struggle is the exercise.

Ship before you stop

Error log v1 + your NeetCode practice contract

Create interview/error_log.md in your practice repo β€” the living document that follows you to Day 179. Sections: (1) today's mock scores with per-problem entries (miss type, cause, fix ritual); (2) the Week 5 pattern-recognition map written from memory in your own words; (3) your practice contract: open the NeetCode roadmap, locate the topics you have covered (arrays/hashing, two pointers, stack, trees, heaps, graphs, binary search, 1-D DP), and commit in writing to a cadence (recommended: 2 problems per week, one familiar pattern, one weak-area, logged here). Commit; you will update this file on Days 84, 112, and 179.

Rubric β€” check what you completed (0/5)

Common mistakes & misconceptions

  • Re-reading lesson notes instead of retrieving. Familiarity is not recall β€” the closed-editor diff exposes the difference in minutes.
  • Skipping the think-aloud steps to "save time." Naming the pattern before coding is the highest-scoring 30 seconds of a real interview.
  • Logging "got it wrong" without a cause. "Marked visited at pop, queue exploded" is fixable; "messed up graphs" is not.
  • Grading yourself on whether the idea was right while the code did not run. Interviews (and Day 42's TestClient) grade running code.
  • Treating a bad mock score as verdict rather than diagnosis. Today's misses, drilled, are next month's clean solves β€” that is the entire mechanism.
  • Setting an unrealistic practice contract (10 problems/week) that dies by Day 40. Two per week, kept, beats ten planned.
Knowledge check

Q1. A problem says "return the minimum number of steps to transform A into B" and you notice sub-transformations repeat. First move?

Q2. The problem guarantees the array is sorted and asks for O(log n). n = 10⁢. Which tool and why?

Q3. Why does the program schedule retrieval drills days after the lesson instead of the same evening?

Go deeper β€” curated resources

courseNeetCode Roadmap β€” locate your covered topics, pick 2 problems β†—20 minrepoTech Interview Handbook (repo) β€” coding interview cheatsheet β†—20 mintoolVisuAlgo β€” replay any structure that felt shaky today β†—15 min
If you have a third hour
  • Make It Stick β€” the testing effect β€” The research behind why today felt harder than re-reading and worked better. Optional: read a summary of Roediger & Karpicke's 2006 retrieval-practice studies.
Done means
  • All recall drills attempted closed-book with honest scores logged
  • Timed mock completed within limits and rubric-scored
  • Worst problem re-solved cold at 9+/10
  • Error log committed with causes named and practice contract signed
  • Cumulative quiz β‰₯ 2/3
How this connects

← Back: Today drilled Days 29–34 as one toolkit and reused Day 28's drill format. The think-aloud protocol extends the rubber-duck habit from Day 19.

Forward β†’: The error log returns on Days 84, 112, and 179 (Interview Gym). Week 6 pivots from algorithms to systems β€” SQL tomorrow β€” but your practice contract keeps two DSA problems per week alive until interview season.

Unlocks: D179 Interview Gym