All four targets, skills and interview prep separated, every link tagged with how confident I am that it resolves.
Read the verification tags before you click anything. I did not invent a single URL. YouTube video IDs cannot be recalled reliably, and a fabricated link is worse than no link, so entries fall into these tiers:
VERIFIED — this exact URL came back from a live search while building this document. High confidence it resolves.
CANONICAL — official docs, arXiv, GitHub org, or a stable homepage. Very likely correct, not individually fetched. Channel handles occasionally change.
CHANNEL — verified channel URL plus a term to search inside that channel. Used where I know the source but not one specific title.
NONE — I looked and there is no video worth your time. Use the written sources in that block.
Every entry is a VERIFIED or CANONICAL URL, a verified CHANNEL with a search term, or an explicit NONE. Nothing in this document is a guessed URL.
How to read this document. Four blocks are the plan — 12 (behavioural), 10 (ML system design), 1 (real-time serving) and drill 11.1 (one public repo) — and they run as layers 1, 7, 9 and 10 of 6-month-plan-batches.html, which holds the gates, hours and every purchase decision. Block 3 (graph fraud) is layer 11, conditional on a fraud loop. Every other block is reference: it opens on the condition named in Part 0, not on a week number. Each block header says which. Where this document and the operating plan disagree on what to buy or when, the operating plan wins.
Part 0 — Before the blocks
The plan — gates, hours, purchases — is 6-month-plan-batches.html; this document is the library it links into. Five blocks are in the plan: 12, 10, 1, 11.1 and (conditionally) 3. The other seven open on the condition in the last table of this part, not on a week number.
Application tiering
Quota: two applications a week, logged with date, company, role, level and outcome. Eight in four weeks is part of Batch 0's gate.
Tier
Who
When
Purpose
Tier C
Recruiters and agenciesHays, Michael Page, specialist ML recruiters
Nowone of the two per week can be one of these
Zero cost to burn. They run practice screens for free and give the fastest read on how the market receives the CV.
Tier B
Good companies you would accept but aren't your top fiveMid-size fintech, consultancies with real ML, iGaming operators
Now, until tier A openstwo per week, logged
Live interview practice with real stakes. If one converts, take it. Every fumbled question goes on the list that reorders the conditional table below.
On evidencefive written designs, one delivered verbally
The roles the patents fit. The gate is Batch 1's design gate in the operating plan. Reapplication cooldowns run six to twelve months, so a tier-A loop is spent once.
Diagnostic — twenty minutes, before priming anything
Answer each out loud, timed at two minutes, recorded. If the answer is fluent, skip that primer and go straight to the drill.
Skill
Say this out loud in two minutes
If you fumble
DSA
Measured: blank file, DSA templates from memory, twenty minutes. Failed.
Layer 3 of the operating plan · the re-take is Batch 0's exit
—
Control question: how would you detect a fraud ring of forty accounts sharing three devices?
Fumbled means articulation, not knowledge. Block 12 first either way.
1
Name the four places latency accumulates in a scoring request, and rank them by typical size.
Prime 1 — 6 h
2
Explain event time versus processing time, and what a watermark does to an event arriving ten minutes late.
Prime 2 — 6 h · expected · conditional block
3
Why does a forty-account fraud ring evade XGBoost but not a connected-component feature?
Prime 3 — 6 h · expected · conditional block
4
Name the three components of model risk under SR 26-02 and who owns each.
Prime 4 — 5 h · conditional block
5
What does pinball loss measure that MASE doesn't, and when does the difference change a decision?
Prime 5 — 6 h · conditional block
8
Name two retriever metrics and two generator metrics, and the specific failure each one catches.
Prime 8 — 5 h · layer 5 of the operating plan, Batch 0
9
What is the difference between a resource request and a limit, and which one gets your pod OOMKilled?
Prime 9 — 8 h · expected · conditional block; CV fix #3 first
10
List the eight sections of a complete ML system design answer, in the order you would deliver them.
Prime 10 — 5 h
A tier-A loop before block 10 is done: Prime 10 + Drill 10.1 + Drill 12.1, about 28 hours over two weeks, covers the design and behavioural rounds.
A live fraud loop whose JD lists streaming or real-time features. Genuine gap, and the primer is non-optional when it opens. Until then, the interview answer is “I've built batch and Spark; event-time semantics is the part I'd want to pair on first.”
A loop whose JD requires Kubernetes. CV fix #3 (narrow the claim) takes fifteen minutes and removes the liability for every other loop. 9.2 (Terraform, EKS, Airflow) is reference only.
The day a Batch 0 diagnostic test goes red. Free tiers first; a paid platform only through Batch 2 of the operating plan, on a dated failure, one platform not two.
Part A — Skills
1. Real-time model serving & latency Target #1 · Critical
Layer 9 of the operating plan · months 3–4
Your single largest capability gap. Batch scoring is a report; sub-100 ms scoring is a product.
Video
Resource
Link
Status
MLOps Community channelDeepest free archive on production ML serving anywhere
Feature store & online/offline skew talksFeast, Tecton; point-in-time correctness is the interview question
tecton.ai/apply/session-video-archive/apply(conf) session archive, nine pages; the fraud-detection workshops are in here. Feature Store Summit recordings: 2024 (Etsy Rivulet, Stripe Shepherd, Chalk sub-5 ms) and 2025.
VERIFIED
Written
Resource
Link
Status
Chip Huyen — Real-time ML: challenges and solutionsStart here. The canonical framing of the whole problem.
Answer this out loud before touching the drillName the four places latency accumulates in a scoring request, and rank them by typical size.
Material
Where
Hours
Chip Huyen — Real-time ML: challenges and solutions
Written section, entry 1
1.5 h
Feature freshness vs model latency
Written section, entry 2
0.5 h
Google Cloud — minimising serving latency
Written section, entry 4
1.5 h
Snowflake — scaling real-time serving
Written section, entry 3
0.5 h
Two serving talks from the MLOps Community channel
Video section, entry 1
2 h
Prime 1b, before Drill 1.2: Feast quickstart plus the Tecton material on point-in-time correctness — roughly 4 h. Do not attempt the parity drill without it; the whole exercise turns on understanding what point-in-time correct actually means.
Drills
How you will be tested“Walk me through serving this model at 10,000 requests per second inside a 50 ms p99 budget. Where does the time actually go?”
Drill 1.1Latency budget teardown~10 h · €0 · local
Problem
Train an XGBoost fraud model, serve it behind FastAPI, then decompose p50/p95/p99 under load into four stages: request deserialisation, feature lookup, model.predict, response serialisation. Then convert to ONNX Runtime and re-measure.
Deliverable
A one-page latency budget table: milliseconds per stage at 100, 500 and 1,000 RPS, native vs ONNX, with the dominant stage identified.
Data & tools
IEEE-CIS Fraud Detection or Sparkov synthetic cards. FastAPI, ONNX Runtime, k6 or locust, py-spy.
Cost
€0 — runs entirely on your M-series.
Stop when
You can state where 80% of your p99 goes without opening the notebook.
Interview claim
“I've profiled a scoring service end to end. Most of the p99 wasn't the model — it was X.”
Failure mode
Reporting the mean instead of p99, and load-testing single-threaded. Both make the numbers meaningless.
Drill 1.2Online/offline parity that fails loudly~14 h · €0 · local Docker
Problem
Define features once in Feast. Generate a point-in-time-correct training set from the offline store and serve the same features online from Redis. Then deliberately introduce skew and prove your test catches it.
Deliverable
A Feast repo (Parquet offline, Redis online in Docker), a point-in-time-correct training set, and a parity test that goes red on injected skew.
Data & tools
Same transaction dataset with event timestamps. Feast, Redis, Docker Compose.
Cost
€0 — all local.
Stop when
Your test fails on the skew you planted, and passes once you fix it.
Interview claim
“Training/serving skew is the first thing I check, and I've built the test that catches it.”
Failure mode
Leaking future information into the training set. That leak is the exact thing the drill exists to teach you to see.
2. Streaming & Kafka feature pipelines Target #1 · High
Reference · opens on a live fraud loop whose JD lists streaming or real-time features
Your Spark background is the shortcut — Structured Streaming is the cheapest entry point you have.
Video
Resource
Link
Status
Confluent Developer channelThe single best free Kafka curriculum in existence
Apache Kafka 101 — full playlist“Apache Kafka 101” — Confluent, ft. Tim Berglund. 2025 edition. Course text at developer.confluent.io/courses.
VERIFIED
Spark Structured Streaming deep diveWatermarks and late data are the interview questions
youtube.com/@DatabricksThen search within the channel for: structured streaming watermark · Tathagata Das's structured streaming deep dives are the ones to find
CHANNEL
Flink Forward channelAwareness only — do not learn Flink now
Answer this out loud before touching the drillExplain event time versus processing time, and describe exactly what a watermark does to an event arriving ten minutes late.
Material
Where
Hours
Confluent Developer — Kafka fundamentals course
Written section, entry 1
3 h
Spark Structured Streaming guide — event time and watermarking sections only
Written section, entry 4
2 h
Conduktor — real-time ML pipelines
Written section, entry 2
1 h
This primer is non-optional. Event-time semantics is not something you will infer from building. Every streaming question in a fraud interview reduces to this distinction, and getting it wrong in a drill means you build the wrong thing confidently.
Drills
How you will be tested“Transaction volume spikes 10× for twenty minutes. What breaks in your streaming feature pipeline, and what do you sacrifice first?”
Drill 2.1Windowed fraud features with honest late-data semantics~14 h · €0 · local Docker
Problem
Replay a transaction dataset as a timed stream. Compute rolling per-card features — count, sum, distinct merchants over 1 h and 24 h — using event time with an explicit watermark. Then inject events 10 minutes late and 2 hours late and show what happens to each.
Deliverable
Docker Compose with Kafka plus a Spark Structured Streaming job writing features to an output topic, and a short note on which late events were absorbed, which were dropped, and why.
Data & tools
IEEE-CIS or PaySim replayed by a producer script. Kafka, Spark Structured Streaming (leans on the PySpark you already have).
Cost
€0 local. Confluent Cloud free tier if you want a managed broker instead.
Stop when
You can explain the watermark trade-off using your own measured numbers.
Interview claim
“I've built windowed streaming features with explicit event-time and late-data handling.”
Failure mode
Using processing time instead of event time. That single choice is what the question is actually testing.
Drill 2.2Break the consumer, then flood it~8 h · €0 · local Docker
Problem
Kill the consumer mid-stream and restart it. Determine empirically what got duplicated, what got lost, and how your offset-commit strategy caused it. Then run the producer at 10× and watch consumer lag.
Deliverable
A two-page write-up: offset/commit timeline, observed duplication on restart, lag curve under flood, and the specific config you'd change in production.
Data & tools
Same stream as Drill 2.1. Kafka CLI tools for lag inspection.
Cost
€0.
Stop when
You can draw the commit timeline from memory and say where duplicates come from.
Interview claim
“I've reasoned about delivery semantics against a real broker, not from a diagram.”
Failure mode
Reading about exactly-once instead of breaking something and observing it.
3. Graph methods for fraud Target #1 · High
Layer 11 of the operating plan · conditional on a live fraud or risk loop (rings, mules, multi-accounting)
Multi-accounting, collusion rings and money mules are graph problems. Your cross-cluster patent is adjacent to this — say so in interviews.
Video
Resource
Link
Status
Fraud Detection with Graph Neural NetworksPaper-walkthrough format with the references linked
Neo4j — graph algorithms for fraudPractical, less academic; good for the "explain it to a stakeholder" angle
graphacademy.neo4j.com/courses/workshop-gds“Graph Data Science in Practice” — free hands-on workshop; the second module is community detection for fraud rings (Louvain, WCC) on a pre-loaded sandbox.
VERIFIED
Written
Resource
Link
Status
safe-graph/graph-fraud-detection-papersCurated, actively maintained. The best single index that exists.
Answer this out loud before touching the drillWhy does a forty-account fraud ring sharing three devices evade XGBoost, but not a connected-component feature?
Material
Where
Hours
Stanford CS224W lectures 1–3 — node embeddings and message passing
Video section, entry 2
4 h
NVIDIA — GNNs for financial fraud
Written section, entry 2
1 h
GNNs for fraud detection — practical guide
Written section, entry 4
1 h
Three lectures, not the full course. You need the intuition for message passing and why neighbourhood aggregation surfaces structure that row-wise models cannot see. Stop there.
Drills
How you will be tested“Forty accounts share three devices and one payout address. How do you find that ring, and why won't your XGBoost model?”
Drill 3.1Quantify what graph structure is worth~12 h · €0 · local
Problem
Engineer graph features over a transaction dataset — shared-device degree, shared-IP degree, connected-component size, two-hop neighbour fraud rate — and measure the lift over a pure tabular XGBoost baseline.
Deliverable
A results table: baseline PR-AUC vs baseline-plus-graph, with feature importances and the single feature that carried the gain.
Data & tools
IEEE-CIS (has device and browser fields) or the Elliptic Bitcoin dataset. NetworkX or igraph, XGBoost.
Cost
€0.
Stop when
You can quote the lift number and name the feature that produced it.
Interview claim
“I've measured what graph structure adds over tabular features on real fraud data — it was X points of PR-AUC.”
Failure mode
Label leakage through the neighbour-fraud-rate feature. Compute it point-in-time only or your result is fiction.
Drill 3.2GNN versus engineered features — publish the loss if it loses~14 h · €0–20 · Colab
Problem
Train a GraphSAGE or GAT node classifier on a labelled fraud graph and benchmark it honestly against Drill 3.1's engineered features on the same split.
Deliverable
A comparison table plus a written conclusion — including the case where the GNN underperforms, which happens often and is the more interesting answer.
Data & tools
Elliptic Bitcoin Dataset, or YelpChi / Amazon fraud graphs via the safe-graph repo. PyTorch Geometric, PyGOD.
Cost
€0 on CPU for Elliptic; Colab free GPU if training drags.
Stop when
You can say under what conditions the GNN's complexity pays for itself.
Interview claim
“I've benchmarked GNNs against engineered graph features and I know when the extra complexity isn't worth it.”
Failure mode
Comparing on different splits or different feature sets. The comparison is the whole point.
4. Model risk, AML & regulatory framing Target #1 · Medium
Reference · opens on a regulated fraud or credit loop reaching a design round
Cheapest credibility in the whole document. Fifteen hours and you speak the language of a compliance-adjacent ML team.
Video
Resource
Link
Status
ACAMS / AML explainer content
No reliable videoAML training video is almost entirely vendor marketing or paid ACAMS material. Use the written primary sources instead.
NONE
Model risk management SR 11-7 walkthroughs
No reliable videoRead SR 26-02 and SR 11-7 directly — both are short. Explainer videos lag the 2026 revision.
Answer this out loud before touching the drillName the three components of model risk management and say who owns each in a bank — and note that SR 11-7 was replaced by SR 26-02 in 2026.
Material
Where
Hours
SR 26-02 revised guidance first, then SR 11-7 for the vocabulary
Written section, entries 1–2
2.5 h
NIST AI Risk Management Framework — core functions
Written section, entry 2
1.5 h
EU AI Act explorer — high-risk classification and Annex III
Written section, entry 3
2 h
Drills
How you will be tested“A regulator asks why this specific customer was declined. Walk me through your answer, and then tell me who validated the model.”
Drill 4.1Write the validation document a second line would demand~10 h · €0
Problem
Take the model from Drill 1.1 or 3.1 and write the model validation document an independent risk function would require under SR 11-7 structure.
Deliverable
Six to eight pages: intended use and out-of-scope use, data lineage, assumptions and limitations, performance broken down by segment, stability and sensitivity testing, ongoing monitoring plan, override and fallback procedure, and named revalidation triggers.
Data & tools
Your own model. Fed SR 11-7 letter as the structural template.
Cost
€0.
Stop when
Someone who has never seen your code could mount a credible challenge to the model using only your document.
Interview claim
“I've written model documentation to SR 11-7 structure, including the limitations section.”
Failure mode
Writing a results report instead of a risk document. The limitations and monitoring sections are the deliverable; the accuracy table is not.
Drill 4.2Are your explanations stable enough to give a customer?~6 h · €0
Problem
Generate per-decision SHAP reason codes for declined cases, then perturb inputs slightly and measure how often the top-three reasons change.
Deliverable
A reason-code churn analysis: percentage of decisions where the top reason flips under a 1% feature perturbation, with a recommendation on whether these are fit to disclose.
Data & tools
Your fraud or credit model. SHAP.
Cost
€0.
Stop when
You have a churn number and an opinion on whether it's acceptable.
Interview claim
“I've tested whether model explanations are stable enough to put in front of a customer or a regulator.”
Failure mode
Producing SHAP plots and calling it explainability. Stability under perturbation is the question nobody checks.
5. Modern forecasting Target #2 · High
Reference · opens on a forecasting role reaching a technical round
Prophet, ARIMA and LSTM were the 2019 stack. The gap between what you shipped and what's asked for now is about thirty hours.
Video
Resource
Link
Status
Temporal Fusion Transformers, EXPLAINEDClearest single explanation of TFT on video
Time-series foundation modelsChronos, TimesFM, Moirai — the 2025–26 shift
arxiv.org/abs/2403.07815Ansari et al., TMLR 2024. Code at github.com/amazon-science/chronos-forecasting. Read the benchmark section, not the architecture; the interview question is when zero-shot beats a tuned local model.
VERIFIED
Rob Hyndman lecturesAuthor of FPP3; rigorous and free
Answer this out loud before touching the drillWhat does pinball loss measure that MASE doesn't, and name a situation where the difference changes the decision.
Material
Where
Hours
FPP3 chapter 5 (evaluation) and chapter 11 (hierarchical reconciliation)
Written section, entry 1
3 h
Temporal Fusion Transformers, EXPLAINED
Video section, entry 1
1 h
TFT paper — skim architecture and results
Written section, entry 2
1 h
Nixtla neuralforecast quickstart
Written section, entry 3
1 h
This one is a refresh, not an introduction. You already own forecasting; only the architectures moved. Expect it to run faster than the six hours budgeted — if it does, bank the time.
Drills
How you will be tested“Prophet gives you a point forecast. Operations needs to decide how much stock to order. What do you actually hand them?”
Drill 5.1Baseline ladder with rolling-origin backtesting~14 h · €0–10 · Colab optional
Problem
Build the full ladder on one dataset — seasonal naive, ETS/ARIMA, LightGBM with lag features, then TFT and N-HiTS — and evaluate all of them with rolling-origin backtesting and quantile loss, not a single split and MAPE.
Deliverable
One table: MASE, pinball loss at q10/q50/q90, and wall-clock training time per model. Plus the point on the ladder where added complexity stopped paying.
Data & tools
M5 Forecasting (retail), Rossmann, or UCI Electricity Load Diagrams. Nixtla statsforecast + neuralforecast, or Darts.
Cost
€0 on CPU; Colab free GPU if TFT is slow.
Stop when
You can name where the ladder stopped paying and defend the number.
Interview claim
“I've backtested classical, gradient-boosted and transformer forecasters on the same data and can tell you where each earns its cost.”
Failure mode
A single train/test split instead of rolling origin. On its own that fails the round, because it means you don't know how forecasts are evaluated.
Drill 5.2Close the loop from forecast to decision~10 h · €0
Problem
Convert the q10/q50/q90 forecast into an ordering decision under asymmetric costs — understock costs four times overstock. Compare the expected cost of deciding from the point forecast against deciding from the quantiles.
Deliverable
An expected-cost comparison and the derived service level, showing which quantile you should actually order at.
Data & tools
Output of Drill 5.1. Newsvendor formulation.
Cost
€0.
Stop when
You can explain why the optimal order quantity is not the median.
Interview claim
“I've closed the loop from a probabilistic forecast to a cost-optimal decision. The quantile you order at isn't the median.”
Failure mode
Optimising forecast accuracy and stopping. Accuracy improvements that don't move the decision are free of value.
6. Modern retrieval & ranking Target #3 · Cheapest high ROI
Reference · opens on a retrieval-specific role reaching final stages
You hold two patents adjacent to this. The gap is two-tower architectures and ANN tuning, not retrieval as a concept.
Video
Resource
Link
Status
Stanford CS224N / CS224UDense retrieval and neural IR lectures
p191-covington.pdf (UCSD mirror)Covington, Adams & Sargin, RecSys 2016, DOI 10.1145/2959100.2959190. The canonical two-stage paper. Adrian Colyer's summary is the fastest way in: the morning paper.
VERIFIED
James Briggs — vector search seriesPractical FAISS, HNSW, hybrid search
youtube.com/@jamesbriggsThen search within the channel for: FAISS · his vector-search series is the practical one
Answer this out loud before touching the drillReference, not plan. Read this block only if a retrieval-specific role reaches final stages.
Material
Where
Hours
Eugene Yan — retrieval and recsys posts
Written section, entry 1
3 h
Sentence-Transformers docs — bi-encoders and losses
Written section, entry 3
2 h
Your two retrieval patents let you discuss this area credibly without the drills. That is the reason it is cut, not lack of relevance.
Drills
How you will be tested“Your retrieval recall@10 is 60%. What do you change first, and how would you know it worked?”
Drill 6.1Two-tower retriever with hard negatives~14 h · €0–15 · Colab or rented GPU
Problem
Train a bi-encoder with in-batch negatives, measure recall@10 and MRR, then add hard-negative mining and measure the delta. Evaluate in-domain and out-of-domain.
Deliverable
Before/after retrieval metrics with training curves, plus out-of-domain numbers on a BEIR subset to show generalisation.
Data & tools
MS MARCO passage subset, BEIR suite, or Amazon ESCI shopping queries. sentence-transformers, FAISS.
Cost
€0 on Colab free GPU; ~€10 if you rent something faster.
Stop when
You can quote what hard-negative mining was worth in recall points.
Interview claim
“I've trained a two-tower retriever from scratch and measured what hard-negative mining is actually worth.”
Failure mode
Evaluating only on the training distribution. Out-of-domain is where dense retrieval breaks and where interviewers probe.
Drill 6.2Retrieve-then-rank against a latency budget~10 h · €0 · local
Problem
Add a cross-encoder reranker over the top-k candidates from Drill 6.1. Sweep k from 10 to 500 and plot recall@10 against p99 latency.
Deliverable
A Pareto curve with a chosen operating point and a written justification for that point given a stated latency budget.
Data & tools
Output of Drill 6.1. A cross-encoder from sentence-transformers.
Cost
€0 on CPU for a small reranker.
Stop when
You've picked a point on the curve and can defend it against both neighbours.
Interview claim
“I've tuned a two-stage retrieval system against a latency budget rather than chasing NDCG in a vacuum.”
Failure mode
Optimising quality with no cost axis. Every production retrieval decision is a trade, and answering without one reads as academic.
7. LLM inference & serving Target #3 · Real gap
Reference · opens on a serving-focused role, or month six if still searching
You are a consumer of LLMs, not a server of them. This is the difference between "I used LangChain" and "I ran this in production at cost."
Video
Resource
Link
Status
The Engineering Behind LLM Inference: QuantizationJuly 2026. Memory-bandwidth framing is exactly right.
arxiv.org/abs/2309.06180Kwon et al., SOSP 2023. This is the vLLM paper; read section 3 for the KV-cache fragmentation argument, which is the whole interview answer.
VERIFIED
Written
Resource
Link
Status
DeepLearning.AI — Fast & Efficient LLM Inference with vLLMShort course, built with Red Hat, June 2026. Best structured entry point.
Answer this out loud before touching the drillReference, not plan. The only block that costs real money; the weakest competitive position.
Material
Where
Hours
DeepLearning.AI vLLM short course
Written section, entry 1
4 h
vLLM quantisation docs and blog
Written section, entries 2–3
2 h
Revisit at month six if you are still searching, or immediately if a serving-focused role appears.
Drills
How you will be tested“This deployment costs €40k a month to serve. Halve it without users noticing. What do you try first, and how do you prove nothing broke?”
Drill 7.1Find your own quality cliff~12 h · ~€30 · rented GPU
Problem
Serve a 7–8B model with vLLM at FP16, then INT8 and INT4. Measure throughput, time-to-first-token, inter-token latency, and quality — perplexity plus one task-specific eval that matters.
Deliverable
A trade-off table identifying the precision at which quality degrades unacceptably for your chosen task, not in general.
Data & tools
vLLM, LLM Compressor, GuideLLM. Any open 7–8B instruct model.
Cost
~€25–35 for a handful of hours on a rented L40S or A100 (RunPod, Lambda, vast.ai). This is the one drill worth spending real money on.
Stop when
You can quote your own numbers rather than a blog's.
Interview claim
“I've benchmarked quantised serving myself and I know where the quality cliff sits for my workload.”
Failure mode
Measuring throughput at concurrency of one. Single-request numbers tell you nothing about serving economics.
Drill 7.2Size a deployment from a concurrency target~8 h · ~€15 · rented GPU
Problem
Load-test the same deployment at 1, 8, 32 and 128 concurrent requests. Track GPU memory, KV-cache occupancy, and the point where continuous batching stops improving throughput.
Deliverable
A throughput-versus-concurrency curve with the memory ceiling marked and a stated maximum safe concurrency.
Data & tools
vLLM metrics endpoint, GuideLLM or a simple async load generator.
Cost
~€10–15 — run it immediately after Drill 7.1 on the same rented instance and save the spin-up.
Stop when
You can size a deployment from a target concurrency instead of guessing.
Interview claim
“I can size an LLM deployment from a concurrency target and tell you where the KV cache becomes the binding constraint.”
Failure mode
Forgetting to terminate the rented instance. Set a spend cap before you start.
8. LLM evaluation & AI governance Target #3 · Your differentiator
Prime 8: layer 5 of the operating plan, Batch 0 · Drills 8.1 and 8.2: reference, open on a generative role reaching a technical round
You already did this at Oracle. This block is about giving the credential vocabulary and current tooling.
Video
Resource
Link
Status
LLM Evaluation in Practice: Error Analysis and Reliable Agent TestingApril 2026
Answer this out loud before touching the drillName two retriever metrics and two generator metrics, and the specific failure each one catches.
Material
Where
Hours
Arize — LLM evaluation guide
Written section, entry 2
1.5 h
Evidently — RAG evaluation guide
Written section, entry 3
1 h
LLM Evaluation in Practice: error analysis
Video section, entry 1
1 h
How to Systematically Setup LLM Evals
Video section, entry 2
1.5 h
You already did this work at Oracle across fifteen-plus systems. The primer supplies current vocabulary and tooling, not the concept — treat it as translation.
Drills
How you will be tested“Someone changed a prompt last Tuesday. How do you know whether the system got better or worse?”
Drill 8.1Eval harness built from observed failures, not imagined ones~14 h · ~€15 · API calls
Problem
Build a small RAG system over a corpus you know well. Run it, collect real failures, and derive 60+ test cases from those failures. Separate retriever metrics (context recall and precision) from generator metrics (faithfulness, answer relevancy). Add an LLM judge with a written rubric.
Deliverable
A CI-runnable eval suite that goes red when you deliberately regress the prompt or the chunking strategy.
Data & tools
A corpus in a domain you can judge — Spanish DGOJ gambling regulation, the EU AI Act text, or SEC filings. Ragas or DeepEval; Phoenix or LangSmith for tracing.
Cost
~€10–20 in API calls.
Stop when
Your suite catches a regression you planted without telling it where.
Interview claim
“I've built an eval suite that separates retriever failure from generator failure — which is where most RAG debugging goes wrong.”
Failure mode
Writing test cases from imagination. Cases derived from failures you actually observed are worth ten times as many invented ones.
Drill 8.2Map a real model against EU AI Act obligations~8 h · €0
Problem
Take one model from an earlier drill and work out its classification under the EU AI Act, the documentation obligations that follow, and what a conformity assessment would require.
Deliverable
A gap analysis table: obligation, current state, gap, remediation.
Data & tools
Your own model. The Commission's AI Act Service Desk explorer and compliance checker (linked in block 4), with NIST AI RMF as cross-reference.
Cost
€0.
Stop when
You can classify a system and list its obligations without looking them up.
Interview claim
“I've mapped a production model against AI Act obligations.” Rare, and a direct extension of your Oracle AI safety credential.
Failure mode
Treating it as a legal exercise. Frame it as engineering requirements, which is how a hiring manager will hear it.
9. Kubernetes, IaC & orchestration Target #4 · And a CV liability
Reference · 9.1 opens on a loop whose JD requires Kubernetes; 9.2 is reference only
Kubernetes is on your CV. Until you can defend it, this block isn't optional regardless of which target you choose.
Video
Resource
Link
Status
TechWorld with NanaBest free Kubernetes and DevOps teaching on the platform
Kubernetes full course for beginnersPods, deployments, services, HPA, resource limits
youtube.com/watch?v=X48VuDVv0do“Kubernetes Tutorial for Beginners [FULL COURSE in 4 Hours]” — TechWorld with Nana. Watch to the Kubernetes Architecture section minimum (~35 min); the Minikube demo starts after.
VERIFIED
Terraform crash course
youtube.com/watch?v=SLB_c_ayRMofreeCodeCamp, by Sanjeev Thiyagarajan (July 2020) — not a TechWorld with Nana course. Her own Terraform material is on her channel; her full course is paid.
VERIFIED
KubeCon / CNCF channelML-on-Kubernetes talks; search within it for Kubeflow and KServe
Airflow for ML pipelinesIdempotency and backfills are what get probed
academy.astronomer.io/path/airflow-101Free learning path, Airflow 3, about three hours across twelve modules. The Airflow 2 version is still up if a target runs it.
VERIFIED
Written
Resource
Link
Status
Kubernetes official tutorialsRun them locally with kind or k3d — no cloud bill
Answer this out loud before touching the drillWhat is the difference between a resource request and a limit, and which one gets your pod OOMKilled?
Material
Where
Hours
TechWorld with Nana — Kubernetes course, first half
Video section, entry 1
5 h
kubernetes.io tutorials — run them, don't read them
Written section, entry 1
3 h
Kubernetes appears on your CV. CV fix #3 — narrow the claim to what you can defend — removes the liability in fifteen minutes for every loop that does not require it. When a loop does, these eight hours convert a liability into a defensible claim faster than anything else here.
Drills
How you will be tested“Your model pod is OOMKilled at three in the morning. Walk me through what you do.” — and note that Kubernetes is currently on your CV.
Drill 9.1Deploy it, break it four ways, diagnose all four~14 h · €0 · local kind/k3d
Problem
Deploy the Drill 1.1 scoring service to a local cluster with resource requests and limits and an HPA. Then deliberately induce four failures: OOMKilled, CrashLoopBackOff, a failing readiness probe, and HPA thrashing. Diagnose each using kubectl alone.
Deliverable
A four-entry runbook: symptom, exact command sequence, root cause, fix.
Data & tools
kind or k3d on your M-series. Remember --platform linux/amd64 when building images.
Cost
€0.
Stop when
You can answer the 3 a.m. question without notes. This is the drill that makes the Kubernetes line on your CV honest.
Interview claim
“I've operated model services on Kubernetes and can debug the four failure modes you actually encounter.”
Failure mode
Deploying successfully and stopping there. Breaking it deliberately is the entire exercise.
Drill 9.2Infrastructure from code, with a working teardown~12 h · ~€20 · AWS
Problem
Terraform a minimal EKS cluster, deploy Airflow onto it, and run a retraining DAG that is idempotent and backfillable. Then destroy everything cleanly.
Deliverable
A Terraform module where destroy leaves nothing behind, plus proof that a 30-day backfill produces identical results to a fresh run.
Data & tools
Terraform, EKS, Airflow (Astronomer Academy for the DAG patterns).
Cost
EKS control plane runs about $0.10/hour. Run it roughly 20 hours across a week and destroy: ~€15–20. Set a billing alarm before your first apply.
Stop when
terraform destroy completes clean and your AWS bill returns to zero.
Interview claim
“I've stood up ML infrastructure from code and torn it down, including backfill semantics.”
Failure mode
Leaving the cluster running. This is the single most common way people blow a €50 budget in three days.
Part B — What actually gets tested
10. ML system design interviews Highest interview weight
Layer 7 of the operating plan · Batch 1
The best-verified block in this document. These are all real mock interviews, not lectures.
Video
Resource
Link
Status
Full ML Design Mock by ex-Meta Staff EngineerWith feedback afterwards — the feedback is the valuable part
Educative — Grokking the ML InterviewPaid. 6 designed systems, 5 mocks. On the never-buy list in the operating plan (§03) — it duplicates the book plus Drill 10.1. Listed here so you recognise it when a promotion appears.
Answer this out loud before touching the drillList the eight sections of a complete ML system design answer, in the order you would deliver them.
Material
Where
Hours
Chip Huyen — Designing ML Systems, chapters 1–2 and the design chapters
Written section, entry 5
3 h
Two verified mock interviews, watched actively with notes
Video section, entries 1–2
2 h
Watch the mocks with a pen and pause after each question the interviewer asks — answer it yourself before hearing the candidate. Passive watching teaches nothing here.
Drills
How you will be testedForty-five minutes, a blank whiteboard, and one sentence of requirements. You are graded on what you ask before you draw anything.
Drill 10.1Five written designs in your target domain~15 h · €0
Problem
Write full system designs for five problems you would actually face: real-time card fraud scoring, bonus-abuse detection on a betting platform, account-takeover detection, AML transaction monitoring, and merchant risk scoring.
Deliverable
Each two to three pages covering requirements and scale, metrics and their business cost, data and labels including label delay and noise, features, model choice, serving architecture with an explicit latency budget, monitoring, and failure modes.
Data & tools
No data needed. Evidently's case collection and Chip Huyen's book as structural references.
Cost
€0.
Stop when
You can deliver any of the five verbally in forty minutes without notes.
Interview claim
This is not a claim — this is the interview.
Failure mode
Designing the model and skipping labels. In fraud, label delay and label noise are half the problem and every interviewer in the domain knows it.
Drill 10.2Read, rebuild, diff~10 h · €0
Problem
Take ten case studies from the Evidently collection in fraud, risk or recommendations. Read only the problem statement, design it yourself in twenty minutes, then read what the company actually did and record the difference.
Deliverable
A diff log: for each case, what you missed and why you missed it.
Data & tools
evidentlyai.com/ml-system-design.
Cost
€0.
Stop when
Your diffs shrink to details rather than whole missing components.
Interview claim
Builds the pattern library that separates a fluent design round from a stumbling one.
Failure mode
Reading the answer first. The twenty minutes of your own struggle is where the learning is.
11. Coding, SQL & ML fundamentals under time pressure Underrated risk
Drill 11.1: layer 10 of the operating plan, months 3–4 · Drill 11.2: layer 4, opens the day a Batch 0 diagnostic test goes red
Nine years of seniority does not exempt you from a timed coding screen, and rustiness here fails more senior candidates than any design round.
Video
Resource
Link
Status
Emma DingRenamed from “Data Interview Pro”. DS/ML interview breakdowns, SQL and stats.
interviewing.ioPaid anonymous mocks with real engineers. Worth more than any book here — and it is Batch 3 of the operating plan, behind an entry gate, because it is the one spend wasted if you arrive empty-handed. Exponent's free mocks cover Batch 0.
Answer this out loud before touching the drillWhat does a property-based test give you that thirty assertions on mock data don't?
Material
Where
Hours
Architecture Patterns with Python, chapters 1–3
Written section, entry 4
3 h
ruff, uv and mypy --strict docs
Astral and mypy documentation
1 h
Drills
How you will be testedA timed screen, usually 45 minutes, usually SQL plus one Python problem. Seniority does not exempt you and rustiness fails more senior candidates here than in any design round.
Drill 11.1Take one drill repo to production standard~20 h · €0
Problem
Choose your strongest drill above and add strict typing (mypy --strict), tests including one property-based test on a transform, data contracts with pandera, ruff and pre-commit, and CI that goes green.
Deliverable
A repository that passes strict type checking, has meaningful coverage, and installs cleanly from a fresh clone.
Data & tools
Whichever drill you pick. Architecture Patterns with Python (free at cosmicpython.com).
Cost
€0.
Stop when
A stranger can clone it and run the tests without asking you anything.
Interview claim
Answers “maintainable, tested code and code reviews” directly — and answers your own admission that your research code isn't rigorous.
Failure mode
Adding tests that assert nothing. One property-based test on a real transform is worth thirty assertions on mock data.
Drill 11.2Timed sets, not leisurely ones~15 h · €0–30
Problem
Thirty SQL problems weighted toward window functions, cohorts, funnels and sessionisation, each on a fifteen-minute timer. Plus twenty Python problems on a thirty-minute timer.
Deliverable
A log of every problem that exceeded the timer, with the reason — concept gap, syntax rust, or misread question.
Data & tools
DataLemur or StrataScratch (both partly paid); NeetCode blind-75 if a DSA screen appears.
Cost
€0 on free tiers. A paid platform only through Batch 2 of the operating plan, on a dated failed test, and one of the two, never both.
Stop when
Your timer-exceeded rate is under 10%.
Interview claim
None. This one is purely defensive.
Failure mode
Practising untimed. The failure mode in a real screen is pressure, not knowledge, and untimed practice doesn't train for it.
12. Staff-level behavioural & influence Your stated weak point
Layer 1 of the operating plan · six stories this week, the rest in Batch 1
You told me you had no evidence of influencing engineering strategy and then produced a CV that says otherwise. This block is about retrieval, not learning.
Negotiation for senior offersRelevant given your €90K floor
haseebq.com/my-ten-rules-for-negotiating-a-job-offer“Ten Rules for Negotiating a Job Offer” — Haseeb Qureshi. Note the slug differs from the title — that is why searching the title alone failed. Part 2 is How Not to Bomb Your Offer Negotiation.
VERIFIED
Written
Resource
Link
Status
StaffEng — story archiveReal staff engineers describing how they got there. Read five, find your archetype.
Answer this out loud before touching the drillNo primer. This block is retrieval of your own history, not acquisition of anything new.
Material
Where
Hours
StaffEng story archive — read five stories for calibration
Written section, entry 1
1.5 h
Read the five stories only to calibrate what staff-level scope sounds like when someone else describes it. Then close the tab and write your own.
Drills
How you will be tested“Tell me about a time you changed a senior stakeholder's mind.” You told me you had no evidence of this. Your CV says otherwise. This block resolves that.
Drill 12.1Ten stories, each with a number and a conflict~8 h · €0
Problem
Write ten STAR stories from your real history with mandatory coverage: three where you changed a senior person's mind, two where you were wrong and caught it yourself, two on mentoring, two on ambiguous problems you scoped, one on a production failure you owned.
Deliverable
Ten stories, each containing one hard number, each deliverable in two minutes.
Data & tools
Your own history. StaffEng archive for calibration on what staff-level scope sounds like.
Cost
€0.
Stop when
You can tell any of the ten cold, in order, without hesitating.
Interview claim
Directly closes the gap you named in our conversation.
Failure mode
Stories with no number and no conflict. “We collaborated well” is not a story; it's a mood.
Drill 12.2Two retroactive architecture decision records~6 h · €0
Problem
Document two real technical decisions from your Oracle work in ADR format: context, options considered, decision, consequences, and what you would do differently now.
Deliverable
Two ADRs, each one page.
Data & tools
ADR templates from joelparkerhenderson/architecture-decision-record.
Cost
€0.
Stop when
Both read as if written at the time of the decision, not afterwards.
Interview claim
This is your concrete evidence artifact for the technical-influence gap. Bring them to the interview.
Failure mode
Writing the decision without the options you rejected. The rejected options are what demonstrate judgement.
If a link is dead. Every entry keeps its exact title and creator in the left column or the qualifier, so a dead VERIFIED link is recoverable by searching title and creator together — YouTube titles are stable even when IDs get re-uploaded, and arXiv IDs never change. Papers: search the title on arxiv.org directly.
Appendix A — Dataset index
Everything the drills need. Several are shared across drills, so download once.
Dataset
What it is
Licence / access
Used by
IEEE-CIS Fraud DetectionKaggle competition data
~590k e-commerce transactions with device, browser and card fields. The default fraud dataset.
Kaggle account; competition rules, non-commercial
Drills 1.1, 1.2, 2.1, 3.1, 4.1
Sparkov / synthetic credit card transactions
Fully synthetic card transactions with merchant and geo fields. No licence friction.
Kaggle; permissive, synthetic
Substitute anywhere IEEE-CIS is used
Bank Account Fraud (BAF) suiteFeedzai Research, NeurIPS 2022 datasets track
Six synthetic account-opening fraud tables built to be biased, imbalanced and temporally dynamic, with demographic fields. Designed for fairness and drift evaluation, which makes it the better choice for Drills 4.1 and 4.2 — and it is reconnaissance on a tier-A target.
Via github.com/feedzai; check the licence on the repo before anything public
Substitute for IEEE-CIS in 1.1, 3.1, 4.1, 4.2
PaySim
Simulated mobile-money transfers with labelled fraud. Naturally streaming-shaped.
Kaggle; open, synthetic
Drills 2.1, 2.2
Elliptic Bitcoin Dataset
~200k nodes, 234k edges, labelled licit/illicit. A genuine graph, not a table you graphed.
Kaggle; research use
Drills 3.1, 3.2
YelpChi / Amazon fraud graphs
Standard benchmarks in the graph-fraud literature. Comparable numbers exist in papers.
370 clients, 15-minute resolution. Clean, no account needed.
UCI ML Repository; open
Drill 5.1 (alternative to M5)
MS MARCO passage ranking
Large-scale passage retrieval with relevance judgements.
Microsoft; research licence
Drill 6.1
BEIR benchmark suite
Eighteen retrieval datasets for out-of-domain evaluation. This is where dense retrieval breaks.
GitHub; mixed per-dataset
Drill 6.1 (evaluation only)
Amazon ESCI shopping queries
Product search relevance, multilingual including Spanish.
GitHub, Amazon Science; permissive
Drills 6.1, 6.2
EU AI Act text · Spanish DGOJ regulation · SEC filings
Dense regulatory corpora in domains you can judge — which is what makes them good RAG test beds.
Public
Drills 8.1, 8.2
Pick one fraud dataset and stay on it. Drills 1.1 through 4.2 chain together — the model you train in 1.1 is the model you serve in 1.2, break in 9.1, and document in 4.1. Switching datasets between them wastes the compounding. IEEE-CIS is the better choice if you want realism; Sparkov if you want zero licence friction.
Appendix B — What this actually costs
Against your €50/month ceiling. Nine of the twelve skill blocks cost nothing. This table prices infrastructure for drills; platform and book purchases are decided in 6-month-plan-batches.html §02–03 and nowhere else.
Drill
Resource
Cost
Free path
7.1 + 7.2LLM quantisation & concurrency
Rented L40S or A100 — RunPod, Lambda, vast.ai
~€40$0.80–2.00/hr, ~20–25 hrs
Colab Pro (€10/mo) fits a 7B at INT4 but not a clean FP16 baseline. Run both drills back-to-back on one instance.
9.2Terraform + EKS + Airflow
EKS control plane + small node group
~€20~$0.10/hr control plane
Substitute ECS Fargate or run Airflow locally in Docker. The Terraform skill transfers either way.
8.1RAG eval harness
LLM API calls for generation and judging
~€15
Use a small local model via Ollama for generation; keep the paid model as judge only.
Free tiers first, plus the LeetCode SQL and pandas study plans. The purchase decision lives in the operating plan, not here.
All othersNine of twelve blocks
Your M-series, Docker, kind
€0
—
Two spending rules before you touch a cloud console.
Billing alarm first, terraform apply second. Set an AWS budget alert at €25 with an email trigger. The most common way this budget gets destroyed is a forgotten EKS cluster running for eleven days.
Do 7.1 and 7.2 in one sitting. Same rented instance, back to back. Spinning up twice doubles your idle-time cost for no learning benefit.
Total across all twelve blocks: roughly €85–115, which fits your ceiling if you spread the paid drills over two or three months and keep the free path where it's offered. For the four-block plan the infrastructure cost is €0: blocks 12, 10, 1 and 11.1 all run on your M-series. The first euro appears only when a conditional block opens (8.1's API calls, or a rented GPU for 7.1).
Appendix C — On keeping all of this private
I built these as private drills because you asked for that. I'd make exactly one exception.
Your case for private is real: portfolio repos take three to five times as long as drills, the polish is time not spent applying, and a mediocre public repo is worse than nothing. I'm not arguing with that for eleven of the twelve blocks.
Drill 11.1 is the exception. You have a six-month employment gap, a CV claiming Kubernetes and AWS you told me you haven't shipped, and no public artifact anywhere. One public repository does three jobs simultaneously: it substantiates the “maintainable, tested code and code reviews” line that appears in the JD, it gives the gap a name you can say out loud, and it satisfies the “open-source contributions” nice-to-have in both Super ML reqs. It costs about twenty hours because you're building the repo regardless — the only marginal cost is a README and making it public.
Private drills produce capability with zero external evidence. A six-month gap is precisely the situation where evidence is the scarce thing, not capability.