Day 180 Β· Graduation

Demo Day

You will be able to
  • Deliver the capstone presentation using the provided template, within time, including the numbers
  • Complete the 40-question program-wide mastery final and score it honestly by phase
  • Run the gap-analysis protocol and produce a 4-week personal continuing plan
  • Execute the job-search launch checklist: portfolio live, resume bullets drafted, first applications queued
Today's ~120 minutes
Setup + final due-card sweep (the deck lives on)10 min
Deliver the capstone presentation + collect feedback25 min
The 40-question mastery final, closed notes30 min
Score by phase + gap analysis β†’ continuing plan20 min
Job-search launch: portfolio, resume, 3 applications25 min
Quiz, final flashcards, and the last commit10 min

Builds on: Day 178 β€” Capstone v1.0 shipped Β· Day 179 β€” Interview gym Β· Day 175 β€” Gap-closure protocol

The analogy

Graduation day has three parts, and only one wears the gown. The ceremony: you present what you built to whoever you can gather β€” friends, a community channel, a camera if nobody else β€” because work presented out loud becomes real in a way private work never does. The final exam: forty questions spanning everything from Day 2's variables to yesterday's gates, not to pass or fail you but to draw the honest map of what stuck. And the part nobody photographs: walking out of the hall into the job market, diploma in hand, with a plan for Monday morning.

Here is the reframe that matters: you are not "done learning" today. You are done with the SCAFFOLDING. For 180 days, this program decided what you'd study each morning; from tomorrow, the machinery you've internalized β€” spaced repetition, error logs, golden sets, punch lists, debriefs β€” decides. The gap analysis converts your final-exam misses into your first self-directed curriculum. The launch checklist converts your repo into applications. Diplomas mark endings; this one is a booster stage separating. The vehicle keeps ascending.

Why this matters on the job

A 180-day journey that ends without a presentation, an honest self-assessment, and a launched job search quietly evaporates β€” the difference between "I completed a curriculum" and "I can show you what I built, tell you what I'm still weak at, and my applications went out Tuesday" is the difference interviewers and hiring managers actually hire on. The mastery final's gap map also protects you in interviews: knowing precisely where you're weak means never being ambushed by your own blind spots.

Guided practice

guided 1

The presentation, delivered

25 min
  1. Set up: production URL open, dashboard on a second tab, architecture diagram ready, timer visible. Audience: the best you can arrange TODAY β€” a friend on a call, a study group, a community demo channel, or a recording you will publish. Do not postpone for a better audience; delivered-today beats perfect-someday.
  2. Deliver the eight beats. Hold the 10-minute cap β€” running long on your own graduation is still running long.
  3. Beat 5 discipline: say the actual numbers with their intervals ("groundedness 0.93, plus or minus 0.03, on a 45-case golden set the CI re-runs on every push"). This beat is what separates you from every demo your audience has seen.
  4. Beat 8 discipline: make the ask explicitly β€” "I'm looking for AI engineer / forward-deployed roles; the repo is at this URL."
  5. Afterwards: collect one piece of feedback per audience member (what landed, what confused), and log the questions you were asked β€” Demo Day questions are interview questions in disguise. If recorded: publish the video link in the README today, imperfections included.
guided 2

The 40-question mastery final

30 min

Closed notes. Write answers on paper, ≀ 2 sentences each. Score with the key (βœ“ full, half for partial), tally BY PHASE, then run the gap protocol in the practice block.

Phase 1 (D1–21): 1. A list is passed to a function that appends to it β€” what does the caller see afterwards, and why? (D4) 2. Name git's three areas and the command that moves work between each. (D8) 3. Why does a generator handle a 10 GB file where a list fails? (D11) 4. Structure of a good test per arrange-act-assert β€” and what makes a test "flaky"? (D18)

Phase 2 (D22–49): 5. Complexity of x in my_list vs x in my_set β€” and the classic bug this causes inside a loop. (D22) 6. What problem shape triggers "sliding window"? (D24) 7. Why does BFS (not DFS) find shortest unweighted paths? (D31) 8. Binary search "first true" β€” what invariant do you maintain? (D33) 9. LEFT JOIN vs INNER JOIN: which rows appear? (D37) 10. What does a B-tree index speed up, and what does it cost? (D38)

Phase 3 (D50–63): 11. What does cosine similarity measure, and why does it power embedding search? (D50) 12. What does the gradient point toward, and what does gradient descent do with it? (D53) 13. A test is 99% accurate; the disease is 1-in-10,000. Roughly what fraction of positives are real, and what is this trap called? (D59) 14. Cross-entropy in one sentence β€” and what does "perplexity 20" mean? (D62)

Phase 4 (D64–84): 15. Why does vectorized NumPy beat a Python loop by 100x? (D64) 16. Define data leakage and give the temporal example. (D69) 17. 99% accuracy on 1%-positive fraud data β€” why is this meaningless and what do you report instead? (D75) 18. How does k-fold cross-validation catch what a single split misses? (D76)

