Capstone: Mock Loop & Self-Exam
Rehearse the full loop and pressure-test your gaps
Mock research deep-dive
After this you can rehearse presenting and defending a project end-to-end.
You will not discover whether you can defend your work by re-reading your slides. You discover it by saying the words out loud, on a clock, while someone tries to break your claims. This section is a rehearsal you run on yourself before Cursor runs it on you.
The deep-dive grades whether the key decisions in a project were really yours and whether you understood them. So the rehearsal has two halves: a 10-minute presentation you deliver clean, then a round of adversarial questions you answer cold. Treat the questions as the real exam.
Interactive diagram. Tab through its regions; each focused region shows its detail in the panel below.
Rank yourself on each after a recorded run - the top signals are what decide the round.
Run the 10-minute presentationdo this first, uninterrupted
- 1Problem and hypothesis (90s). State the question you were answering and what you believed before any results. One sentence of stakes: why it mattered that the answer be true.
- 2Method, with rejected alternatives (3-4 min). Walk what you built. For each major fork, name the option you rejected and the reason. This is where ownership shows.
- 3Eval and result (3 min). Give the metric, the baseline, the effect size and the variance you ruled out. Numbers, not adjectives.
- 4The weakest part (60s). Close by naming the limitation you would attack next. Volunteering it is the strongest single move in the round.
Record the run on your phone. You are not checking for polish; you are checking whether a stranger could follow the argument and whether you ever hand-waved a number you should have known.
Then field the adversarial questions, cold
- The question
- “How do you know it wasn't noise?”
- What a weak answer does
- Asserts the result and moves on.
- What a strong answer does
- Names baseline, seed count, spread and the ablation that isolated the effect.
- The question
- “What would you do differently?”
- What a weak answer does
- Says nothing real or stays defensive.
- What a strong answer does
- Gives a concrete change and the evidence that would justify it.
- The question
- “What's the weakest part of this?”
- What a weak answer does
- Claims there isn't one.
- What a strong answer does
- Volunteers a genuine limitation and how you'd test for it.
- The question
- “Why this method over X?”
- What a weak answer does
- Describes the method again.
- What a strong answer does
- Names the rejected alternative and the tradeoff that decided it.
| The question | What a weak answer does | What a strong answer does |
|---|---|---|
| “How do you know it wasn't noise?” | Asserts the result and moves on. | Names baseline, seed count, spread and the ablation that isolated the effect. |
| “What would you do differently?” | Says nothing real or stays defensive. | Gives a concrete change and the evidence that would justify it. |
| “What's the weakest part of this?” | Claims there isn't one. | Volunteers a genuine limitation and how you'd test for it. |
| “Why this method over X?” | Describes the method again. | Names the rejected alternative and the tradeoff that decided it. |
Practice each of these out loud until the answer is reflexive, not reconstructed on the spot.
Self-score the run
- Defended with evidence
- Every claim was backed by a number, a baseline or a measurement, not by tone.
- Named rejected alternatives
- For the key forks you said what you didn't do and why - owner, not passenger.
- Volunteered a real limitation
- You surfaced a genuine weakness before any question forced it out.
Cursor screens hard for caring more about what's true than about being right. In the deep-dive that means a volunteered limitation scores higher than a defended flaw. If a reviewer finds a hole you knew about and hid, you fail the value, not just the question.
Pre-bake your weakest-part answer before you ever present. Decide the one limitation you will volunteer and rehearse stating it plainly with the next experiment you'd run. Candidates who improvise this under pressure either understate it (reads as hiding) or spiral (reads as no confidence). A rehearsed, honest weakness reads as a scientist who already pressure-tested their own work.
A flashy team result you contributed one slice to collapses on the third “why,” because you can't defend decisions you didn't make. Pick the project where you chose the optimizer, designed the eval and read the noisy metrics yourself, even if it's smaller. You can answer every follow-up on something you actually drove.
Takeaway. Record a 10-minute run, then answer the adversarial questions cold; score yourself on evidence, rejected alternatives and a volunteered limitation - and pre-bake the weakest part.
Self-check
QYou're self-scoring a recorded mock deep-dive. Which signal best predicts you'll pass the real round?
Timed practical-onsite simulation
After this you can simulate the paid work-simulation under realistic constraints.
The onsite decides the offer and you cannot rehearse it by reading about it. You rehearse it by sitting down with a real RL/eval/grader problem, a hard time box and Cursor open, then operating exactly as you would on the day.
Pick something small and real: build a grader that separates a passing edit from a reward-hacked stub or write a GRPO advantage and unit-test it on a known batch. Give yourself a fixed block, 2 to 3 hours and a notebook for one running log.
Interactive diagram. Tab through its regions; each focused region shows its detail in the panel below.
The verify-before-you-trust step is the gate a real reviewer is reading for.
The block, start to finish
- 1Frame and assume (10 min). Restate the problem in your own words. Write down your assumptions and pick the smallest version that still proves the idea.
- 2Prioritize out loud. Say what you're doing first, what you're cutting and why. Treat scope like the real job, not a test you must finish.
- 3Use Cursor on a leash. Let it draft and accelerate, then read every line, run it and verify the claim before you build on it. Log each accept, reject and override.
- 4Reach a validated result. A measured outcome on a narrow slice beats a sprawling half-built system you can't trust. Stop with something you can stand behind.
Keep the verification logthe single highest-value artifact
Every time you touch a model suggestion, write one line. This log is both your rehearsal of narration and your debrief data.
- Time
- 0:18
- Suggestion
- Cursor wrote reward fn in one shot
- Verdict
- Rejected
- Why
- Scored a hacked stub as high as a real fix.
- Time
- 0:41
- Suggestion
- Vectorized the advantage calc
- Verdict
- Accepted
- Why
- Matched my loop result on the test batch.
- Time
- 1:05
- Suggestion
- Suggested removing the std-normalization
- Verdict
- Overrode
- Why
- Kept it; variance across prompts was large.
| Time | Suggestion | Verdict | Why |
|---|---|---|---|
| 0:18 | Cursor wrote reward fn in one shot | Rejected | Scored a hacked stub as high as a real fix. |
| 0:41 | Vectorized the advantage calc | Accepted | Matched my loop result on the test batch. |
| 1:05 | Suggested removing the std-normalization | Overrode | Kept it; variance across prompts was large. |
A real onsite reviewer is reading exactly this instinct - that you verify before you trust.
Debrief honestly
Mark every place you over-trusted a suggestion that turned out wrong.
Mark every place you burned time hand-writing what Cursor could have drafted.
Tighter scope: which slice would they have cut to land sooner?
Faster verification: a quick adversarial test instead of staring at the diff.
Pasting raw model output without verifying it is the clearest failure mode for this role. It is human-in-the-loop research. If the model hands you a grader and you wire it in without checking what it actually rewards, you've demonstrated the exact opposite of the trait they hire for. Your log exists to prove you didn't.
“Cursor wrote this reward function in one shot, but before I trust it I want to see what it scores on three adversarial cases: a passing edit, a reward-hacked stub and a partial multi-file change. If it can't separate those, I'm not using it.”
Takeaway. Run a real RL/eval/grader problem on a hard clock with Cursor open, log every accept/reject/override, land a validated narrow result, then debrief on where the model cost you time and trust.
Self-check
QHalfway through your timed simulation you realize the full task won't fit the block. What's the highest-signal response?
Rapid-fire technical self-exam
After this you can verify you can answer the high-frequency questions cold.
Some answers must be reflexive. If you have to reconstruct the policy-gradient objective from scratch in a 60-minute screen, you've already spent the time you needed for the follow-ups. This is the cold-recall battery: cover the answer, say it out loud, then check.
Q1 - Policy gradient, baseline, advantage
State the objective, then explain why subtracting a baseline keeps the gradient unbiased while cutting variance.
grad J(θ) = E[ Σ_t ∇_θ log π_θ(a_t | s_t) · A_t ] # A_t = advantage = (return or Q) − baseline b(s_t) # A baseline that doesn't depend on the action a_t leaves E[grad] unchanged # but reduces Var, because E[ ∇ log π · b(s) ] = b(s) · ∇ Σ π = b(s) · ∇ 1 = 0
Q2 - PPO vs GRPO and their compute tradeoffs
- Baseline / advantage
- PPO
- Learned value network (critic).
- GRPO
- Group-relative: normalize rewards across K samples of the same prompt.
- Extra model in memory
- PPO
- Yes - the critic, trained alongside the policy.
- GRPO
- No critic; the group is the baseline.
- Compute cost
- PPO
- Higher - critic forward/backward and its own tuning.
- GRPO
- Lower memory, but K rollouts per prompt cost sampling.
- Stability lever
- PPO
- Clipped ratio bounds the policy step.
- GRPO
- Group normalization plus KL control.
| PPO | GRPO | |
|---|---|---|
| Baseline / advantage | Learned value network (critic). | Group-relative: normalize rewards across K samples of the same prompt. |
| Extra model in memory | Yes - the critic, trained alongside the policy. | No critic; the group is the baseline. |
| Compute cost | Higher - critic forward/backward and its own tuning. | Lower memory, but K rollouts per prompt cost sampling. |
| Stability lever | Clipped ratio bounds the policy step. | Group normalization plus KL control. |
GRPO trades a learned critic for more samples per prompt - attractive when sampling is cheaper than carrying a second large network.
Q3 - RLHF vs RLVR and two reward hacks in coding
- RLHF
- Reward model trained on human preferences; scores fuzzy quality, but is gameable and can drift.
- RLVR
- Verifiable reward from tests, compilers or checkers; hard to fake, but only where a checker exists.
Model special-cases the test inputs or stubs the function to return expected values.
Mitigation: held-out hidden tests, property-based checks, reward only on unseen cases.
If the reward model likes long, comment-heavy code, the policy inflates it without improving correctness.
Mitigation: adversarial eval set, periodic reward-model retraining, KL leash to the reference.
Q4 - Attention from first principles
Walk Q/K/V, the scaled dot-product and why the scale is the square root of d_k.
Attention(Q, K, V) = softmax( Q Kᵀ / sqrt(d_k) ) V # Q·K grows with d_k; without /sqrt(d_k) the logits get large, # softmax saturates and gradients vanish. The scale keeps variance ~1. # Multi-head: run h of these on projected subspaces, concat, project out. # KV cache: at decode, cache past K and V so each new token is O(seq), # not O(seq²) - you only compute Q for the new token.
Q5 - Chinchilla and training with less compute
State the compute-optimal intuition and tie it to the role's charter of training at lower compute.
- For a fixed compute budget, model size and training tokens should scale together - roughly in proportion - not pour everything into parameters.
- Earlier large models were under-trained: too many parameters, too few tokens. Chinchilla showed a smaller model on more data beats them at equal compute.
- Heuristic anchor: on the order of ~20 tokens per parameter at the compute-optimal point (an intuition, not a law).
- For Cursor's “less compute” charter, the lever shifts to data quality, difficulty calibration and sample efficiency - squeezing more signal per token rather than buying more FLOPs.
When you answer one of these, attach a Cursor hook in a sentence. After Chinchilla, add that their charter is training at lower compute, so the real lever is datapoint quality and sample efficiency, not raw FLOPs. The fact lands the recall; the hook lands the fit.
You can recite the PPO objective and still fail “why does the clip exist and what happens to the gradient when the ratio leaves the clip range.” Prep the second and third question deep on each item, because that's where a memorized line breaks and a real understanding holds.
Takeaway. Make policy-gradient + baseline, PPO vs GRPO, RLHF vs RLVR with reward hacks, attention with the sqrt(d_k) scaling and Chinchilla reflexive - and attach a one-sentence Cursor hook to each.
Self-check
Design-prompt drills
After this you can practice open-ended Cursor-flavored research design questions.
Open-ended design prompts are where the onsite and the deep-dive overlap. There's no answer key; they're watching how you decompose an ambiguous problem, where you put the risk and whether you anticipate the failure modes before they bite. Drill these four until you can structure a strong answer in two minutes.
Four prompts to rehearse
Design a grader for a non-verifiable coding task (code quality, partial credit on multi-file edits).
Center the answer on how you'd stop it being gamed.
Data collection, reward attribution, off-policy correction, safety gates.
Training on live production traffic without harming the live experience.
Extend RL to multi-step coding episodes with many tool calls.
Credit assignment over sparse, delayed reward - and how you'd measure success.
A coding-agent eval you'd actually believe.
Handle contamination and variance and close the offline-to-shipped gap.
The structure that works for all four
- 1Restate and scope. Pin down what “good” means and what you're explicitly not solving. Ambiguity is the test; naming your assumptions is the answer.
- 2Propose the design. Sketch the concrete pipeline - data in, signal out - at a level you could start building.
- 3Attack your own design. Name the failure mode (reward hacking, contamination, off-policy bias) before they do and the mitigation for each.
- 4Define success. State the metric and the validation that would tell you it worked, including how you'd separate real gains from noise.
Worked sketch - Drill 1, the non-verifiable grader
- Signal
- Blend a learned reward model with cheap verifiable checks (compiles, lints, partial test pass) so it isn't a single gameable scalar.
- Partial credit
- Score multi-file edits per-hunk against intent, not all-or-nothing, so near-misses get gradient.
- Anti-gaming
- Hold an adversarial set of reward-hacked stubs; require the grader to rank them below real fixes or it's rejected.
- Drift guard
- Retrain the reward model on fresh policy samples and keep a KL leash so the policy can't run off into the grader's blind spots.
Lead every design answer with the failure mode, then the mitigation. “The obvious risk is the policy learns to satisfy the grader's proxy instead of the task, so I'd hold an adversarial set and require the grader to rank hacks below real fixes.” Anticipating the hack unprompted is the single clearest signal of a researcher who has actually trained these systems, not just read about them.
Generic RL design reads like a textbook. Tie the online-RL drill to the published Tab approach and the grader drill to non-verifiable coding rewards and reference the constraints they actually face - async multi-region pipelines, sandboxed environments, training on real sessions. Grounded specifics separate a candidate who studied Cursor from one who studied RL.
Takeaway. For any design prompt: restate and scope, propose a concrete pipeline, attack your own design's failure mode before they do, then define a noise-resistant success metric - and ground it in Cursor's actual constraints.
Self-check
Readiness checklist & gap plan
After this you can produce a personal go/no-go assessment before the real loop.
Readiness is a measurement, not a feeling. By now you've rehearsed the deep-dive, run a timed simulation, drilled the cold recall and practiced design prompts. This section turns those reps into an honest score and a short list of the most impactful fixes.
Treat the rubric as a gap finder, not a score to admire. Mark the weakest proof, turn it into one practice rep and keep the artifact you would show an interviewer.
Interactive diagram. Tab through its regions; each focused region shows its detail in the panel below.
Step through each stage; the practical onsite is the paid decision round, not a formality.
Stage coverage - can you pass each round?
- Stage
- Recruiter / HM screen
- The bar
- A 2-min ownership story and a non-generic “why Cursor.”
- Self-rating 1-5
- ___
- Stage
- Technical screen(s)
- The bar
- Derive the RL math live; debug a small component; narrate.
- Self-rating 1-5
- ___
- Stage
- Research deep-dive
- The bar
- Defend a project you owned; volunteer the weakest part.
- Self-rating 1-5
- ___
- Stage
- Paid practical onsite
- The bar
- Land a validated result; verify AI output; manage scope.
- Self-rating 1-5
- ___
- Stage
- Team / values
- The bar
- Debate without ego; read their research with opinions.
- Self-rating 1-5
- ___
| Stage | The bar | Self-rating 1-5 |
|---|---|---|
| Recruiter / HM screen | A 2-min ownership story and a non-generic “why Cursor.” | ___ |
| Technical screen(s) | Derive the RL math live; debug a small component; narrate. | ___ |
| Research deep-dive | Defend a project you owned; volunteer the weakest part. | ___ |
| Paid practical onsite | Land a validated result; verify AI output; manage scope. | ___ |
| Team / values | Debate without ego; read their research with opinions. | ___ |
Anything you rate 3 or below is a gap that can end the loop - those are your targets.
Domain coverage - rate the four areas
- Domain
- RL for LLMs
- Anchor question to test yourself
- Policy gradient, PPO vs GRPO, on/off-policy and async - derived cold?
- Self-rating 1-5
- ___
- Domain
- Graders / evals
- Anchor question to test yourself
- Design a non-gameable grader and a trustworthy eval suite?
- Self-rating 1-5
- ___
- Domain
- Foundations / systems
- Anchor question to test yourself
- Attention, KV cache, Chinchilla, MoE, low-precision kernels?
- Self-rating 1-5
- ___
- Domain
- Data quality
- Anchor question to test yourself
- What makes a datapoint good, hard and distribution-representative?
- Self-rating 1-5
- ___
| Domain | Anchor question to test yourself | Self-rating 1-5 |
|---|---|---|
| RL for LLMs | Policy gradient, PPO vs GRPO, on/off-policy and async - derived cold? | ___ |
| Graders / evals | Design a non-gameable grader and a trustworthy eval suite? | ___ |
| Foundations / systems | Attention, KV cache, Chinchilla, MoE, low-precision kernels? | ___ |
| Data quality | What makes a datapoint good, hard and distribution-representative? | ___ |
Target the lowest score first; depth in your weakest domain moves your odds more than polish in your best.
Cursor-specific readiness
- You've used Cursor daily for two or more weeks - enough that your AI-native fluency is real, not performed.
- You've read the ComposerCursor's own fast coding model, tuned for the editor and priced well below frontier models; the recommended day-to-day model for executing a plan. model reports and the Tab online-RL post and you hold a specific opinion on a tradeoff in each.
- You can name one research bet of theirs you find exciting and say why, without reaching for “I love LLMs.”
- You can cite one constraint they actually operate under (async multi-region RL, Anyrun-style sandboxes, training on real sessions) and what it implies.
Build the gap plan
- 1Sort by impact, not by comfort. Take your two lowest stage ratings and two lowest domain ratings; ignore the rest for now.
- 2Make each fix concrete and checkable. Not “study RL” but “re-derive GRPO advantage and unit-test it,” or “re-record the deep-dive until I volunteer the weakest part unprompted.”
- 3Cap the list. Three to five items. A gap plan you'll actually finish beats a complete one you won't.
- 4Set the go/no-go. Pick the threshold that means ready - for example, every stage at 4+ and no domain below 3 - and don't schedule the loop until you clear it.
This is a truth-seeking exercise on yourself. Inflating a rating to feel ready just moves the failure from your bedroom to the real loop, where it costs you the offer. Rate the round you'd have today, cold, not the one you imagine after more prep.
If one area is genuinely strong, lean into it as your spike rather than sanding every edge to the same level. A flat team values a person who is deep in graders or in online RL and honest about the rest over a uniformly adequate generalist. Fix the loop-ending gaps, then let your strongest domain be the reason they remember you.
Takeaway. Rate every stage and all four domains honestly, then build a 3-5 item gap plan sorted by impact with concrete checkable fixes - and set a go/no-go threshold you won't schedule the loop until you clear.
Self-check
QYour self-ratings come back: strong on RL, weak on graders/evals and on the deep-dive. With limited prep time, what do you do?