The DSA Woodshed
Woodshedding for the whiteboard.
Musicians woodshed: practice the hard passages alone until the performance holds under pressure. This is that room for technical interviews: real problems, real code, and a resident interviewer, one click from the browser.
You reason in ordinary # comments and docstrings, in the file you are solving. The interviewer checks
visible work through a deterministic just contract: it reads what you wrote, requires no format, and never
writes your solution or tests. The Python track ships 43 core problems, a printable booklet, and reference sheets.
No separate agent CLI or repository API key is required.
The default
Start with ordinary comments
Enter /comments in Copilot Chat to start a rep. There are no required prefixes or labels.
Name a problem and its source and test files open at once, for example /comments arrays two_sum. If
named vocabulary helps you think, /reacto, /clarp, and /umpire start the same
loop with optional labels.
One clean loop
How a rep works
With nothing named, the interviewer draws the next due problem. Either way, every rep is the same four movements.
Write the thinking
Restate the problem, work an example, and name an approach.
Build and test
Implement in your private, gitignored workspace and add focused cases to your test file.
Reconcile the receipt
Run the focused tests; a failed, stale, or missing run asks you to trace, revise, and rerun.
Keep one correction
Say /continue for the next instruction and finish with one fix.
The interviewer conducts; you do the work.
It opens the problem's files, reports the next state, runs focused tests when you ask, and asks interview
questions through the same just contract.
The point
Practice the performance, not just the algorithms
An interview is a performance under observation: a clock, a stranger, a whiteboard, no compiler. Skilled engineers have cried through these rooms; mind-blank under observation is common, and volume grinding does not fix it. Competence is not the gap. Regulation under observation is.
The answer here is structural: a resident interviewer that checks you showed your work, never that you were a genius, running a deterministic practice loop that reads your ordinary comments instead of demanding formats. It places you on a rung, holds it until you say climb, de-escalates for free, and closes every rep with one fix and a clean stop. Its first offer to a nervous candidate is regulation, not a problem:
A racing heart is preparation
The surge is your body delivering oxygen for thinking. Naming it that way, out loud, is a studied aid to performance under stress, not a pep talk.
Four sighs, thirty seconds
A double inhale through the nose, then a long exhale, four times. The interviewer offers it once at the start of a rep; no is a complete answer.
Narrated stuck beats silent stuck
"I am blanking for a second" is a passing answer; going silent is the only failing one. After a real stall, a hint arrives one step at a time and stops when you recover.
None of it is scored.
No streaks, no badges, no solve counts. Arrival writing is never read, scored, or logged. Taking a hint is engagement, not failure.
There is no whiteboard in a Codespace; your comments are the whiteboard. Narrating your reasoning as you code, in a room where nothing is at stake, builds the habit that holds when everything is. It is also simply good engineering: clear, succinct, accurate comments, written while you work. The ritual is arcane; your engineering is the music. The Woodshed exists so the music comes through.
Review with a purpose
Library
Study a committed solution and its reference tests before a rep, review a complete solution after a gap, or take a printable sheet away from the screen.
Match the surface to the skill
Editor reps are the default. Ask to study a problem first when you want the committed source and reference tests open without starting a rep. Ask for an untimed conversation when you need to slow down and form a plan. Choose a timed board-style rep when narration under a clock is the skill you intend to train.
Prefer local VS Code or no agent at all? The same workflow runs through the documented just recipes.