Phase 5 (D85–105): 19. What single calculus rule does backprop apply, and along what structure? (D86) 20. Why must "similar meaning β†’ nearby vectors" hold for embeddings to be useful? (D92) 21. Walk Q/K/V through one attention step. (D94) 22. Why does BPE cause LLMs to fumble arithmetic and spelling? (D96) 23. Temperature 0 vs 1.2: what changes in the sampling distribution? (D102)

Phase 6 (D106–133): 24. Why are LLM chat APIs stateless, and what does that make YOUR job? (D106) 25. The tool-use loop: what happens between tool_use and the final answer? (D111) 26. Chunks too small vs too large β€” what breaks in each direction? (D114) 27. What does BM25 catch that dense retrieval misses, and how are they fused? (D116) 28. Name three agent budget/stop mechanisms and why agents need them. (D120/125) 29. Direct vs indirect prompt injection β€” and why is the indirect kind worse for RAG? (D132)

Phase 7 (D134–147): 30. Why do golden sets need counterfactual/negative cases, not just happy paths? (D134) 31. Three LLM-as-judge biases and one mitigation each. (D135) 32. Why must RAG evals separate retrieval from generation? (D136) 33. Two eval runs: 84% then 88% on 50 cases. What must you check before celebrating? (D139)

Phase 8 (D148–161): 34. Why does Dockerfile instruction ORDER matter for build speed? (D148) 35. What belongs between "tests pass" and "deploy" in an AI service's pipeline, and why? (D141/152) 36. TTFT vs tokens/sec β€” which does streaming fix, and what does the KV cache save? (D155) 37. SLO + error budget in two sentences. (D157)

Phase 9 (D162–179): 38. The Mom Test in one rule. (D163) 39. SaaS vs VPC vs air-gapped β€” the one-axis summary. (D170) 40. A customer reports "the AI got worse." Your first three questions, in order. (D172)

KEY (gist): 1 Caller's list mutated - one shared object, two names (aliasing).
2 Working dir -add-> staging -commit-> history. 3 Lazy: one item in memory at
a time. 4 Set up state, act once, assert result; flaky = depends on order/time/
randomness. 5 O(n) vs O(1); accidental quadratic in a loop. 6 Contiguous
subarray/substring optimizing a shrinkable constraint. 7 Explores by distance
layers, so first arrival = fewest edges. 8 Everything left of lo is false,
right of hi is true - the boundary is the answer. 9 INNER: matches only; LEFT:
all left rows, NULLs where unmatched. 10 Point lookups/range scans on indexed
columns; slower writes + storage. 11 Angle between vectors, scale-free -
"pointing the same direction in meaning-space". 12 Steepest ascent; step the
OPPOSITE way, repeat. 13 ~1% real (99/10,099); base-rate neglect. 14 Average
surprise of true labels under your predicted distribution; perplexity 20 = as
uncertain as choosing among 20 equally likely options. 15 One interpreted trip
through compiled C loops vs per-element interpreter overhead. 16 Future/target
info in training features; temporal: training on data from after the
prediction moment. 17 Predicting all-negative scores 99%; report
precision/recall/PR-AUC per the harm model. 18 Every point gets a turn as
validation; variance across folds exposes split luck. 19 Chain rule, applied
backwards over the computational graph. 20 Retrieval ranks by distance - if
geometry does not encode meaning, nearest = noise. 21 QueryΒ·Key scores ->
softmax weights -> weighted sum of Values. 22 Digits/letters merge into
opaque multi-char tokens - the model never reliably sees characters.
23 T=0 argmax determinism; T>1 flattens toward uniform - more diverse, more
error-prone. 24 Server keeps no conversation; you resend full context - so
context management is app-side engineering (D122). 25 Your code executes the
tool, returns a result message, model continues with it - possibly looping.
26 Small: fragmented, unsupported answers; large: diluted retrieval, wasted
tokens. 27 Exact identifiers, rare terms, acronyms; reciprocal rank fusion.
28 Step/token/time caps, approval gates for irreversible actions, stop
criteria - loops and drift are the default failure. 29 Direct: user attacks;
indirect: instructions hidden in retrieved DATA - RAG fetches attacker
content into the prompt automatically. 30 Systems must refuse/handle what
they can't answer; happy-path-only evals certify overconfidence.
31 Position (swap order), verbosity (pin/normalize length), self-preference
(different judge model; calibrate all vs humans). 32 Wrong-context vs
wrong-generation need different fixes; a bad answer alone doesn't tell you
which stage failed. 33 Sample size! ~50 cases -> CI ~Β±10 pts; difference is
within noise - run more cases or paired comparison. 34 Layer caching:
unchanged early layers reuse cache; copy code LAST so dep layers survive
edits. 35 The eval gate (golden set + thresholds): correctness of AI behavior
isn't covered by unit tests. 36 Streaming fixes perceived wait (TTFT); KV
cache avoids recomputing attention over the prefix per token. 37 SLI measured,
SLO target (e.g. 99.5% under 3 s); error budget = allowed shortfall that
gates release risk. 38 Ask about past behavior, never hypotheticals -
"would you use this?" invites lies. 39 Data control rises, your access and
observability fall, support cost multiplies. 40 Impact (what/who, quantified),
scope (what boundary), recent changes (deploys, corpus, provider, config).

