Videos and books
The free courses, books, problem lists and short reads that pair best with this track, how to practise so that you do not forget, and which resource goes with which lesson.
Every resource on this page is free to watch or read, from the author's or the publisher's own page. Where a well-known book is not free, we say so. Each lesson of the track also ends with a Watch and read section that names the exact lecture, chapter or paper.
How to practise so that you do not forget #
Interview knowledge fades fast when you only read it. Four habits keep it:
- Spaced recall. Each lesson ends with recall cards. Add them to the review page and answer the due cards every day (10–15 minutes) before you learn anything new. A card you answer from memory stays longer than a page you read again (Nicky Case, "How To Remember Anything Forever-ish", an interactive explanation of spaced repetition).
- Timed drills. Solve problems with a timer: 25 minutes for a medium coding problem, 45 minutes for a design round. Say the pattern before you code. When the time ends, stop, read a good solution, and solve the same problem again two days later without help.
- Explain aloud. Each lesson has a "say it aloud" drill. Record yourself for 60–90 seconds and listen once. Unclear parts of the recording are unclear parts of your understanding.
- Mock interviews. In the last two or three weeks, do at least one mock interview per round type with a friend or a colleague. Ask for the interviewer's notes, not only a verdict.
The quick recap page shows the summary boxes of all lessons on one page, and the glossary defines every key term of the track. Use both the day before an interview.
Video courses #
Coding rounds #
- MIT 6.006, Introduction to Algorithms (Spring 2020; YouTube playlist, course page with notes and problem sets). The best free university course for the data structures and algorithms of lessons 01–04: hashing, heaps, BFS and DFS, Dijkstra, and four lectures on dynamic programming with the SRTBOT method.
- NeetCode (roadmap, practice list). Short videos, one per problem, sorted by pattern. Watch a solution only after your own timed attempt.
ML coding and LLMs #
- Andrej Karpathy, Neural Networks: Zero to Hero (YouTube playlist, course page). Backpropagation by hand, makemore, the GPT above, the tokenizer and the GPT-2 reproduction. The best preparation for lessons 06–08, because interviews ask you to write the same code.
- Stanford CS336, Language Modeling from Scratch (Spring 2025; YouTube playlist, course page, assignment 1). Tokenizers, transformers, GPUs and kernels, parallelism, scaling laws, inference, data, and alignment. The lectures cover lessons 07, 08 and 11–13 in depth. Assignment 1 (BPE, a transformer, AdamW and a training loop) is the best possible practice for lessons 07 and 08.
Classic ML and deep learning #
- Stanford CS229, Machine Learning (Andrew Ng, Autumn 2018; YouTube playlist, course page and notes). Linear and logistic regression, generalized linear models, SVMs, the bias–variance trade-off, trees and ensembles, k-means and EM. The theory behind lessons 06 and 09.
- Stanford CS231n, Convolutional Neural Networks for Visual Recognition (Spring 2017; YouTube playlist, notes). Lectures 6 and 7 (training neural networks) and the notes on backpropagation pair with lessons 06 and 10.
Training and serving at scale #
- MIT 6.5940, TinyML and Efficient Deep Learning Computing (Song Han, Fall 2024; course page with slides and videos). The lectures on distributed training, quantization and LLM deployment pair with lessons 12 and 13.
Behavioral rounds and research talks #
Free books and web books #
Algorithms #
- Jeff Erickson, Algorithms (2019; free PDF and chapters). Clear chapters on recursion, backtracking, dynamic programming, greedy algorithms, graph search ("whatever-first search", used in lesson 03), shortest paths and minimum spanning trees. Lessons 02–04 follow its proofs.
Machine learning and deep learning #
- Simon J. D. Prince, Understanding Deep Learning (MIT Press, 2023; free PDF and notebooks). Initialization, normalization, residual networks, transformers, VAEs, GANs, diffusion and flows, with clear figures. Pairs with lessons 10 and 11.
- Zhang, Lipton, Li and Smola, Dive into Deep Learning (free web book). Every model with runnable code. Useful for lessons 06–08 when you want a second implementation.
- James, Witten, Hastie, Tibshirani and Taylor, An Introduction to Statistical Learning (free PDF, R and Python editions). Cross-validation, the bias–variance trade-off, regularization, trees, bagging, random forests and boosting at the level of lesson 09.
Interviews and ML systems #
- Chip Huyen, Introduction to Machine Learning Interviews (free web book). How ML interview loops work and over 200 knowledge questions. Use it as a question bank for lessons 09–11 and 14. Her book Designing Machine Learning Systems (O'Reilly, 2022) is not free.
- Tech Interview Handbook (free site, coding interview preparation, behavioral interviews). A practical guide to the coding and behavioral rounds; pairs with lessons 01–05 and 16.
- Made With ML (Goku Mohandas; free course). Design, data, testing, CI/CD, serving and monitoring of a real ML system. The production side of lesson 14 (see also the MLOps track of this site).
- Stanford CS329S, Machine Learning Systems Design (course notes). Lecture notes on data, features, deployment and monitoring; pairs with lesson 14.
Training and serving at scale #
- The Ultra-Scale Playbook: Training LLMs on GPU Clusters (Hugging Face, 2025; free web book). Memory per GPU, data, tensor, pipeline, context and expert parallelism, and ZeRO, with interactive memory figures. The best companion to lesson 12.
- How to Scale Your Model (Google DeepMind; free web book). Rooflines, the cost of collectives, sharded matrix products, and the arithmetic of training and inference for transformers on TPUs and GPUs. Pairs with lessons 12 and 13.
- Ron Kohavi, Diane Tang and Ya Xu, Trustworthy Online Controlled Experiments (Cambridge, 2020; book site) is the standard book on A/B tests. It is not free; lesson 09 and the video above cover what interviews ask.
Public problem lists #
- Grind 75 (techinterviewhandbook.org/grind75). A study plan that starts from 75 problems and adapts to the weeks and hours you have. Start here if you have less than six weeks.
- NeetCode 150 (neetcode.io/practice). 150 problems grouped by pattern (for example arrays and hashing, two pointers, sliding window, stack, binary search, trees, heaps, backtracking, graphs, dynamic programming, intervals and greedy), each with a video solution. The groups match lessons 01–04.
Short reads #
- Andrej Karpathy, "A Recipe for Training Neural Networks" (2019). How to debug a training run step by step: overfit one batch first, then add complexity. The best short read for lesson 10's debugging questions.
- Sebastian Raschka, "Understanding and Coding the KV Cache in LLMs from Scratch". A KV cache added to a small GPT, with the code. Pairs with lesson 08.
- The vLLM team, "vLLM: Easy, Fast, and Cheap LLM Serving with PagedAttention" (2023). The blog post that introduced paged KV memory. Pairs with lesson 13.
- Eugene Yan, "System Design for Recommendations and Search". The offline and online halves of retrieval and ranking systems, from public industry designs. Pairs with lesson 14.
- Lilian Weng, "LLM Powered Autonomous Agents" (2023), and Anthropic, "Building Effective Agents" (2024). Planning, memory and tools for agents, and when a fixed workflow is better than an agent. Pair with lesson 15.
- Hello Interview, "System Design Delivery Framework". From the free ML System Design in a Hurry guide: the steps of the ML design round and the time for each. Pairs with lesson 14.
- MIT Communication Lab, "Industry Job Talks", and S. Keshav, "How to Read a Paper". How a research talk for an industry audience differs from a conference talk, and a three-pass method for the paper deep dive. Pair with lesson 16.
Which lesson pairs with what #
For each lesson: one video or course part to watch, one text to read, and where to find timed practice problems.
| Lesson | Watch | Read | Practise |
|---|---|---|---|
| 01 Hashing, two pointers, windows | MIT 6.006 lecture 4 (Hashing); NeetCode, sliding window videos | Tech Interview Handbook: array, string, hash table | NeetCode 150: arrays and hashing, two pointers, sliding window |
| 02 Stacks, binary search, heaps | MIT 6.006 lecture 8 (Binary Heaps); Errichto, binary search | Erickson ch. 4 (greedy) | NeetCode 150: stack, binary search, heap, intervals, greedy |
| 03 Trees and graphs | MIT 6.006 lectures 9, 10 and 13 (BFS, DFS, Dijkstra) | Erickson ch. 5, 6 and 8 (graphs, depth-first search, shortest paths) | NeetCode 150: trees, tries, graphs |
| 04 Backtracking and DP | MIT 6.006 lectures 15–16 (dynamic programming) | Erickson ch. 2–3 (backtracking, dynamic programming) | NeetCode 150: backtracking, 1-D and 2-D DP |
| 05 Practical multi-part coding | NeetCode, LRU Cache | Python docs: collections, asyncio queues |
Build an LRU cache, a token bucket and a key-value store with transactions, each in 45 minutes |
| 06 ML coding in NumPy | Karpathy, "Becoming a Backprop Ninja"; StatQuest, ROC and AUC | CS231n notes on linear classifiers and backprop | The lesson's notebook; write each algorithm again from a blank file |
| 07 Training loop, AdamW, BPE | Karpathy, "Let's build the GPT Tokenizer"; CS336 lecture 1 | Loshchilov and Hutter, Decoupled Weight Decay Regularization; PyTorch AMP examples | CS336 assignment 1 (BPE, AdamW, training loop) |
| 08 Transformer decoder from scratch | Karpathy, "Let's build GPT"; 3Blue1Brown, attention | Raschka, "Understanding and Coding the KV Cache in LLMs from Scratch" | CS336 assignment 1 (transformer); write attention with a KV cache in 30 minutes |
| 09 Classic ML and A/B tests | CS229 lectures; Kohavi, A/B testing lesson; StatQuest, power analysis | An Introduction to Statistical Learning ch. 5, 8; Huyen, ML interviews book | Huyen's knowledge questions: answer each aloud in 60 seconds |
| 10 Deep learning breadth | Karpathy, makemore Part 3; CS231n lectures 6–7; MIT 6.S184, flow matching | Prince, Understanding Deep Learning; Karpathy, "A Recipe for Training Neural Networks" | The lesson's "read the loss curve" questions, aloud |
| 11 LLM breadth | Karpathy, "Deep Dive into LLMs like ChatGPT"; CS336 scaling and alignment lectures | Chinchilla, LoRA, InstructGPT, DPO and DeepSeekMath papers | Derive , the DPO loss and pass@ on paper |
| 12 Training at scale | MIT 6.5940, distributed training lectures | The Ultra-Scale Playbook; How to Scale Your Model | Size memory and parallelism for a 7B and a 70B model in 45 minutes each |
| 13 LLM serving | Anyscale, vLLM and PagedAttention; MIT 6.5940, LLM deployment | vLLM blog post; How to Scale Your Model, inference chapter | Size a serving fleet for a given load with Little's law |
| 14 ML system design | RecSys 2016, YouTube recommendations talk | Eugene Yan, system design for discovery; Made With ML; CS329S notes | Two timed mock designs (a feed and a search engine) |
| 15 GenAI system design | Stanford CS25, retrieval-augmented language models | Weng, agents; Anthropic, "Building Effective Agents" | Two timed mock designs (a RAG assistant and a text-to-image service) |
| 16 Behavioral and research talk | Winston, "How to Speak"; Peyton Jones, "How to Give a Great Research Talk" | Tech Interview Handbook, behavioral interviews; MIT CommLab, industry job talks | Write 8–10 STAR stories; give your talk to a friend with a timer |