Type at least 2 letters. Enter opens the first result, Esc closes.

    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 #

    Why a hash table gives average O(1) operations, and what "average" assumes; pairs with lesson 01.
    Open on YouTube · the player loads from youtube-nocookie.com when you press play
    • 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 #

    A decoder-only transformer typed line by line; code along, then write it again alone for lesson 08.
    Open on YouTube · the player loads from youtube-nocookie.com when you press play
    • 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.
    The course plan and byte-pair encoding; the course then builds, trains and serves a language model.
    Open on YouTube · the player loads from youtube-nocookie.com when you press play
    • 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.
    Sample size, sample-ratio mismatch and the common pitfalls, from a leading author on online experiments; pairs with lesson 09.
    Open on YouTube · the player loads from youtube-nocookie.com when you press play

    Training and serving at scale #

    Why the KV cache wastes memory, and how paged blocks and continuous batching fix it; pairs with lesson 13.
    Open on YouTube · the player loads from youtube-nocookie.com when you press play
    • 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 #

    How to start a talk, how to use slides, and how to end with your contributions; pairs with lesson 16.
    Open on YouTube · the player loads from youtube-nocookie.com when you press play

    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 #

    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 6ND6ND, the DPO loss and pass@kk 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