On your own

Gap analysis β†’ the 4-week continuing plan

20 min

Run the protocol on your final scores. (1) Tally per phase as a percentage. (2) Phases < 70%: for each missed question, write the revisit day and ONE concrete exercise β€” a redo of that day's project variant, never "re-read" (Day 175's generation rule). (3) Phases 70–85%: resurrect their flashcard decks into the daily rotation. (4) Build portfolio/continuing-plan.md: a 4-week grid at ~5 h/week β€” 2 h gap exercises, 1 h flashcard maintenance, 1 h DSA upkeep (2–3 problems from the Day 179 pattern list), 1 h capstone v1.1 (pick ONE feature: e.g. multi-corpus support, the SCIM endpoint from Day 169, or the semantic cache from Day 156 β€” new features are new interview stories).

Constraints: the plan must name specific days/exercises, not topics; cap it at 4 weeks β€” open-ended plans are abandoned plans; schedule week 1's sessions into your actual calendar before closing the file.

Ship before you stop

Launch: the job-search checklist

Execute portfolio/launch-checklist.md today, checking items live: (1) Portfolio: capstone repo public with v1.0 tag, README cold-read-verified, demo video or screenshots linked; fde-sim-2 package and interview-prep folder public; GitHub profile README pointing at the top three artifacts. (2) Resume: one page; 4–6 bullets generated from program artifacts using the formula verb + what you built + measured result ("Built a production RAG service with a 45-case eval harness in CI; groundedness 0.93, p95 1.9 s, ~USD 0.04/query"); capstone URL near the top. (3) Targets: a list of 15 companies/roles across three tracks β€” AI engineer, forward-deployed/solutions engineer, ML engineer (adjacent) β€” with one warm contact identified where possible. (4) Motion: first three applications submitted TODAY (imperfect is fine β€” feedback is data, Day 143's flywheel applied to careers); weekly cadence committed in the continuing plan (5 apps + 1 mock or real interview + error-log update). Graduation is the launch, not the landing.

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

Common mistakes & misconceptions

  • Postponing the presentation until it (or you) is "ready." Day 167 taught that readiness comes from reps, not waiting; a recorded imperfect delivery published today beats a perfect one that never happens.
  • Treating the final as pass/fail. It is a map-making instrument: a 60% phase is not a verdict, it is next month's curriculum β€” the whole point of scoring by phase and mapping misses to revisit days.
  • Gap plans that say "review Phase 3." Only generation closes gaps: "redo Day 55's gradient-descent lab from memory, then Day 62's cross-entropy computation" is a plan; "review math" is a wish.
  • Waiting to apply until gaps close. Interview feedback finds gaps faster than any self-assessment β€” applications ARE the eval harness for your job search. Ship three today.
  • Resume bullets describing effort instead of outcomes. "Studied RAG for 6 months" vs "Built a production RAG service with CI eval gates; groundedness 0.93" β€” the artifact-plus-number formula, every bullet.
  • Letting the spaced-repetition deck die tomorrow. The deck is the program's longest-lived artifact; 15 minutes daily preserves 180 days of encoding through a multi-month job search.
Knowledge check

Q1. Presentation beat 5 β€” "how I know it works" β€” exists because:

Q2. Your final shows Phase 3 (math) at 55%. The gap protocol prescribes:

Q3. The strongest resume bullet format for a career-changer out of this program is:

Go deeper β€” curated resources

repoTech Interview Handbook β€” resume + application strategy β†—25 minarticleFDE Interview Guide (Exponent) β€” target-role calibration β†—15 mincourseNeetCode Roadmap β€” the maintenance-mode problem source β†—10 minbookML Interviews Book β€” company/role landscape chapter β†—20 min
If you have a third hour
  • The 30/60/90 for your first role β€” Sketch what your first 90 days in an FDE/AI-engineer seat would look like using this program's artifacts as the toolkit β€” it is a killer final-round interview answer and a genuinely useful plan.
Done means
  • Presentation delivered or published; audience questions logged
  • Final scored by phase; gap plan written, capped at 4 weeks, calendared
  • Portfolio triad public; resume drafted with artifact-backed bullets
  • Three applications submitted; continuing plan committed as the program's last artifact
How this connects

← Back: Day 1 promised a protocol: two hours a day, spaced repetition, artifacts over vibes. 180 days later the evidence is a production service (Day 178), an engagement portfolio (Day 174), an interview kit (Day 179), and a deck of everything you refused to forget. Every review day since Day 7 was rehearsal for today's gap protocol.

Forward β†’: There is no Day 181 in this program β€” by design. The continuing plan is yours now: the deck keeps scheduling, the error log keeps closing, the capstone keeps growing a v1.1, and the first interview loop starts the next cycle of log β†’ fix β†’ gate. Ship, measure, iterate β€” it was never just about software.