← Frontier Lab Interview Curriculum·Study guide 01 of 13
Senior-staff study guide · 01

Practical coding, no AI

Practical coding at frontier labs means multi-part, unaided Python problems (crawler, LRU cache, KV store, ledger, allocator, simulation) where each part adds requirements and the interviewer pushes on concurrency, durability and design. Labs use it as a hard gate even at staff level: candidates report needing to finish all 3–5 parts cleanly. A senior-staff candidate must also choose an initial design that absorbs later parts, test as they go, and answer systems follow-ups (crash safety, retries, allocator policy, rate limits) with production-grade reasoning.

140resources12courses11with video80from 2025–2641%advanced256/256question groups covered28%of interview evidence (19% at staff+)
Intro 17Core 66Advanced 57

The senior-staff bar

What L7-level depth looks like in this topic, the follow-up an interviewer would push on, and the resources that prepare you for it.

From the interview reportsCoding does not go away at staff or senior staff. Anthropic staff candidates report 3–5 follow-up parts per problem and needing to finish all of them for a strong hire; an inconclusive round triggers an extra one. Treat it as a gate you must pass cleanly.

Start here

The best resources for a time-poor senior engineer, newest first.

2026Practice

Anthropic Interview Notes (unofficial reconstructed problems)

Community repo (mirror of Schuture/Anthropic-Interview-Notes) · Sep 2026 · ~30 h

25 coding pages reconstructed from candidate reports: concurrent web crawler, file deduplication, LRU cache bugfix + durability, stack-trace reconstruction, longest-match tokenizer, image pipeline, bootloader loop, nine multi-level OAs (bank, in-memory DB, cloud storage, recipe manager, task manager…), with full statements, solutions and CI-run checks.

2026Practice

OpenAI Interview Notes (unofficial reconstructed problems)

Community repo (mirror of Schuture/OpenAI-Interview-Notes) · Sep 2026 · ~40 h

37 coding problems reconstructed from reports: infection spread, GPU credits, in-memory database, durable KV store, memory allocator, spreadsheet dependencies, fault-tolerant work queue, resumable iterator, IPv4 CIDR, social network snapshots, time-based KV, rate-limiter debug, chatbot refactoring, cd command, type inference, monster battle and more, each with multi-part statements, solutions and checks.

2024Book

Effective Python: 125 Specific Ways to Write Better Python (3rd ed.)

Brett Slatkin (Addison-Wesley) · Nov 2024 · ~25 h

Item-sized advice on the exact stdlib you need unaided: comprehensions, generators, dataclasses, concurrency (threads vs. processes vs. asyncio), and robustness. Fastest way to rebuild idiom recall for timed rounds.

2021Book

A Philosophy of Software Design, 2nd Edition

John Ousterhout · Jul 2021 · ~8 h

Deep vs. shallow modules, information hiding, and designing interfaces so that later changes stay local, the core skill in four-level problems.

2015Blog post

Files are hard

Dan Luu · Dec 2015 · ~1 h

Summary of research showing how file systems and applications lose data on crash: rename atomicity, fsync ordering, and how often real systems get it wrong.

Learning path

Work through the stages in order. The last stage is the senior-staff layer: production case studies, papers to critique and large-scale trade-offs. Each resource's L7 line says what it adds at your level.

  1. 1

    Python without a net

    Write idiomatic, stdlib-only Python fast with autocomplete off. · Week 1 (6–8 h)

    • 2024
      Brett Slatkin (Addison-Wesley) · Nov 2024 · Book · Core · ~25 h · paid
      Item-sized advice on the exact stdlib you need unaided: comprehensions, generators, dataclasses, concurrency (threads vs. processes vs. asyncio), and robustness. Fastest way to rebuild idiom recall for timed rounds.
      L7Gives you crisp one-line justifications for each idiom choice, which is how senior candidates narrate while typing; read the concurrency and robustness chapters closely, skim the rest.
    • 2026
      Python Software Foundation · Oct 2026 · Reference · Core · ~4 h
      The containers every lab problem leans on: OrderedDict/deque/Counter/defaultdict, heap-based priority queues (including the priority-queue implementation notes), bisect for time-indexed lookups, itertools recipes.
      L7Baseline; skim if known, but memorize OrderedDict.move_to_end, heapq lazy-deletion and bisect key= so you never pause on them under time.
    • 2013
      Raymond Hettinger · Mar 2013 · Lecture · Intro · ~1 h · video
      Fifty minutes of loop, dict and context-manager idioms that make unaided code shorter and less buggy.
      L7Baseline; skim at 1.5x if your Python is already idiomatic.
    • 2026
      CPython core developers · Oct 2026 · Reference · Advanced · ~2 h
      The real lru_cache: how _make_key flattens *args/**kwargs with a sentinel, typed keys, the circular doubly linked list, and the lock around it. Matches the 'fix the key construction bug' rounds directly.
      L7Lets you discuss hash collisions between args and kwargs, kwarg order, unhashable arguments and thread safety the way the stdlib authors solved them.
    • 2026
      Python Software Foundation · Oct 2026 · Reference · Core · ~2 h
      What pickle can and cannot serialize, its security model, protocol versions, and the json alternative; the starting point for every 'make it persistent' follow-up.
      L7Lets you state the pickle-vs-JSON-vs-custom-bytes trade-off (safety, versioning, speed, partial reads) before the interviewer asks.
    • 2026
      Python Software Foundation · Oct 2026 · Reference · Core · ~1 h
      URL resolution, fragment stripping and hostname extraction, which are the 'same host' and 'ignore #fragment' rules in the Anthropic crawler.
      L7Baseline; prevents the classic crawler bugs (relative links, fragments, ports) that cost a level.
    • 2026
      Python Software Foundation · Oct 2026 · Reference · Core · ~1 h
      Streaming hashes, hashlib.file_digest, and algorithm choices; the middle stage of size → hash → byte-compare duplicate detection.
      L7Lets you justify hash choice (speed vs. collision risk) and chunk size, and say when a partial hash of the first block is enough.
    • 2026
      Python Software Foundation · Oct 2026 · Reference · Core · ~1 h
      Stdlib topological sort with cycle detection and an incremental get_ready/done API; the backbone of spreadsheet recalculation and Terraform-style dependency problems.
      L7Baseline; know it exists and also be able to write Kahn's algorithm yourself.
    • 2026
      Python Software Foundation · Oct 2026 · Reference · Core · ~1 h
      IPv4/IPv6 address and network types, including summarize_address_range, which is the library answer to IP-range-to-CIDR; use it to test your hand-written version.
      L7Baseline; use as an oracle for property tests of your own bit-manipulation solution.
    • 2020
      David Beazley · 2020 · Course · Intro · ~15 h
      Beazley's full Python course as free notes and exercises: data handling, classes, generators, testing, packaging.
      L7Baseline; use only the generator and class sections as warm-ups.
  2. 2

    Concurrency you can defend

    Turn BFS and batch jobs into thread/process/async versions and explain the choice. · Week 2 (8–10 h)

    • 2026
      Python Software Foundation · Oct 2026 · Reference · Core · ~2 h
      ThreadPoolExecutor/ProcessPoolExecutor, as_completed, wait, cancellation and shutdown; the standard way to turn a BFS crawler or image batch into a parallel one.
      L7Lets you choose threads vs. processes per workload and explain shutdown/cancellation semantics when a follow-up adds timeouts.
    • 2026
      Python Software Foundation · Oct 2026 · Reference · Core · ~3 h
      TaskGroup, timeouts, Semaphore, Queue and cancellation, which is what an async crawler or a rate-limited batch caller needs.
      L7Lets you write structured, cancellable async code with bounded concurrency instead of gather-everything.
    • 2026
      Python Software Foundation · Oct 2026 · Reference · Core · ~2 h
      Locks, RLock, Condition, Event, Semaphore and the thread-safe queue module; what you reach for when debugging a racy deposit or scheduler.
      L7Baseline; know Condition-variable patterns cold for bounded queues and worker pools.
    • 2026
      Python Software Foundation · Oct 2026 · Reference · Core · ~2 h
      Process pools, start methods, pickling constraints and shared memory, for CPU-bound image pipelines.
      L7Lets you explain spawn vs. fork, pickling overhead and when shared memory pays off.
    • 2015
      David Beazley · Apr 2015 · Lecture · Advanced · ~1 h · video
      Live-codes a threaded server, then processes, then a coroutine event loop from scratch, showing the GIL's effect on CPU vs. I/O work.
      L7Lets you explain what an event loop actually does when asked to convert a threaded crawler to async.
    • 2017
      Raymond Hettinger · Aug 2017 · Lecture · Core · ~1 h · video
      Threads vs. processes vs. async with their failure modes, plus rules for using queues and atomic message passing to avoid races.
      L7Gives you a clean decision framework to state out loud before choosing a concurrency model.
    • 2016
      A. Jesse Jiryu Davis and Guido van Rossum · 2016 · Tutorial · Advanced · ~3 h
      Builds a crawler three ways (callbacks, generators-as-coroutines, asyncio) with a queue, worker pool and termination detection.
      L7Lets you discuss crawl termination, bounded workers and redirect handling from first principles, beyond a LeetCode-style answer.
    • 2022
      Łukasz Langa (EdgeDB) · 2022 · Course · Advanced · ~6 h · video
      A CPython core developer builds up asyncio from the event loop, futures and coroutines to practical patterns.
      L7Lets you reason about cancellation, scheduling and blocking calls inside async code, which async-crawler follow-ups probe.
    • 2026
      LeetCode · 2026 · Practice · Core · ~4 h
      Small synchronization puzzles graded by a multi-threaded harness: ordering, bounded blocking queue, dining philosophers.
      L7Baseline; the bounded blocking queue is worth writing from Condition variables unaided.
  3. 3

    Drill the lab sets

    Finish every part of each recurring Anthropic and OpenAI problem unaided. · Weeks 3–5 (20–30 h)

  4. 4

    Refactor, debug and timed levels

    Read unfamiliar code, test first, change safely; finish 4 levels in 90 minutes twice in a row. · Week 6 (8–10 h)

    • 2026
      pytest-dev · Oct 2026 · Reference · Core · ~3 h
      Fixtures, parametrize, tmp_path, monkeypatch and raises; what you need to write quick tests between levels.
      L7Baseline; the senior part is choosing which three tests to write first under time.
    • 2023
      Kent Beck · Dec 2023 · Blog post · Core · ~0.5 h
      Beck's short restatement of the TDD loop: list scenarios, write one test, make it pass, refactor, repeat.
      L7Gives you a defensible way to run a 'use TDD' round and narrate it.
    • 2018
      Martin Fowler · Nov 2018 · Book · Advanced · ~15 h · paid
      The catalogue of small, behaviour-preserving changes and the discipline of refactoring under tests; the online catalogue is free.
      L7Lets you name and sequence safe refactorings out loud on a 120-line messy file, which is what refactoring rounds grade.
    • 2015
      Raymond Hettinger · Apr 2015 · Lecture · Core · ~1 h · video
      Live refactor of real code into idiomatic Python, warning against style-only changes that miss the real problems.
      L7Shows what a reviewer notices first in a refactoring round; watch once.
    • 2019
      Google · 2019 · Reference · Core · ~2 h
      What to look for in a review (design, functionality, complexity, tests, naming) and how to write review comments.
      L7Gives you a checklist for PR-review and 'rank the defects' rounds and a vocabulary for severity.
    • 2021
      Andreas Zeller et al. (CISPA) · 2021 · Book · Advanced · ~10 h
      Interactive Python book on systematic debugging: scientific method, tracing, assertions, delta debugging, and statistical fault localization.
      L7Lets you debug a buggy scheduler or rate limiter by hypothesis and minimal repro instead of print-scatter; read the intro, tracing and delta-debugging chapters.
    • 2026
      CodeSignal · 2026 · Reference · Intro · ~0.5 h
      The vendor's description of the 90-minute, four-level progressive assessment that several labs use for OAs.
      L7Baseline; read once so the format holds no surprises.
    • 2024
      Paul Lockett · Feb 2024 · Practice · Core · ~2 h
      The best-known public mock of the four-level format (448 stars) with level-by-level test files.
      L7Do it once under 90 minutes as a baseline before the harder mocks.
    • 2026
      spartypkp · Apr 2026 · Practice · Core · ~9 h
      Local web app with six four-level problems, a timer and hidden tests that unlock the next level, built by a candidate who took Anthropic-style OAs.
      L7Lets you rehearse the real constraint: L1 design choices that make L3/L4 possible under 90 minutes.
    • 2026
      Eric Zheng · Mar 2026 · Practice · Core · ~6 h
      Multi-level ICF-style practice problems with tests (168 stars), plus notes on scoring.
      L7More unseen four-level problems for the 'twice in a row' readiness check.
  5. 5

    Senior-staff depth

    Answer the systems follow-ups (durability, allocator policy, retries, rate limits, ledgers, trace formats) with production-grade reasoning. · Weeks 6–7 (8–12 h, in parallel)

    • 2015
      Dan Luu · Dec 2015 · Blog post · Advanced · ~1 h
      Summary of research showing how file systems and applications lose data on crash: rename atomicity, fsync ordering, and how often real systems get it wrong.
      L7Lets you design LRU/KV persistence that survives a mid-write crash (write temp, fsync, rename, fsync dir) and explain why each step exists.
    • 2024
      SQLite developers (D. Richard Hipp) · 2024 · Reference · Advanced · ~2 h
      Step-by-step walk through rollback journals, fsync points and recovery after power loss in a production database.
      L7Lets you design a WAL or rollback journal for a durable KV store and reason about which crash points are safe.
    • 2026
      Redis · 2026 · Reference · Advanced · ~1 h
      Trade-offs between snapshotting and append-only logs, fsync policies and AOF rewrite in a widely used in-memory store.
      L7Lets you compare snapshot vs. log persistence for an in-memory KV with real durability/latency trade-offs.
    • 1995
      Paul R. Wilson, Mark S. Johnstone, Michael Neely, David Boles · 1995 · Survey paper · Advanced · ~4 h
      The classic survey of allocator policies (first/best/next fit, segregated fits, buddy systems), fragmentation and coalescing.
      L7Lets you argue first-fit vs. best-fit vs. segregated free lists with evidence when a malloc round asks 'which and why'.
    • 2023
      Remzi and Andrea Arpaci-Dusseau · 2023 · Book · Advanced · ~20 h
      Free OS textbook; the chapters that matter here are Free-Space Management (ch. 17), the Concurrency part (locks, condition variables, common concurrency bugs, ch. 26–34) and Crash Consistency (ch. 42).
      L7Lets you discuss allocator fragmentation, deadlock conditions and journaling at textbook depth; read ch. 17, 31–32 and 42.
    • 2018
      Nathaniel J. Smith · Apr 2018 · Blog post · Advanced · ~1 h
      The argument for nurseries/task groups: why unstructured spawns break error handling and cancellation; the idea behind asyncio.TaskGroup.
      L7Lets you defend your crawler's task structure and explain exactly how failures and cancellation propagate.
    • 2019
      Marc Brooker (AWS) · 2019 · Blog post · Advanced · ~1 h
      How AWS sets timeouts, limits retries, and uses jittered backoff to avoid retry storms; the companion post compares jitter strategies with simulations.
      L7Lets you design a 429-aware batch caller with retry budgets and explain why full jitter, which is the senior answer.
    • 2019
      Lynn Root (Spotify) · May 2019 · Lecture · Advanced · ~1 h · video
      Graceful shutdown, signal handling, exception handling and blocking-code integration in a production asyncio service.
      L7Lets you discuss shutdown, partial failure and retries in async workers like someone who has run them.
    • 2026
      PSF; Sam Gross (PEP 703, Meta) · Oct 2026 · Reference · Advanced · ~2 h
      The no-GIL build: what changes for thread safety and performance, and the PEP's design rationale (biased reference counting, per-object locks).
      L7Lets you give a current answer to 'threads vs. processes in Python' that accounts for free-threaded 3.13+ builds, not a 2015 answer.
    • 2017
      Paul Tarjan (Stripe) · Mar 2017 · Blog post · Advanced · ~1 h
      Stripe's four limiters (request rate, concurrency, fleet usage load shedder, worker utilization) and token-bucket implementation in Redis.
      L7Lets you extend a token bucket to per-tenant and concurrency limits and discuss load shedding, as rate-limiter follow-ups demand.
    • 2017
      Julien Desgats (Cloudflare) · Jun 2017 · Blog post · Advanced · ~1 h
      Sliding-window counter approximation, its measured error, and distributed counting trade-offs at Cloudflare scale.
      L7Lets you justify sliding-window-counter vs. log vs. token bucket with memory and accuracy numbers.
    • 2026
      Amazon Web Services · 2026 · Reference · Advanced · ~1 h
      Production semantics for reserve/ack/fail: in-flight messages, visibility timeouts, maxReceiveCount and redrive to a DLQ.
      L7Lets you map the fault-tolerant-queue problem onto real at-least-once semantics and argue cooldown and DLQ policies.
    • 2026
      Stripe · 2026 · Reference · Advanced · ~1 h
      A real credit-grant model: effective and expiry dates, priority/ordering of consumption, applicability and balance queries.
      L7Lets you ground GPU-credit ledger design choices (consume earliest-expiring first, grants vs. ledger entries) in a production API.
    • 2022
      Modern Treasury · 2022 · Blog post · Advanced · ~1 h
      Double-entry ledgers explained for engineers: accounts, entries, debits/credits and immutability.
      L7Lets you design an append-only ledger with corrections instead of mutable balances, which handles out-of-order and overdraft follow-ups cleanly.
    • 2016
      Chromium tracing team (Google) · 2016 · Reference · Advanced · ~1 h
      The JSON B/E (begin/end) and X (complete) event format consumed by chrome://tracing and Perfetto; exactly the output shape of stack-samples-to-trace-events.
      L7Lets you produce correctly nested begin/end events and discuss timestamp and nesting invariants the way real profilers do.
    • 2024
      Brendan Gregg · 2024 · Reference · Advanced · ~1 h
      How stack samples are collapsed and visualized; the mental model behind stack-samples-to-trace problems and 'find the slowest function'.
      L7Lets you explain sampling vs. tracing, inclusive vs. exclusive time and sample-rate error when asked.
    • 2020
      Andrey Mokhov, Neil Mitchell, Simon Peyton Jones · Apr 2020 · Paper · Advanced · ~3 h
      Frames Excel, Make, Bazel and Shake as schedulers plus rebuilders, explicitly treating spreadsheets as build systems with dynamic dependencies.
      L7Lets you discuss spreadsheet and Terraform-style recompute strategies (topological vs. restarting vs. suspending) at research depth; skim sections 1–3.
    • 2016
      Brandon Rhodes and Daniel Rocco · 2016 · Tutorial · Advanced · ~2 h
      A Python build system that tracks dependencies dynamically and recomputes only what changed, the same structure as spreadsheet recalculation.
      L7Lets you design spreadsheet propagation with dirty marking and cycle detection and compare eager vs. lazy recompute.
    • 2026
      Hypothesis developers · Oct 2026 · Reference · Advanced · ~2 h
      Generates random sequences of operations against a model; ideal for checking a KV store, ledger or allocator against a brute-force reference.
      L7Lets you validate levels 1–4 against an obviously-correct model, which catches the regressions that sink level 4.
    • 2021
      John Ousterhout · Jul 2021 · Book · Advanced · ~8 h · paid
      Deep vs. shallow modules, information hiding, and designing interfaces so that later changes stay local, the core skill in four-level problems.
      L7Lets you pick an L1 interface that makes L3/L4 cheap and explain why, which is the difference between finishing four levels and three.
    • 2004
      Michael Feathers (Prentice Hall) · Sep 2004 · Book · Advanced · ~15 h · paid
      Characterization tests, seams and dependency-breaking techniques for changing code you don't understand yet.
      L7Lets you extend a huge unfamiliar class safely by pinning behaviour first; older but still the canonical reference.
    • 2023
      Lianmin Zheng et al. · Dec 2023 · Paper · Advanced · ~2 h
      Introduces RadixAttention: a radix tree over token prefixes for KV-cache reuse with LRU eviction.
      L7Lets you connect a 'radix-tree prefix cache' coding question to how inference engines actually reuse prefixes; read section 3.
    • 2016
      Mike Ulrich et al. (Google SRE) · 2016 · Book · Advanced · ~2 h
      How retries, queue growth and missing deadlines turn overload into outage; client-side throttling and load shedding at Google.
      L7Lets you say what your crawler or batch caller does when the backend degrades, beyond 'retry with backoff'.
    • 2013
      Jeffrey Dean and Luiz André Barroso (Google) · Feb 2013 · Paper · Advanced · ~1 h
      Why tail latency dominates fan-out systems and how hedged and tied requests cut it.
      L7Lets you propose hedged fetches and per-request deadlines when a concurrent crawler follow-up asks about slow hosts.
    • 2024
      Jeffrey Dean and Sanjay Ghemawat (Google) · 2024 · Reference · Advanced · ~1 h
      Log file, memtable, sorted tables, levels, compaction and recovery in an LSM key-value store, including how deletes become tombstones.
      L7Lets you answer 'delete via tombstone, LSM' and recovery follow-ups on an in-memory DB with a real design.
    • 2016
      Martin Kleppmann · Feb 2016 · Blog post · Advanced · ~1 h
      Why leases without fencing tokens break under pauses and clock skew, using Redlock as the case study.
      L7Lets you reason about reserve/lease semantics in a fault-tolerant queue or scheduler when workers stall.
    • 2017
      Brandur Leach (Stripe) · Feb 2017 · Blog post · Advanced · ~1 h
      Idempotency keys, safe retries and exactly-once effects for payment-style mutations.
      L7Lets you make ledger and bank operations retry-safe and explain how, a natural senior follow-up on credits problems.

What the interviews ask

Problems that recur in this track across 174 reports (111 firsthand), with the resources that prepare you for each.

ReportsProblemPrepare with
28In-memory KV store / database (TTL, transactions, snapshots, serialization)7 firsthand · example reportFiles are hardA Philosophy of Software Design, 2nd EditionOpen Gauntlet: 4-level progressive coding practiceAnthropic Interview Notes (unofficial reconstructed problems)OpenAI Interview Notes (unofficial reconstructed problems)
22Web crawler (BFS, then concurrent)13 firsthand · example reportPython Concurrency From the Ground Up: LIVE! (PyCon 2015)Timeouts, retries, and backoff with jitter (Amazon Builders' Library)Effective Python: 125 Specific Ways to Write Better Python (3rd ed.)Anthropic Interview Notes (unofficial reconstructed problems)Python docs: concurrent.futures — launching parallel tasks
18Banking / multi-level OA system9 firsthand · example reportA Philosophy of Software Design, 2nd EditionOpen Gauntlet: 4-level progressive coding practiceAnthropic Interview Notes (unofficial reconstructed problems)Python's Class Development Toolkit (PyCon 2013)Designing robust and predictable APIs with idempotency
18Grid infection / contagion simulation11 firsthand · example reportOpenAI Interview Notes (unofficial reconstructed problems)Advent of Code (2020 Day 8: Handheld Halting)OpenAI L5 Interview Guides & Questions (2026)LeetCode 994 Rotting Oranges / 289 Game of LifeMIT 6.101 Fundamentals of Programming (Fall 2026)
18Credits / token ledger with expiry7 firsthand · example reportOpenAI Interview Notes (unofficial reconstructed problems)Designing robust and predictable APIs with idempotencySorted Containers (SortedList, SortedDict)Accounting for Developers, Part IStripe Billing credits (credit grants)
15LRU cache (decorator, persistence, crash recovery)8 firsthand · example reportFiles are hardAnthropic Interview Notes (unofficial reconstructed problems)CS:APP3e student labs (Malloc Lab, Proxy Lab)Fluent Python, 2nd EditionSGLang: Efficient Execution of Structured Language Model Programs (RadixAttention)
15Refactor or extend unfamiliar code11 firsthand · example reportRefactoring: Improving the Design of Existing Code, 2nd EditionA Philosophy of Software Design, 2nd EditionAnthropic Interview Notes (unofficial reconstructed problems)OpenAI Interview Notes (unofficial reconstructed problems)Working Effectively with Legacy Code
13Image processing pipeline with parallelism6 firsthand · example reportPython Concurrency From the Ground Up: LIVE! (PyCon 2015)Effective Python: 125 Specific Ways to Write Better Python (3rd ed.)Anthropic Interview Notes (unofficial reconstructed problems)Python docs: concurrent.futures — launching parallel tasksPython docs: multiprocessing and shared_memory
12Duplicate file detection7 firsthand · example reportAnthropic Interview Notes (unofficial reconstructed problems)LeetCode 609 Find Duplicate File in SystemPython docs: hashlib (file_digest, BLAKE2)
12Stack samples to trace events / profiler7 firsthand · example reportAnthropic Interview Notes (unofficial reconstructed problems)Trace Event FormatFlame Graphspy-spy: sampling profiler for PythonLeetCode 636 Exclusive Time of Functions
9Job scheduler / fault-tolerant queue (debug or build)5 firsthand · example reportTimeouts, retries, and backoff with jitter (Amazon Builders' Library)OpenAI Interview Notes (unofficial reconstructed problems)Python docs: concurrent.futures — launching parallel tasksWorking Effectively with Legacy CodeGoogle SRE Book: Addressing Cascading Failures and Handling Overload
7Iterators (resumable, nested)2 firsthand · example reportEffective Python: 125 Specific Ways to Write Better Python (3rd ed.)OpenAI Interview Notes (unofficial reconstructed problems)Practical Python ProgrammingFluent Python, 2nd EditionAdvanced Python Mastery
5Tokenizer / longest-match parsing1 firsthand · example reportAnthropic Interview Notes (unofficial reconstructed problems)Crafting InterpretersSGLang: Efficient Execution of Structured Language Model Programs (RadixAttention)Hugging Face LLM Course: WordPiece tokenizationLeetCode 208 Implement Trie / 139 Word Break
5Memory allocator (malloc / free)4 firsthand · example reportOpenAI Interview Notes (unofficial reconstructed problems)Dynamic Storage Allocation: A Survey and Critical ReviewA Scalable Concurrent malloc(3) Implementation for FreeBSD (jemalloc)CS:APP3e student labs (Malloc Lab, Proxy Lab)Sorted Containers (SortedList, SortedDict)
4Spreadsheet with formula dependencies2 firsthand · example reportOpenAI Interview Notes (unofficial reconstructed problems)500 Lines or Less: Contingent — A Fully Dynamic Build SystemBuild Systems à la Carte: Theory and PracticeLeetCode 631 Design Excel Sum FormulaPython docs: graphlib.TopologicalSorter
2IP range to CIDR2 firsthand · example reportOpenAI Interview Notes (unofficial reconstructed problems)LeetCode 751 IP to CIDRPython docs: ipaddress (summarize_address_range, ip_network)

Question coverage

Every question group collected for this topic from candidate reports, mapped to the resources that prepare you for it. 256 of 256 groups are covered, which is 100% of all report mentions. Hover an example to see the full question.

ReportsQuestion group and examplePrepare with
7infection spread gridOpenAI 7 · 1 staff+Coding: Game-of-Life-like simulation of an infection spreading across a 2D grid, five progressive parts each gated by test casesOpenAI Interview Notes (unofficial reconstructed problems)LeetCode 994 Rotting Oranges / 289 Game of LifeOpenAI notes infection-spread parts; LC 994 multi-source BFS by day
6web crawlerAnthropic 6 · 1 staff+Build a web crawler (programming test in a third-round interview)LeetCode 1236 Web Crawler / 1242 Web Crawler Multithreaded500 Lines or Less: A Web Crawler With asyncio CoroutinesAnthropic Interview Notes (unofficial reconstructed problems)LC 1236 same-host BFS; 500L crawler; Anthropic notes concurrent-web-crawler
6concurrent web crawlerAnthropic 8 · 2 staff+Implement a multi-threaded web crawler; discuss concurrency and distributing the crawl across multiple machinesAnthropic Interview Notes (unofficial reconstructed problems)Python docs: concurrent.futures — launching parallel tasksLeetCode 1236 Web Crawler / 1242 Web Crawler MultithreadedNotes on structured concurrency, or: Go statement considered harmfulThread-pool crawler, locked visited set, LC 1242, structured shutdown
5image transform pipelineAnthropic 5 · 3 staff+Image processing pipeline: process a collection of images using transformation recipes defined in JSON, producing an output for each image-t…Anthropic Interview Notes (unofficial reconstructed problems)Pillow (PIL fork) documentationPython docs: multiprocessing and shared_memoryAnthropic notes image-processing-pipeline; Pillow transforms; process pool fan-out
4duplicate file finderAnthropic 5 · 2 staff+Phone screen: find duplicate files; follow-ups on chunk size, hashing algorithms, and how to identify I/O vs CPU bottlenecksAnthropic Interview Notes (unofficial reconstructed problems)Python docs: hashlib (file_digest, BLAKE2)LeetCode 609 Find Duplicate File in SystemSize, then hash, then byte compare; chunk size and I/O-bound follow-ups
4in-memory SQL databaseOpenAI 4 · 2 staff+Implement an in-memory SQL databaseAnthropic Interview Notes (unofficial reconstructed problems)LeetCode 2408 Design SQLLet's Build a Simple DatabaseAnthropic notes oa-in-memory-database; LC 2408; simple DB storage design
4multithreaded web crawlerAnthropic 3, OpenAI 1 · 1 staff+Multithreaded Web Crawler (LeetCode 1242 variant).LeetCode 1236 Web Crawler / 1242 Web Crawler MultithreadedPython Concurrency From the Ground Up: LIVE! (PyCon 2015)Python docs: concurrent.futures — launching parallel tasksLC 1242 threaded crawl; threads vs async conversion
4KV store serializationOpenAI 4 · 2 staff+KV Store Serialize/Deserialize.OpenAI Interview Notes (unofficial reconstructed problems)Python docs: struct — interpret bytes as packed binary dataProtocol Buffers: EncodingOpenAI notes durable-kv-store; length-prefixed byte encoding
3duplicate file detectionAnthropic 3 · 2 staff+File deduplication problem (Replit)Anthropic Interview Notes (unofficial reconstructed problems)LeetCode 609 Find Duplicate File in SystemAnthropic notes file-deduplication; LC 609 follow-ups
3stack samples to traceAnthropic 3 · 1 staff+How would you convert stack samples to a trace? Harder follow-up after a constraint is removed, to be handled efficiently.Anthropic Interview Notes (unofficial reconstructed problems)LeetCode 636 Exclusive Time of FunctionsTrace Event Formatstack-trace-reconstruction; diff consecutive samples into begin/end events
3bank with transaction levelsAnthropic 2, Unspecified frontier 1Build core business logic for a toy banking application: a spec that grows in four progressive levels against a black-box evaluator.Anthropic Interview Notes (unofficial reconstructed problems)Open Gauntlet: 4-level progressive coding practiceLeetCode 2043 Simple Bank SystemAnthropic notes oa-bank-system four levels; timed 4-level mocks
3in-memory databaseAnthropic 3Build an in-memory database: SET/GET/DELETE first, then filtered scans, then TTL with timestamps, then file compaction.Anthropic Interview Notes (unofficial reconstructed problems)Open Gauntlet: 4-level progressive coding practiceLeetCode 1797 Design Authentication Manageroa-in-memory-database levels: set/get, scans, TTL expiry
3transactional key-value storeOpenAI 2, xAI 2, Unspecified frontier 1Design and implement an in-memory key-value store supporting set, transactional begin, commit and abort.OpenAI Interview Notes (unofficial reconstructed problems)Atomic Commit In SQLiteOpenAI notes in-memory-database transactions; undo-log rollback semantics
3follow graph snapshots recommendationsOpenAI 3 · 1 staff+Follow Graph & Recommendations (Social Network) (4 parts)OpenAI Interview Notes (unofficial reconstructed problems)LeetCode 981 Time Based Key-Value Store / 1146 Snapshot ArrayOpenAI notes social-network snapshots; LC 1146 versioned snapshots
2LRU cache decorator persistenceAnthropic 2 · 1 staff+Implement a Python LRU cache that handles args and kwargs; follow-up: make it persistentAnthropic Interview Notes (unofficial reconstructed problems)CPython source: Lib/functools.py (lru_cache, _make_key)Files are hardlru-cache-bugfix-durability; CPython _make_key; atomic snapshot writes
2stack samples to eventsAnthropic 2Given continuous call stack samples, generate timestamped function start/end events; follow-ups: diff adjacent stacks via longest common pre…Anthropic Interview Notes (unofficial reconstructed problems)LeetCode 636 Exclusive Time of Functionsstack-trace-reconstruction; LC 636 stack-based start/end handling
2file dedupAnthropic 2File deduplicationAnthropic Interview Notes (unofficial reconstructed problems)Python docs: hashlib (file_digest, BLAKE2)file-deduplication walk; hashlib.file_digest streaming hashes
2malloc first-fit/best-fitOpenAI 2Implement malloc: naive first-fit, then discuss and implement best-fitOpenAI Interview Notes (unofficial reconstructed problems)Operating Systems: Three Easy Pieces (v1.10)Dynamic Storage Allocation: A Survey and Critical ReviewOpenAI notes memory-allocator; OSTEP free-space chapter; fit policies survey
2plant infectionOpenAI 2Coding: 5-part plant infection questionOpenAI Interview Notes (unofficial reconstructed problems)OpenAI notes infection-spread: all five parts with tests
2GPU creditsOpenAI 2GPU Credits II coding problem (clarifications to be found in the test cases)OpenAI Interview Notes (unofficial reconstructed problems)OpenAI notes gpu-credits: expiry-ordered consumption, test-inferred rules
2infection simulationOpenAI 2Infectious disease coding problem (parts 1-4)OpenAI Interview Notes (unofficial reconstructed problems)LeetCode 994 Rotting Oranges / 289 Game of Lifeinfection-spread parts 1-4; LC 994 day-by-day BFS
2find duplicate filesAnthropic 2Get duplicated files from a folderLeetCode 609 Find Duplicate File in SystemPython docs: hashlib (file_digest, BLAKE2)LC 609 grouping by content; streaming file hashing
2LRU cache key bugAnthropic 2Find and fix the bug in a Python LRU cache's key construction from *args and **kwargs, and explain itCPython source: Lib/functools.py (lru_cache, _make_key)Anthropic Interview Notes (unofficial reconstructed problems)CPython _make_key with kwd_mark sentinel; lru-cache-bugfix-durability part 1
2longest-match tokenizerAnthropic 2 · 1 staff+Implement a longest-match tokenizer: basic vocabulary lookup; handle unknown tokens; merge consecutive unknown tokensAnthropic Interview Notes (unofficial reconstructed problems)LeetCode 208 Implement Trie / 139 Word BreakHugging Face LLM Course: WordPiece tokenizationlongest-match-tokenizer; trie lookup; greedy longest-match with unknown tokens
2transactional KV storexAI 2Implement a transactional KV store with begin/commit/rollbackOpenAI Interview Notes (unofficial reconstructed problems)OpenAI notes in-memory-database begin/commit/rollback with nesting
Show the other 231 question groups
2weighted LRU cachexAI 2Write a weighted LRU cache with eviction policiesLeetCode 146 LRU Cache / 460 LFU CachePython docs: collections, heapq, bisect, itertools, dataclassesLRU/LFU base; OrderedDict eviction loop by total weight
2resumable iteratorOpenAI 2Resumable list iterator: pause a large task halfway and resume later, storing only enough progress stateOpenAI Interview Notes (unofficial reconstructed problems)Fluent Python, 2nd EditionOpenAI notes resumable-iterator; Fluent Python iterator protocol chapter
2token-bucket rate limiterAnthropic 1, OpenAI 1, xAI 1Implement a token-bucket rate limiter, then make it distributed.Scaling your API with rate limitersHow we built rate limiting capable of scaling to millions of domainsToken bucket in Redis; distributed sliding-window counting
2async batch processorAnthropic 1, Unspecified frontier 1Write an async batch processor over an API with concurrency limits, retries with jitter and error isolation.Python docs: asyncio — coroutines and tasks, synchronization primitivesTimeouts, retries, and backoff with jitter (Amazon Builders' Library)Advanced asyncio: Solving Real-world Production Problems (PyCon 2019)Semaphore-bounded TaskGroup; jittered retries; graceful async shutdown
2concurrency and multithreadingAnthropic 2How would you parallelise this task? (Concurrency and data mutation come up repeatedly across rounds.)Python docs: concurrent.futures — launching parallel tasksKeynote on Concurrency (PyBay 2017)Executor patterns; when threads vs processes; shared-state rules
2refactor messy code with testsOpenAI 2Refactor bad code: here are ~120 lines of working but messy code with passing tests. Improve the architecture without breaking them. What do…Refactoring: Improving the Design of Existing Code, 2nd EditionWorking Effectively with Legacy CodeRefactoring catalog under passing tests; characterization tests first
2profiler samples slowest functionAnthropic 2Given profiler samples from running code, find the slowest part in the code.Flame Graphspy-spy: sampling profiler for PythonAggregate samples into inclusive/exclusive time; flame graph reading
2spreadsheet cell dependenciesOpenAI 2Implement spreadsheet-style cell notation where formulas reference other cells, with updates propagating to dependent cells when a reference…OpenAI Interview Notes (unofficial reconstructed problems)Python docs: graphlib.TopologicalSorterLeetCode 631 Design Excel Sum Formulaspreadsheet-dependencies; topological recompute; LC 631 propagation
2LRU memoize bugfix durabilityAnthropic 2Memoising LRU Cache: Bug Fix and Durability (3 parts / 55 min)Anthropic Interview Notes (unofficial reconstructed problems)Files are hardlru-cache-bugfix-durability three parts; crash-safe file writes
2profiler samples to call eventsAnthropic 2 · 1 staff+Call Stacks from Profiler Samples: A profiler observes a running program by taking periodic *samples*:Anthropic Interview Notes (unofficial reconstructed problems)Trace Event FormatSamples to begin/end call events; Trace Event Format nesting
2time-based KV storeOpenAI 2Time-Based Key-Value Store: every set includes a timestamp; get returns the value active at a given time.LeetCode 981 Time Based Key-Value Store / 1146 Snapshot ArrayOpenAI Interview Notes (unofficial reconstructed problems)Python docs: collections, heapq, bisect, itertools, dataclassesLC 981; OpenAI notes time-based-kv-store; bisect by timestamp
2GPU/token credit ledgerOpenAI 2 · 1 staff+Design a credit tracking service for user token balancesOpenAI Interview Notes (unofficial reconstructed problems)Stripe Billing credits (credit grants)gpu-credits ledger; production credit-grant model with expiry
1progressive 4-level class APIAnthropic 190-minute automated online coding: build a class exposing a public API exactly per spec; 4 levels, each unlocked after passing tests and req…CodeSignal Industry Coding FrameworkCodeSignal Practice: Industry Coding Framework (mock)Open Gauntlet: 4-level progressive coding practiceICF format; level-gated mocks with exact public API
1stack samples to tracesAnthropic 1Transform call stacks or samples into execution traces.Anthropic Interview Notes (unofficial reconstructed problems)LeetCode 636 Exclusive Time of Functionsstack-trace-reconstruction; stack diffing between samples
1LRU cache layeredAnthropic 1Implement an LRU cache.LeetCode 146 LRU Cache / 460 LFU CacheLC 146 hash map plus doubly linked list
1LRU cache file persistenceAnthropic 1How would you handle files?Files are hardAnthropic Interview Notes (unofficial reconstructed problems)Temp file, fsync, rename; durability part of LRU notes
1LRU cache serializationAnthropic 1What are the serialization tradeoffs?Python docs: pickle, shelve and json (data persistence)Protocol Buffers: Encodingpickle vs JSON vs custom bytes: safety, versioning, speed
1image conversion projectAnthropic 1 · 1 staff+Practical coding round: work inside a full project containing image files and implement image conversion, finding and learning an image libr…Pillow (PIL fork) documentationAnthropic Interview Notes (unofficial reconstructed problems)Pillow conversion APIs; image-processing-pipeline inside a project
1in-memory database progressiveAnthropic 1Database-style CodeSignal rounds testing raw implementation speedOpen Gauntlet: 4-level progressive coding practiceLibreSignal: CodeSignal ICF practice frameworkTimed database-style 4-level mocks for raw speed
1SQL and pandas data analysisAnthropic 1SQL and Python data work: pull data, clean it, and analyze itSQLBolt: interactive SQL lessons10 minutes to pandasPython for Data Analysis, 3E (open access)SQL joins/aggregates; pandas cleaning and groupby
1data transformationAnthropic 1Final round: Python data-transformation taskPython for Data Analysis, 3E (open access)Regular Expression HOWTO (Python docs) + csv moduleData transformation with pandas or stdlib regex/csv
1debug prewritten pipelineAnthropic 1Final round: debugging exercise on a prewritten data pipelineThe Debugging BookPython docs: pdb — the Python debuggerHypothesis-driven debugging, tracing, post-mortem pdb
1spreadsheet formulas cache invalidationOpenAI 1Coding: practical Excel/spreadsheet problem around formulas, caching and invalidationLeetCode 631 Design Excel Sum Formula500 Lines or Less: Contingent — A Fully Dynamic Build SystemBuild Systems à la Carte: Theory and PracticeFormula caching with dirty-marking; build-system recompute strategies
1credits systemOpenAI 1Phone screen coding problem around creditsOpenAI Interview Notes (unofficial reconstructed problems)OpenAI notes gpu-credits phone-screen variant
1refactoringOpenAI 1Onsite refactoring exerciseRefactoring: Improving the Design of Existing Code, 2nd EditionBeyond PEP 8: Best practices for beautiful intelligible code (PyCon 2015)Named refactorings; what reviewers notice in a live refactor
1memory allocatorOpenAI 1Implement a memory allocator (OS-style), defining all data structures yourselfCS:APP3e student labs (Malloc Lab, Proxy Lab)Operating Systems: Three Easy Pieces (v1.10)Malloc lab free lists and coalescing; OSTEP free-space management
1class designxAI 1Onsite: practical class-design coding problems rather than LeetCode (one coding round plus a hybrid coding/system-design round)A Philosophy of Software Design, 2nd EditionPython's Class Development Toolkit (PyCon 2013)awesome-low-level-designDeep modules; class evolving with requirements; OOD problem bank
1LRU cachexAI 1Implement an LRU cacheLeetCode 146 LRU Cache / 460 LFU CacheLC 146 LRU cache
1read unfamiliar LLM codebasexAI 1Read through and reason about a large LLM-related codebase the interviewer shares (no clarification of inputs/outputs given)nanoGPT (code-reading practice)vLLM Architecture OverviewTimed read of a small GPT codebase; inference-engine architecture map
1ship product with AIxAI 14-hour take-home that is like shipping a quick product with AIBest practices for Claude CodeBuilding effective agentsAgentic workflow for fast product builds; simplest-working-design patterns
1extend unfamiliar classxAI 11-hour in-person coding: understand and extend a huge unfamiliar class quicklyWorking Effectively with Legacy CodeRefactoring: Improving the Design of Existing Code, 2nd EditionSeams and characterization tests to extend a large class safely
1resumable iterator TDDOpenAI 1Define a templatized iterator supporting suspension and resumption, using TDD (write test cases first, then implementation)Canon TDDOpenAI Interview Notes (unofficial reconstructed problems)TDD loop; resumable-iterator suspension and resumption
1in-memory DB with query opsOpenAI 1implement a DB. add where clause, order by, delete command (via tombstone, LSM) etcLeetCode 2408 Design SQLAnthropic Interview Notes (unofficial reconstructed problems)LevelDB implementation notesWHERE/ORDER BY on LC 2408; tombstones and LSM from LevelDB notes
1balance at timestampOpenAI 1Given an unsorted series of post/delete statements each with a timestamp, compute the balance at any arbitrary timestamp (similar to Time Ba…LeetCode 981 Time Based Key-Value Store / 1146 Snapshot ArrayPython docs: collections, heapq, bisect, itertools, dataclassesSort events by timestamp; bisect over prefix balances
1expiring credit balanceOpenAI 1Implement transaction(ts, id, amount, expiration_timestamp), subtract(ts, amount), get_balance(ts); transactions arrive unordered and remain…OpenAI Interview Notes (unofficial reconstructed problems)Python docs: collections, heapq, bisect, itertools, dataclassesgpu-credits expiry; heap ordered by expiration
1type system for toy languageOpenAI 1Design a type system for a hobby programming languageType inferenceOpenAI Interview Notes (unofficial reconstructed problems)Constraint generation and unification; OpenAI notes type-inference
1multi-level OA system buildAnthropic 190-minute incremental multi-level CodeSignal challenge building one core application/data structure from scratch, progressing from basic fun…Open Gauntlet: 4-level progressive coding practiceCodeSignal Practice: Industry Coding Framework (mock)Incremental 90-minute multi-level practice
1web crawler concurrencyAnthropic 1Web crawler (LeetCode Web Crawler) with BFS; follow-up on multithreading using thread pool executors and asyncioLeetCode 1236 Web Crawler / 1242 Web Crawler MultithreadedPython docs: concurrent.futures — launching parallel tasksLC 1236 BFS then ThreadPoolExecutor follow-up
1image directory processing parallelismAnthropic 1Given a set of images in a directory, run some processing, installing a library of your choice; follow-up on parallelism for many files and …Python docs: multiprocessing and shared_memoryPillow (PIL fork) documentationProcess pool over an image directory; Pillow processing
1stack traceAnthropic 1Phone interview: the Stack Trace problemAnthropic Interview Notes (unofficial reconstructed problems)stack-trace-reconstruction (the 'Stack Trace' phone screen)
1size-bounded LRU cachexAI 1Sized LRU cache: cache has a total size limit and each item has its own size; evict LRU items until the new item fitsLeetCode 146 LRU Cache / 460 LFU CachePython docs: collections, heapq, bisect, itertools, dataclassesSize-bounded eviction on OrderedDict; LRU base
1nested list iteratorxAI 1asked about creating iterators on a list and nested listsLeetCode 341 Flatten Nested List Iterator / 284 Peeking IteratorLC 341 lazy nested-list flattening
1LLM token parsingxAI 1parsing tokens for LLMHugging Face LLM Course: WordPiece tokenizationAnthropic Interview Notes (unofficial reconstructed problems)Greedy longest-match LLM tokenization; tokenizer notes
1typeahead debounce highlightxAI 1TypeAhead with debounce and highlight filtered textGreatFrontEnd: DebounceReact: Quick Start (react.dev/learn)Debounce implementation; React list filtering and highlight
1tetrisxAI 1Assignment that was 'something about tetris' (described as easy, straightforward)awesome-low-level-designExercism Python trackOOP board-game modelling; small timed simulation exercises
1web crawler BFS then concurrencyAnthropic 1Implement a web crawler: interviewer required a single-threaded BFS version first, then kept asking follow-ups on it (prep materials said co…500 Lines or Less: A Web Crawler With asyncio CoroutinesLeetCode 1236 Web Crawler / 1242 Web Crawler MultithreadedSingle-threaded BFS first, then concurrency, as in 500L crawler
1banking system OAAnthropic 1CodeSignal OA: bank system (multi-level)Anthropic Interview Notes (unofficial reconstructed problems)Anthropic notes oa-bank-system
1image processing parallelismAnthropic 1Batch-process cat images with Pillow (transform call syntax given); part 2: optimize running time — candidate used multiprocessing, asked wh…Pillow (PIL fork) documentationPython docs: multiprocessing and shared_memoryPython Concurrency From the Ground Up: LIVE! (PyCon 2015)Pillow transforms; CPU-bound work moved to processes
1function LRU cache crash recoveryAnthropic 1Coding: LRU cache in two parts — generate a cache key for a function and its arguments; then recover the cache from a crash by writing a wri…Anthropic Interview Notes (unofficial reconstructed problems)Files are hardAtomic Commit In SQLiteCache-key generation; crash-recovery via journal and atomic rename
1LRU cache args + persistenceAnthropic 1Given an implemented Python LRU cache that mishandles *args and **kwargs, fix it; follow-up: make the LRU cache persistent (serialization, e…CPython source: Lib/functools.py (lru_cache, _make_key)Anthropic Interview Notes (unofficial reconstructed problems)Fix *args/**kwargs keys like CPython; then persistence follow-up
1web crawler fragment + thread poolAnthropic 1Web crawler restricted to a single hostname: single-threaded first, then multi-threaded follow-up; must strip URL fragments (#...) before de…Anthropic Interview Notes (unofficial reconstructed problems)Python docs: urllib.parse (urljoin, urldefrag, urlsplit)concurrent-web-crawler hostname and fragment rules; urldefrag/urljoin
1same-host web crawlerAnthropic 1Write a web crawler that only scrapes pages under the same hostname (real website URL given); single-threaded first, then how to make it mul…LeetCode 1236 Web Crawler / 1242 Web Crawler MultithreadedPython docs: urllib.parse (urljoin, urldefrag, urlsplit)Same-hostname restriction; correct URL parsing
1stack trace eventsAnthropic 1Stack Trace problem with many follow-upsAnthropic Interview Notes (unofficial reconstructed problems)Trace Event Formatstack-trace-reconstruction follow-ups; event nesting invariants
1banking system levelsAnthropic 1OA in-memory banking system, 4 levels: add account/pay/deposit; top_activity returning k users by activity (absolute amounts); transfer and …Anthropic Interview Notes (unofficial reconstructed problems)LeetCode 2043 Simple Bank Systemoa-bank-system levels incl. top_activity ranking
1recipe manager OAAnthropic 1OA: recipe managerAnthropic Interview Notes (unofficial reconstructed problems)Anthropic notes oa-recipe-manager
1lru_cache key + crash recoveryAnthropic 1LRU cache used like Python's functools.lru_cache: implement generate_key(*args, **kwargs) to build a hashable key; follow-up: restore the ca…CPython source: Lib/functools.py (lru_cache, _make_key)Files are hardgenerate_key like lru_cache; crash-safe persistence
1PIL image processing parallelAnthropic 1Image processing with PIL (grayscale, scale, resize): small images first, then large images; improve performance with ProcessPoolExecutorPillow (PIL fork) documentationPython docs: multiprocessing and shared_memoryPIL grayscale/resize; parallelize large images with processes
1image processingAnthropic 1Image processing codingPillow (PIL fork) documentationPillow image operations
1PR review with Claude CodeAnthropic 1In an online VS Code + GitHub-like site with four pull requests, using Claude Code: explain the problem each PR solves and comment on each; …Anthropic Interview Notes (unofficial reconstructed problems)Best practices for Claude CodeGoogle Engineering Practices: Code Reviewagentic-pr-review; Claude Code verify workflow; review checklist
1string parsing + introspectionCohere 1OA: basic Python string parsing; last question passes a callable and you must print the function's name, its input/output format, and the ex…Python docs: inspect — signatures and source of live objectsinspect.signature and getsource on a passed callable
1GPU usage per dayMistral 1Given GPU clusters as an array (e.g. [10, 20]) and a list of Usage(day, cluster, gpu) objects, output a 2D array of GPUs left per cluster ea…Python docs: collections, heapq, bisect, itertools, dataclassesEffective Python: 125 Specific Ways to Write Better Python (3rd ed.)Counter/defaultdict aggregation per day and cluster
1IPv4 range to CIDROpenAI 1IP address problem in parts; third part converts IPv4 ranges to CIDR blocks; write your own unit testsOpenAI Interview Notes (unofficial reconstructed problems)LeetCode 751 IP to CIDRPython docs: ipaddress (summarize_address_range, ip_network)ipv4-cidr-iterator; LC 751; summarize_address_range as oracle
1structured data stream parsingOpenAI 1Parse and process a structured data stream: basic version, then edge cases, complexity, huge data volume / streamingHTML Standard: Server-sent events (event stream parsing)Fluent Python, 2nd EditionIncremental line parsing across chunks; generator-based stream processing
1full-stack live buildOpenAI 1Build a simple full-stack tool from scratch: React frontend displaying data, backend API, state handling and some real-time updatingReact: Quick Start (react.dev/learn)FastAPI Tutorial — User GuideSmall React frontend plus FastAPI backend
1monster battleOpenAI 1"Monster battle" coding questionOpenAI Interview Notes (unofficial reconstructed problems)OpenAI notes monster-battle
1Django rate limiter debugOpenAI 1Debugging session: find what is wrong with the rate limiter in a Django appOpenAI Interview Notes (unofficial reconstructed problems)Scaling your API with rate limitersrate-limiter-debug; production token-bucket semantics
1grid infection simulationOpenAI 1Simulation: n x m grid where a healthy person becomes infected if they have N infected neighbors; how long until everyone is infected; five …OpenAI Interview Notes (unofficial reconstructed problems)LeetCode 994 Rotting Oranges / 289 Game of LifeN-infected-neighbour threshold rule; LC 289 synchronous updates
1concurrent job scheduler debugOpenAI 1Debug a buggy Python job scheduler: data races, deadlocks, lock contention, rate limiter correctness; write tests, then compute scheduling t…Operating Systems: Three Easy Pieces (v1.10)Python docs: threading and queueThe Debugging BookConcurrency-bug chapter; locks/conditions; systematic debugging
1plant infection with burningOpenAI 1Plant infection grid: part 4 adds dead countdown for >=K infected neighbors and recovery countdown for >=T and <K; part 5 choose rows/column…OpenAI Interview Notes (unofficial reconstructed problems)infection-spread part with death countdowns and recovery
1infection spread with immunityOpenAI 1General coding (CoderPad, stdlib only): 5-part grid infection spread simulation — part 2 adds immune cells, part 3 adds a days-to-recovery c…OpenAI Interview Notes (unofficial reconstructed problems)infection-spread with immunity variants
1extensible card hand rankingOpenAI 1Card game: compare hands (three of a kind > pair > high card); add flush (three of a kind > flush > pair > high card); add a discard rule (d…OpenAI Interview Notes (unofficial reconstructed problems)OpenAI notes poker-hands extensible ranking
1plant infection countdownsOpenAI 160-minute plant-infection coding problem in parts; part 3 computes countdowns for recovery and immunity (initially infected plants also reco…OpenAI Interview Notes (unofficial reconstructed problems)infection-spread countdown parts
1rectangle board with undoOpenAI 1Rectangle: maintain a 2D board with add rectangle, remove rectangle, undo, then follow-ups like removeAt and batch remove (multipart, state …Refactoring.Guru: Design Patterns in Pythonawesome-low-level-designCommand pattern for undo; board modelling
1expiring GPU credit ledgerOpenAI 1GPU credit problem: add_credit, subtract, get_balance; subtract uses earliest-expiring credits first; 4 given test cases, then optimization …OpenAI Interview Notes (unofficial reconstructed problems)Python docs: collections, heapq, bisect, itertools, dataclassesgpu-credits earliest-expiry consumption; heap by expiration
1in-memory KV store serializationOpenAI 1KV store coding problem (recruiter said in-memory data store; know how to serialize it in Python)Python docs: pickle, shelve and json (data persistence)Python docs: struct — interpret bytes as packed binary dataIn-memory KV serialization choices; struct packing
1KV storeOpenAI 1KV store codingOpenAI Interview Notes (unofficial reconstructed problems)Let's Build a Simple Databasein-memory-database notes; simple DB structure
1job scheduler debuggingOpenAI 1Debug a Python job scheduler repo from bug reports, writing a test for each fix: failed jobs stuck in PENDING because of missing exception h…The Debugging Bookpytest documentationWorking Effectively with Legacy CodeRepro test per bug report, then fix; characterization tests
1distributed node counting via messagesOpenAI 1Given a root node and sendAsyncMessage(nodeId, message), implement receiveMessage(fromNodeId, message) to count all nodes in the network tre…OpenAI Interview Notes (unofficial reconstructed problems)OpenAI notes cluster-count-topology message-passing count
1chatbot refactorOpenAI 1Refactor a chatbot (coding); variant: for each away user, when someone @s them the bot replies with their away statusOpenAI Interview Notes (unofficial reconstructed problems)OpenAI notes chat-bot-refactoring
1malloc/free logarithmicOpenAI 1Implement malloc/free with provided tests; part 2: optimize to O(log n) malloc and free (e.g. two sorted lists, third-party library allowed)Sorted Containers (SortedList, SortedDict)OpenAI Interview Notes (unofficial reconstructed problems)LeetCode 2502 Design Memory AllocatorSorted free lists by address and size for O(log n)
1fault-tolerant queue with DLQOpenAI 1Fault-tolerant queue: implement enqueue, reserve, fail and a dead-letter queue passing given unit tests; part 2 adds dependencies between ta…OpenAI Interview Notes (unofficial reconstructed problems)Amazon SQS: visibility timeout and dead-letter queuesHow to do distributed lockingfault-tolerant-work-queue; visibility timeout and DLQ semantics
1fault-tolerant work queueOpenAI 1Fault-tolerant work queue (two parts)OpenAI Interview Notes (unofficial reconstructed problems)Amazon SQS: visibility timeout and dead-letter queuesfault-tolerant-work-queue two parts; redrive policy
1time-windowed GPU creditsOpenAI 1GPU credit system: grant credits with activation and expiration times, consume credits at a time, get balance at a time; operations may arri…OpenAI Interview Notes (unofficial reconstructed problems)Stripe Billing credits (credit grants)gpu-credits activation/expiry windows; credit grants model
1grid infection with deathsOpenAI 1Classic infection problem (multi-part; part 4 returns number of days and final number of deaths)OpenAI Interview Notes (unofficial reconstructed problems)infection-spread part 4: days and death counts
1fault-tolerant queue cooldownsOpenAI 1Fault-tolerant queue: enqueue, reserve, fail, DLQ with 7 unit tests; part 2 adds task dependencies; preempted tasks have a cooldown computed…OpenAI Interview Notes (unofficial reconstructed problems)Python docs: collections, heapq, bisect, itertools, dataclassesfault-tolerant-work-queue cooldowns; heap ordered by enqueue time
1contagion grid simulationOpenAI 1Contagion: part 1 time until everyone infected; part 2 add immune state; part 3 become immune D days after infection, time until stable; par…OpenAI Interview Notes (unofficial reconstructed problems)LeetCode 994 Rotting Oranges / 289 Game of LifeContagion time-to-all, immunity; BFS by day
1friend graph snapshotsOpenAI 1Friend Circle: follow/unfollow/snapshot; return all friends at a snapshot; recommend friends from a snapshot; diff friends between two snaps…OpenAI Interview Notes (unofficial reconstructed problems)LeetCode 981 Time Based Key-Value Store / 1146 Snapshot Arraysocial-network snapshots and recommendations; snapshot array
1social media feedOpenAI 1Design a social media feed (coding, parts 1 and 2)LeetCode 355 Design TwitterLC 355 follow graph and merged feed
1build a TerraformOpenAI 1Extra round: "Building a Terraform" problemPython docs: graphlib.TopologicalSorter500 Lines or Less: Contingent — A Fully Dynamic Build SystemBuild Systems à la Carte: Theory and PracticeDependency DAG apply order; dynamic rebuild of changed resources
1snapshot setOpenAI 1Implement a Set that supports snapshots: add/remove, create a snapshot, read the set state at a snapshotLeetCode 981 Time Based Key-Value Store / 1146 Snapshot ArrayOpenAI Interview Notes (unofficial reconstructed problems)LC 1146 snapshot ids; social-network snapshot set
1IP address / CIDROpenAI 1IP address coding problem (5 parts, including an IPv6 part)Python docs: ipaddress (summarize_address_range, ip_network)OpenAI Interview Notes (unofficial reconstructed problems)IPv4 and IPv6 networks; ipv4-cidr-iterator parts
1sliding-window chat analyticsOpenAI 1Chat session analytics over a non-decreasing log stream: ingest(user, chat, ts) and count_recent(user, chat) for the closed window [T-14, T]…OpenAI Interview Notes (unofficial reconstructed problems)LeetCode 359 Logger Rate Limiter / 362 Design Hit Counterevent-window-aggregation; hit-counter sliding window
1social graph snapshotsOpenAI 1Multipart social graph + snapshot problem: first part as on Hack2Hire, then getFollowers + getFollowees, then a recommendation partOpenAI Interview Notes (unofficial reconstructed problems)OpenAI notes social-network multipart snapshots
1GPU credit overdraftOpenAI 1GPU credit II: spend earliest-expiring credit first; if the balance ever goes negative, all later get_balance calls return None; follow-up: …OpenAI Interview Notes (unofficial reconstructed problems)Accounting for Developers, Part Igpu-credits overdraft; ledger entries instead of mutable balance
1counting machinesOpenAI 1Complex challenge around counting machinesOpenAI Interview Notes (unofficial reconstructed problems)cluster-count-topology machine counting
1processes vs threadsxAI 1What's the difference between multiprocessing and multithreading?Python behind the scenes #13: the GIL and its effects on Python multithreadingPython docs: multiprocessing and shared_memoryPython support for free threading (HOWTO) + PEP 703GIL mechanics; process model; free-threaded builds
1rocket simulationxAI 1Simulation of moving a rocket in a game-like setting, implemented under a tight time boxAdvent of Code (2020 Day 8: Handheld Halting)Effective Python: 125 Specific Ways to Write Better Python (3rd ed.)Time-stepped simulation drills; clean class structure
1race condition depositxAI 1Debug a multithreaded bank account deposit program (ThreadPoolExecutor depositing 500 and 700): find the read-sleep-write race condition and…Python docs: threading and queuePython Concurrency From the Ground Up: LIVE! (PyCon 2015)LeetCode Concurrency problem set (e.g. 1114 Print in Order, 1188 Bounded Blocking Queue)Lock around read-modify-write; why deposits race
1three-stage problem with concurrencyAnthropic 1Technical assessment (after CodeSignal): a popular LeetCode-style question set up as three stages, including concurrencyPython docs: concurrent.futures — launching parallel tasksLeetCode Concurrency problem set (e.g. 1114 Print in Order, 1188 Bounded Blocking Queue)Executor-based staging; synchronization puzzles
1single-file refactorOpenAI 1 · 1 staff+Onsite code-refactoring round: refactor a single file in CoderPadRefactoring: Improving the Design of Existing Code, 2nd EditionBeyond PEP 8: Best practices for beautiful intelligible code (PyCon 2015)Single-file refactor under tests
1progressive CodeSignal levelsAnthropic 1 · 1 staff+Automated CodeSignal screen (Python only): progressive levels where only passing all visible unit tests matters; perfect score requiredCodeSignal Industry Coding FrameworkOpen Gauntlet: 4-level progressive coding practiceAll-tests-pass level gating; timed mocks
1no built-ins constraintAnthropic 1Live coding on a CodeSignal-style problem with the constraint 'do not use any inbuilt methods' (e.g. implementing string splitting yourself)Exercism Python trackMIT 6.101 Fundamentals of Programming (Fall 2026)Implement split, parsing helpers without built-ins
1extend pre-written codeOpenAI 1Additional coding round after onsite: work on pre-written code with two interviewersWorking Effectively with Legacy CodeRefactoring: Improving the Design of Existing Code, 2nd EditionWork inside pre-written code safely
1debug and improve codeOpenAI 1Coding round: a debugging / improvement exercise on existing codeThe Debugging BookGoogle Engineering Practices: Code ReviewDebug then improve; review checklist
1pandas data codingOpenAI 1Initial screen: pandas-style data coding10 minutes to pandasPython for Data Analysis, 3E (open access)pandas selection, groupby, cleaning
1extend class follow-upsxAI 1Technical rounds: implement a class, then extend it through follow-upsA Philosophy of Software Design, 2nd EditionOpen Gauntlet: 4-level progressive coding practiceInterfaces that absorb follow-ups; progressive practice
1progressive Python project with testsAnthropic 1Anthropic Fellows OA: progressive 90-minute Python coding project with unittest-based tests and possible concurrency/threading componentsPython docs: unittestOpen Gauntlet: 4-level progressive coding practiceunittest-based level tests; 90-minute progressive mocks
1core Python live codingAnthropic 1Anthropic Safety Fellows: 55-minute live coding challenge using only core Python (no ML libraries)Effective Python: 125 Specific Ways to Write Better Python (3rd ed.)Practical Python ProgrammingCore-Python idioms without libraries
1in-memory system merges and historyAnthropic 1Progressive 4-level CodeSignal exercise building an in-memory banking-style system in standard-library Python; the final level required stat…Anthropic Interview Notes (unofficial reconstructed problems)Open Gauntlet: 4-level progressive coding practiceoa-bank-system merges and history levels
1concurrency follow-upAnthropic 1Web crawler phone-screen problem (shown as an image; commenters identify it as crawling linked URLs) with a follow-up to add concurrency; ca…LeetCode 1236 Web Crawler / 1242 Web Crawler MultithreadedPython docs: concurrent.futures — launching parallel tasksCrawler concurrency follow-up with executors
1code review and debuggingAnthropic 1Tech phone screen: first 30 minutes code review and debugging of existing code, second 30 minutes a non-LeetCode coding problemGoogle Engineering Practices: Code ReviewThe Debugging BookCode review then debugging of existing code
1progressive implement and refactorAnthropic 1CodeSignal OA: 4 modules testing how fast you can implement and refactor code on a simple problemOpen Gauntlet: 4-level progressive coding practiceLibreSignal: CodeSignal ICF practice frameworkImplement-and-refactor 4-level mocks
1debugging and time-based trackingOpenAI 1Phone screen topics given by recruiter for a backend role: debugging a production application; debugging a high-scale concurrent distributed…The Debugging BookLeetCode 981 Time Based Key-Value Store / 1146 Snapshot ArrayProduction debugging method; time-indexed tracking
1in-memory data storeOpenAI 1Implement an in-memory data store class with additional functions added in follow-up parts; instructions said performance did not matterAnthropic Interview Notes (unofficial reconstructed problems)oa-in-memory-database data store with follow-ups
1in-memory NoSQL databaseAnthropic 1Code an in-memory NoSQL database (CodeSignal-style progressive task)Anthropic Interview Notes (unofficial reconstructed problems)LibreSignal: CodeSignal ICF practice frameworkNoSQL-style in-memory DB levels
1stack trace to call intervalsAnthropic 1Turn an ordered list of stack-trace strings into start/end points for each function call (easy-medium stack problem), followed by a hard fol…LeetCode 636 Exclusive Time of FunctionsAnthropic Interview Notes (unofficial reconstructed problems)Stack strings to start/end intervals
1image pipeline from JSON specAnthropic 1Transform images based on JSON data in a pipeline using the Pillow library (question picked based on candidate's resume)Anthropic Interview Notes (unofficial reconstructed problems)Pillow (PIL fork) documentationJSON-recipe image pipeline with Pillow
1progressive CRUD app refactorAnthropic 190-minute OA: 4-level CRUD-style app with test cases per level; later levels require refactoring earlier code while adding featuresOpen Gauntlet: 4-level progressive coding practiceCodeSignal Practice: Industry Coding Framework (mock)CRUD levels forcing refactor
1CRUD with TTL and quotaAnthropic 1OA progressive problem combining CRUD + TTL + quota; level 3 needed a helper function used across all answersAnthropic Interview Notes (unofficial reconstructed problems)LeetCode 1797 Design Authentication Manageroa-cloud-storage quotas; TTL expiry
1web scraper with concurrencyAnthropic 1Build a web scraper for a given domain, first serially, then add concurrency/parallelization500 Lines or Less: A Web Crawler With asyncio CoroutinesPython docs: asyncio — coroutines and tasks, synchronization primitivesSerial then concurrent scraper with bounded tasks
1class design implementationOpenAI 1First-round coding: a class design question, not algorithmically hard but requiring a lot of implementationA Philosophy of Software Design, 2nd Editionawesome-low-level-designClean class design; OOD practice
1routing problem levelsAnthropic 1Anthropic Fellows OA1: a multi-level "routing" problem on CodeSignalOpen Gauntlet: 4-level progressive coding practiceLibreSignal: CodeSignal ICF practice frameworkMulti-level OA format practice (routing variant not public)
1incremental live codingAnthropic 1Incremental (multi-part) live coding problem, 55 minutes with an interviewer, explicitly not LeetCode-styleAnthropic Interview Notes (unofficial reconstructed problems)Open Gauntlet: 4-level progressive coding practiceMulti-part live problems; incremental extension
1multi-file bug fixing with AIMeta (org unspecified) 1"Coding with AI" round (1 hour): given a 4–5 file software project with test cases and an AI agent, fix bugs distributed across files to pas…Best practices for Claude CodeThe Debugging BookAgent-assisted multi-file fix with tests as oracle
1KV state serializationOpenAI 1Given key/value pairs and helper methods that convert strings to and from bytes, efficiently store that state in the cloud and retrieve it; …Python docs: struct — interpret bytes as packed binary dataProtocol Buffers: EncodingOpenAI Interview Notes (unofficial reconstructed problems)Bytes helpers, framing, efficient sync of KV state
1spreadsheet dependency propagationOpenAI 1Implement Excel-like formulas where updates propagate to dependent cells; how to handle cell dependencies and what to cache and when to inva…OpenAI Interview Notes (unofficial reconstructed problems)Python docs: graphlib.TopologicalSorterLeetCode 631 Design Excel Sum Formulaspreadsheet-dependencies propagation and cycle detection
1tokenizer without delimitersAnthropic 1Write a tokenizer and a detokenizer for a language with no delimiters (tokens like 'a', 'b', 'cd'; input 'abcdaa'); then handle overlapping …Anthropic Interview Notes (unofficial reconstructed problems)LeetCode 208 Implement Trie / 139 Word Breaklongest-match-tokenizer; overlapping tokens via Word Break DP
1banking query processorAnthropic 1Process queries CREATE_ACCOUNT, DEPOSIT and TRANSFER with timestamps and return string results ("true", balances, or "" for invalid ops such…Anthropic Interview Notes (unofficial reconstructed problems)LeetCode 2043 Simple Bank SystemCREATE/DEPOSIT/TRANSFER query processing levels
1exclusive time / duplicate filesAnthropic 1Coding questions like exclusive time of functions and duplicate file finderLeetCode 636 Exclusive Time of FunctionsLeetCode 609 Find Duplicate File in SystemLC 636 and LC 609
1in-memory DB with TTLAnthropic 1OA: in-memory database in 4 levels — get/set/delete; search and filter; TTL auto-expiration; time-travel queries for historical dataAnthropic Interview Notes (unofficial reconstructed problems)LeetCode 1797 Design Authentication Manageroa-in-memory-database TTL level
1cloud storage systemAnthropic 1OA: cloud storage system in 4 stages — add/copy/read files; pattern-matching file search; user management and storage limits; compress and r…Anthropic Interview Notes (unofficial reconstructed problems)LeetCode 588 Design In-Memory File System / 71 Simplify Pathoa-cloud-storage; LC 588 file system trie
1banking systemAnthropic 1OA: banking system in 4 levels — create account/deposit/transfer; rank by spending; scheduled payments and cashback; merge accounts and hist…Anthropic Interview Notes (unofficial reconstructed problems)oa-bank-system four levels
1employee trackerAnthropic 1OA: employee management system — track arrival/departure; hours worked and top performers; future-dated promotions; double-pay periodsOpen Gauntlet: 4-level progressive coding practiceawesome-low-level-designProgressive tracker-style systems; OOD modelling
1batch image processorAnthropic 1Batch-edit images in a folder according to a JSON configAnthropic Interview Notes (unofficial reconstructed problems)Pillow (PIL fork) documentationimage-processing-pipeline JSON config
1tokenizer bug fixAnthropic 1Given buggy tokenize and detokenize functions, find and fix the bugAnthropic Interview Notes (unofficial reconstructed problems)The Debugging BookTokenizer bug-fix part; minimal repro
1token usage costAnthropic 1Calculate LLM API token costs with different input vs output prices and token counting for streaming responsesPython docs: decimal — fixed-point arithmeticExact cost arithmetic with Decimal
1stack samples to trace eventsAnthropic 1Convert call-stack snapshots from a sampling profiler into an event timelineAnthropic Interview Notes (unofficial reconstructed problems)Trace Event FormatSamples to event timeline
1bootloader instruction loopAnthropic 1Fix an instruction loop in a bootloaderAnthropic Interview Notes (unofficial reconstructed problems)Advent of Code (2020 Day 8: Handheld Halting)bootloader-loop-fix; AoC 2020 day 8 loop detection
1image pipeline multiprocessingAnthropic 1Image pipeline using PIL for resizing and rotation, then add multiprocessingPython docs: multiprocessing and shared_memoryPillow (PIL fork) documentationPIL resize/rotate then multiprocessing
1longest-match shortcut tokenizerAnthropic 1 · 1 staff+Phone screen: tokenize an input command scanning left to right with predefined shortcut patterns, always preferring the longest matching pat…LeetCode 208 Implement Trie / 139 Word BreakAnthropic Interview Notes (unofficial reconstructed problems)Trie longest-match scan over shortcuts
1JSON-recipe image pipelineAnthropic 1 · 1 staff+Coding: process a collection of images according to transformation recipes defined in JSON, producing an output per image-transformation pai…Anthropic Interview Notes (unofficial reconstructed problems)image-processing-pipeline recipes
1token cost trackingAnthropic 1Implement token-usage cost tracking for input and output tokens, like an LLM API wouldPython docs: decimal — fixed-point arithmeticPython docs: collections, heapq, bisect, itertools, dataclassesPer-model input/output pricing aggregation
1progressive CodeSignal variantsAnthropic 190-minute 4-level CodeSignal: variants include in-memory DB, banking transactions, student course and grade management, file system, cloud f…LibreSignal: CodeSignal ICF practice frameworkOpen Gauntlet: 4-level progressive coding practiceAnthropic Interview Notes (unofficial reconstructed problems)Many 4-level variants: DB, bank, storage
1Spaces active-time from logsxAI 145-min phone screen: given unsorted Twitter Spaces event logs (create, join, leave), compute total active time per Space; handle unsorted lo…LeetCode 636 Exclusive Time of FunctionsPython docs: collections, heapq, bisect, itertools, dataclassesSort events; join/leave intervals into active time
1KV cache custom serializationxAI 1Build a durable key-value cache with custom byte-level serialization (no JSON/pickle, binary data)Python docs: struct — interpret bytes as packed binary dataProtocol Buffers: EncodingOpenAI Interview Notes (unofficial reconstructed problems)Custom byte serialization; durable-kv-store
1radix tree prefix cachexAI 1Design a radix-tree cache with prefix lookupsSGLang: Efficient Execution of Structured Language Model Programs (RadixAttention)LeetCode 208 Implement Trie / 139 Word BreakRadixAttention prefix tree with LRU; trie base
1production concurrency codexAI 1Write production-level concurrency code live instead of a standard LeetCode problemPython Concurrency From the Ground Up: LIVE! (PyCon 2015)Notes on structured concurrency, or: Go statement considered harmfulPython docs: asyncio — coroutines and tasks, synchronization primitivesProduction-grade structured concurrency
1multi-threading follow-upsUnspecified frontier 1Follow-ups after a working solution: how do you support multi-threading? how would you change the solution under a new list of constraints?Python docs: concurrent.futures — launching parallel tasksKeynote on Concurrency (PyBay 2017)Multithreading follow-ups and shared state
1versioned graph snapshotsOpenAI 1Versioned follow graph with snapshot queries: update current relationships while answering historical queries without copying the whole grap…OpenAI Interview Notes (unofficial reconstructed problems)social-network versioned snapshots
1GPU credit ledger out-of-orderOpenAI 1GPU credit ledger: credits expire, usage events may arrive late, query balance at an earlier point in timeOpenAI Interview Notes (unofficial reconstructed problems)Accounting for Developers, Part ILate events; ledger replay by timestamp
1durable KV store with WALOpenAI 1Durable string key-value store that survives a crash, including mid-write (atomic writes, write-ahead logging, recovery)OpenAI Interview Notes (unofficial reconstructed problems)Atomic Commit In SQLiteFiles are harddurable-kv-store WAL; atomic writes
1streaming token differOpenAI 1Token-level streaming differ with rollback: text arrives token by token, parts may later be removed or replaced; update only what changedPython docs: difflib — helpers for computing deltasOpcode diffs as reference for streaming differ
1memory allocator free listOpenAI 1Memory allocator: find a large enough free block, split on allocation, merge neighbours on freeOperating Systems: Three Easy Pieces (v1.10)CS:APP3e student labs (Malloc Lab, Proxy Lab)OpenAI Interview Notes (unofficial reconstructed problems)Split, coalesce, free list
1GPU credits out-of-orderOpenAI 1Implement GPU credit management: add_credit/subtract/get_balance with [start, expiration) windows, out-of-order timestamps, deduct earliest-…OpenAI Interview Notes (unofficial reconstructed problems)gpu-credits out-of-order variant
1key-value storeOpenAI 1Key-value store implementationLet's Build a Simple DatabaseOpenAI Interview Notes (unofficial reconstructed problems)KV store implementation basics
1GPU credit calculatorOpenAI 1GPU credit calculator: addCredit(creditID, amount, timestamp, expiration), useCredit(timestamp, amount), getBalance(timestamp), with API cal…OpenAI Interview Notes (unofficial reconstructed problems)Stripe Billing credits (credit grants)addCredit/useCredit with expiration ordering
1refactoring and code reviewOpenAI 1Refactoring and code-review style coding questions (common for experienced candidates), plus concurrency problemsRefactoring: Improving the Design of Existing Code, 2nd EditionGoogle Engineering Practices: Code ReviewRefactoring and review rounds
1infection thresholds follow-upsOpenAI 1Further parts of the infection-grid problem: infectionThreshold (minimum infected neighbours before a cell is infected) and deathThreshold (…OpenAI Interview Notes (unofficial reconstructed problems)infection threshold follow-ups
1in-memory DB with concurrencyAnthropic 1In-memory database simulation with concurrency handlingPython docs: threading and queueOperating Systems: Three Easy Pieces (v1.10)Locking an in-memory DB; lock granularity
1race condition debuggingAnthropic 1Identify and fix race conditions in multithreaded codeOperating Systems: Three Easy Pieces (v1.10)Python docs: threading and queueLeetCode Concurrency problem set (e.g. 1114 Print in Order, 1188 Bounded Blocking Queue)Race identification and fixes
1multi-tier bank ledgerAnthropic 1Multi-tier bank ledger systemAccounting for Developers, Part IDesigning robust and predictable APIs with idempotencyAnthropic Interview Notes (unofficial reconstructed problems)Double-entry ledger tiers; bank OA
1same-domain web crawlerAnthropic 1Web crawler for same-domain URLs using BFSLeetCode 1236 Web Crawler / 1242 Web Crawler MultithreadedPython docs: urllib.parse (urljoin, urldefrag, urlsplit)Same-domain BFS crawler
1mini database with transactionsAnthropic 1Code a full-featured mini-database with transactions in about 70 minutesLet's Build a Simple DatabaseOpenAI Interview Notes (unofficial reconstructed problems)500 Lines or Less: DBDB — Dog Bed DatabaseMini DB with transactions and persistence
1progressive API implementationAnthropic 1Anthropic Fellows online coding (90 min): automated API implementation challenge with four levels of progressive complexity, speed over opti…Open Gauntlet: 4-level progressive coding practicePython docs: unittestAutomated API levels with tests
1distributed KV storexAI 1Design a distributed key-value storeDynamo: Amazon's Highly Available Key-value Store (SOSP 2007)Redis persistence (RDB and AOF)Partitioning, replication, persistence trade-offs
1multithreaded sortxAI 1Multi-threaded array sortPython docs: multiprocessing and shared_memoryPython docs: concurrent.futures — launching parallel tasksChunked parallel sort then k-way merge
1labeling task scheduler fairnessOpenAI 1Data Labeling Task Scheduler (two parts): build a scheduler that balances data-labeling task assignments across models and human labelers, w…OpenAI Interview Notes (unofficial reconstructed problems)labeling-task-scheduler fairness
1shard rebalancingOpenAI 1Coding: Shard RebalancingOpenAI Interview Notes (unofficial reconstructed problems)Dynamo: Amazon's Highly Available Key-value Store (SOSP 2007)shard-rebalance; consistent hashing
1banking system 4 levelsAnthropic 1CodeSignal 90-min banking system: L1 create_account and deposit; L2 sort accounts by total transaction volume; L3 transfer and accept_transf…Anthropic Interview Notes (unofficial reconstructed problems)oa-bank-system four levels
1instruction loop detectionAnthropic 1 · 1 staff+Bootloader-repair style problem: simulate a list of instructions and detect where execution starts repeating.Advent of Code (2020 Day 8: Handheld Halting)Anthropic Interview Notes (unofficial reconstructed problems)Instruction simulation and loop detection
1versioned follow graphOpenAI 1 · 1 staff+Follow Graph with Snapshots and Recommendations.OpenAI Interview Notes (unofficial reconstructed problems)social-network follow graph snapshots
1token credit ledgerOpenAI 1 · 1 staff+Credit tracking service for user token balances.OpenAI Interview Notes (unofficial reconstructed problems)Accounting for Developers, Part IToken credit ledger with entries
1streaming SSE chunk parserCohere 1Write a streaming SSE/JSON parser that handles arbitrary chunk boundaries.HTML Standard: Server-sent events (event stream parsing)Spec line-parsing algorithm across chunk boundaries
1task schedulerAnthropic 1Create a task scheduler.LeetCode 1834 Single-Threaded CPU / 621 Task SchedulerPython docs: collections, heapq, bisect, itertools, dataclassesHeap-driven task scheduling
1OOP course/grade managementAnthropic 1Build an OOP system for managing courses, grades and students.awesome-low-level-designPython's Class Development Toolkit (PyCon 2013)OOP course/grade system modelling
1rate limiter evolving requirementsAnthropic 1Build a rate limiter. Every ten minutes I add a requirement: per-tenant limits, burst allowances, then a sliding window. How do you keep the…Scaling your API with rate limitersHow we built rate limiting capable of scaling to millions of domainsLeetCode 359 Logger Rate Limiter / 362 Design Hit CounterPer-tenant, burst and sliding-window extensions
1concurrent LLM calls with 429 retriesAnthropic 1You need to run an LLM call over 50,000 documents. The API allows ~100 concurrent requests and occasionally returns 429s and timeouts. Write…Python docs: asyncio — coroutines and tasks, synchronization primitivesTimeouts, retries, and backoff with jitter (Amazon Builders' Library)Semaphore at ~100 concurrent; 429 retries with jitter
1SQL product pairs bought togetherAnthropic 1SQL: write a query to find the top five pairs of products most frequently purchased together.SQLBolt: interactive SQL lessonsPostgreSQL tutorial: Window FunctionsSelf-join pairs, group, order, limit
1SQL overlapping subscription rangesAnthropic 1SQL: determine whether any user has overlapping subscription date ranges.SQLBolt: interactive SQL lessonsPostgreSQL tutorial: Window FunctionsSelf-join on overlapping date ranges or LAG
1SQL current salary after ETL errorAnthropic 1SQL: return each employee's current salary after an ETL error inserted a new salary row every year.PostgreSQL tutorial: Window FunctionsROW_NUMBER over latest salary per employee
1database ORM step by stepOpenAI 1Create a database ORM, step by step.Descriptor Guide (Python HOWTO)Architecture Patterns with Python (Cosmic Python)Descriptor-based mini ORM; repository pattern
1web crawler in GoOpenAI 1Code a trivial web crawler using Go.A Tour of Go — Exercise: Web CrawlerGo concurrent crawler exercise
1UI from mockupOpenAI 1Implement a UI from a mockup with provided CSS and API.React: Quick Start (react.dev/learn)React components from mockup
1bigram parsingGoogle DeepMind 1Parse bigrams: extract two-word phrases from strings for NLP feature engineering.Python docs: collections, heapq, bisect, itertools, dataclassesCounter with itertools.pairwise for bigrams
1AI-assisted multi-file bug fixMeta MSL 1You're dropped into an unfamiliar multi-file codebase with a failing behaviour and an LLM assistant available. Walk me through how you'd fix…Best practices for Claude CodeThe Debugging BookAgent-assisted reproduce, fix, verify
1stubbed inference scheduler methodxAI 1Here is a scheduler class from a small LLM inference engine. One method, \_admit_requests, is a stub: no spec, no docstring, no tests. Walk …vLLM Architecture OverviewScheduler and KV-cache admission design in vLLM
1four-hour AI product buildxAI 1You have four hours to build and demo a working AI-powered product. How do you spend them?Best practices for Claude CodeBuilding effective agentsYour AI Product Needs EvalsPlan, build simplest agent, evaluate within four hours
1token rate limiter multi-tenantCohere 1Design a token-based rate limiter for a multi-tenant LLM API. Implement the core, then tell me what changes when it's distributed.Scaling your API with rate limitersHow we built rate limiting capable of scaling to millions of domainsToken-based multi-tenant limits and distributed counting
1multi-language code reviewAnthropic 1Hiring-manager call (technical variant): review code examples in different programming languages, detect issues, and identify what the code …Google Engineering Practices: Code ReviewLanguage-agnostic code review checklist
1file system traversalOpenAI 1Practical coding phone screen (CoderPad): algorithms and data-structures problem framed as real work, e.g. traversing a file system; multi-p…LeetCode 588 Design In-Memory File System / 71 Simplify PathAnthropic Interview Notes (unofficial reconstructed problems)File-system trie; os.walk-based traversal in dedup notes
1time-based data structureOpenAI 1Coding problems built on time-based data structures.LeetCode 981 Time Based Key-Value Store / 1146 Snapshot ArrayTime-indexed values with bisect
1versioned data storeOpenAI 1Coding problems built on versioned data stores.LeetCode 981 Time Based Key-Value Store / 1146 Snapshot ArrayOpenAI Interview Notes (unofficial reconstructed problems)Versioned store; time-based-kv-store
1coroutines and concurrencyOpenAI 1Coding that uses coroutines in your chosen language (multithreading, concurrency).import asyncio: Learn Python's AsyncIO (video series)Python docs: asyncio — coroutines and tasks, synchronization primitivesFluent Python, 2nd EditionCoroutines from event loop up
1OOP iterator classesOpenAI 1Coding that tests object-oriented programming concepts: abstract classes, iterator classes, inheritance.Fluent Python, 2nd EditionLeetCode 341 Flatten Nested List Iterator / 284 Peeking IteratorIterator protocol and ABCs; iterator classes
1agentic coding existing codebaseOpenAI 1Agentic coding round (beta): given a prompt and an existing codebase, make changes and add features to a problem scoped too large to solve b…Best practices for Claude CodeAgentic changes in an existing codebase
1Meta AI-assisted coding roundMeta MSL 1AI-assisted coding round (60 min, CoderPad with built-in assistant, multi-file codebase of a few hundred to a few thousand lines): one thema…Meta's AI-Enabled Coding Interview: How to PrepareMeta AI-enabled round format and rubric
1take-home with evalsUnspecified frontier 1Take-home of four to eight hours with a written report, sometimes with AI explicitly allowed; must run with one command, ship evals, and the…Your AI Product Needs EvalsEvals section for take-home reports
1image instruction-file pipelineAnthropic 1Code an image-processing pipeline that reads per-image instruction files and applies ordered transformations (e.g., rotate, invert, crop, co…Anthropic Interview Notes (unofficial reconstructed problems)Pillow (PIL fork) documentationInstruction-file image pipeline
1LRU cache with extensionsAnthropic 1Implement an LRU cache with serialization and evolving constraints.Anthropic Interview Notes (unofficial reconstructed problems)LeetCode 146 LRU Cache / 460 LFU CacheLRU with serialization and evolving constraints
1streaming database progressive specAnthropic 1Implement a streaming database with the given constraints and requirements.Open Gauntlet: 4-level progressive coding practiceAnthropic Interview Notes (unofficial reconstructed problems)Progressive streaming-DB style levels
1in-memory database CodeSignal levelsAnthropic 1Implement an in-memory database in CodeSignal, with each round adding more functionality.Anthropic Interview Notes (unofficial reconstructed problems)oa-in-memory-database CodeSignal levels
1chat interface with classesOpenAI 1Build a chatbot-style chat interface using classes.OpenAI Interview Notes (unofficial reconstructed problems)chat-bot-refactoring class design
1GPU credit management systemOpenAI 1Implement a GPU credit management system.OpenAI Interview Notes (unofficial reconstructed problems)gpu-credits management
1task scheduler in PythonOpenAI 1Design a task scheduler in Python.LeetCode 1834 Single-Threaded CPU / 621 Task SchedulerPython docs: collections, heapq, bisect, itertools, dataclassesHeap-based Python task scheduler
1stateful iterator over iteratorsxAI 1Implement an iterator class that supports next, hasNext, getState, and setState, then extend it to treat a list of iterators as one continuo…OpenAI Interview Notes (unofficial reconstructed problems)resumable-iterator getState/setState
1implement missing fn in LLM codebasexAI 1Given a large, partially implemented LLM/agentic codebase, identify the intended behavior and implement a missing function by reading and re…vLLM Architecture OverviewnanoGPT (code-reading practice)Infer intended behaviour from LLM codebase structure
1beat string to music notationOpenAI 1Convert a string marking whether an instrument is played on each beat into music notation; extend to multiple instruments, then rests.Exercism Python trackString-to-notation conversion drills
1KV store serializer state restoreOpenAI 1Implement a key-value store serializer and deserializer that stores and restores system state, with specific output when state is queried wh…OpenAI Interview Notes (unofficial reconstructed problems)Python docs: pickle, shelve and json (data persistence)durable-kv-store state restore; serialization choices
1human/AI task assignment systemOpenAI 1Write code for a system that assigns tasks to humans and AI, satisfying a provided list of requirements.OpenAI Interview Notes (unofficial reconstructed problems)labeling-task-scheduler human/AI assignment
1iterator 2D and asyncOpenAI 1Build an iterator that outputs values in sequence, then extend it to 2D, then to an async iterator.LeetCode 341 Flatten Nested List Iterator / 284 Peeking IteratorFluent Python, 2nd EditionPython docs: asyncio — coroutines and tasks, synchronization primitivesNested/2D iterators; async iterators
1KV state cloud sync bytesOpenAI 1Efficiently sync key/value state to and from the cloud, using helper methods that convert strings to bytes and back.Python docs: struct — interpret bytes as packed binary dataProtocol Buffers: EncodingBytes encoding for cloud sync
1chess game OOPOpenAI 1Design a chess game.awesome-low-level-designChess OOD
1banking app progressive specAnthropic 1Build the core business logic for a banking application with multiple transaction types.Anthropic Interview Notes (unofficial reconstructed problems)oa-bank-system transaction types
1extend feature unfamiliar codebaseAnthropic 1Extend a practical feature inside an existing codebase with limited documentation.Working Effectively with Legacy CodeExtend features with seams and tests
1stdlib-only data extractionAnthropic 1Python data extraction task restricted to the standard library (no third-party NLP packages), plus ethical trade-off questions about data fo…Regular Expression HOWTO (Python docs) + csv moduleStdlib regex/csv extraction
1messy dataset cleaning pandasAnthropic 1You're given a roughly 100-column sales dataset with missing values, inconsistent formats, and duplicate records. Transform it for downstrea…Python for Data Analysis, 3E (open access)10 minutes to pandasCleaning missing values and inconsistent formats
1compound-rule rate limiterxAI 1Design and implement a rate limiter for a single URL, then extend it to support compound rules across multiple URLs and payload-aware limits…Scaling your API with rate limitersLeetCode 359 Logger Rate Limiter / 362 Design Hit CounterComposable rules over token buckets and windows
1retry with backoff wrapperOpenAI 1Applied coding: write a retry-with-exponential-backoff wrapper for API calls (or parse tokenizer output / implement streaming batching).Timeouts, retries, and backoff with jitter (Amazon Builders' Library)Exponential backoff with full jitter wrapper
1tree message-passing node countOpenAI 1Cluster Node Count & Topology (Tree Messaging) (3 parts)OpenAI Interview Notes (unofficial reconstructed problems)cluster-count-topology tree messaging
1GPU credit ledgerOpenAI 1GPU Credits (3 parts)OpenAI Interview Notes (unofficial reconstructed problems)gpu-credits three parts
1labeling task schedulerOpenAI 1Data Labeling Task Scheduler (3 parts)OpenAI Interview Notes (unofficial reconstructed problems)labeling-task-scheduler three parts
1monster battle simulationOpenAI 1Monster Battle (3 parts)OpenAI Interview Notes (unofficial reconstructed problems)monster-battle three parts
1toy language type inferenceOpenAI 1Type Inference for a Toy Language (2 parts)OpenAI Interview Notes (unofficial reconstructed problems)Type inferencetype-inference two parts; unification
1checkpointing PR code reviewGoogle DeepMind 1Code Review: Ranking the Defects in a Checkpointing Change: A pull request adds the module checkpointing.py below to a training codebase.Anthropic Interview Notes (unofficial reconstructed problems)Google Engineering Practices: Code Reviewagentic-pr-review defect ranking; review severity
1ML experiment config mergeAnthropic 1ML Experiment Configuration System (4 parts / 55 min)Anthropic Interview Notes (unofficial reconstructed problems)ml-config-system four parts
1weighted data batcher checkpointingAnthropic 1Weighted Data Batcher with Checkpointing (3 parts / 55 min)Anthropic Interview Notes (unofficial reconstructed problems)weighted-data-batcher with checkpointing
1friend recommendation systemMeta MSL 1Friend Recommendation SystemOpenAI Interview Notes (unofficial reconstructed problems)social-network friend recommendations
1codebase bugfix then extendMeta MSL 1AI-enabled coding phase 1: find and fix a non-algorithmic bug in an existing multi-file codebase (e.g. an iteration cap of 10,000 throwing a…Best practices for Claude CodeWorking Effectively with Legacy CodeFix then extend inside multi-file codebase
1cd command symlinksOpenAI 1Unix CD Command with Symbolic Link Resolution: implement cd navigation with ., .., absolute paths and symlinks, detecting cycles.OpenAI Interview Notes (unofficial reconstructed problems)LeetCode 588 Design In-Memory File System / 71 Simplify Pathcd-command symlinks; Simplify Path
1snapshot arrayOpenAI 1Implement a SnapshotArray (set, snap, get by snap_id).LeetCode 981 Time Based Key-Value Store / 1146 Snapshot ArrayLC 1146 Snapshot Array
1toy language interpreterOpenAI 1Toy language interpreter (75-minute): lexer, recursive-descent parser, evaluator.Crafting Interpreters500 Lines or Less: A Python Interpreter Written in PythonLexer, recursive-descent parser, evaluator

All resources

Everything collected for this topic, newest first. 2026 items are marked green. ★ marks a top pick.

Type
Level
Subtopic

  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~4 h
    The containers every lab problem leans on: OrderedDict/deque/Counter/defaultdict, heap-based priority queues (including the priority-queue implementation notes), bisect for time-indexed lookups, itertools recipes.
    L7Baseline; skim if known, but memorize OrderedDict.move_to_end, heapq lazy-deletion and bisect key= so you never pause on them under time.
    Docs track Python 3.15 as of 2026-10.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~2 h
    What pickle can and cannot serialize, its security model, protocol versions, and the json alternative; the starting point for every 'make it persistent' follow-up.
    L7Lets you state the pickle-vs-JSON-vs-custom-bytes trade-off (safety, versioning, speed, partial reads) before the interviewer asks.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~1 h
    Fixed-width and length-prefixed binary encoding with format strings; what you need when a KV-store round bans json/pickle and asks for byte-level serialization.
    L7Baseline tool; pair it with the protobuf encoding page to discuss varints and framing.
  • 2026
    CPython core developers · Oct 2026 · Reference · Advanced · ~2 h
    The real lru_cache: how _make_key flattens *args/**kwargs with a sentinel, typed keys, the circular doubly linked list, and the lock around it. Matches the 'fix the key construction bug' rounds directly.
    L7Lets you discuss hash collisions between args and kwargs, kwarg order, unhashable arguments and thread safety the way the stdlib authors solved them.
  • 2026
    Raymond Hettinger / PSF · Oct 2026 · Reference · Advanced · ~2 h
    How attribute access, properties, methods and __set_name__ work, ending with a small ORM built from descriptors.
    L7Lets you build an ORM-style 'step by step' class quickly and explain the mechanics; skip if you already write descriptors.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~1 h
    IPv4/IPv6 address and network types, including summarize_address_range, which is the library answer to IP-range-to-CIDR; use it to test your hand-written version.
    L7Baseline; use as an oracle for property tests of your own bit-manipulation solution.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~1 h
    Streaming hashes, hashlib.file_digest, and algorithm choices; the middle stage of size → hash → byte-compare duplicate detection.
    L7Lets you justify hash choice (speed vs. collision risk) and chunk size, and say when a partial hash of the first block is enough.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~1 h
    Stdlib topological sort with cycle detection and an incremental get_ready/done API; the backbone of spreadsheet recalculation and Terraform-style dependency problems.
    L7Baseline; know it exists and also be able to write Kahn's algorithm yourself.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~1 h
    URL resolution, fragment stripping and hostname extraction, which are the 'same host' and 'ignore #fragment' rules in the Anthropic crawler.
    L7Baseline; prevents the classic crawler bugs (relative links, fragments, ports) that cost a level.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~1 h
    Exact decimal money arithmetic and rounding modes, for token-cost and credit calculators where floats drift.
    L7Lets you raise money-representation (integer micro-units vs. Decimal) unprompted, a small but senior signal.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~1 h
    inspect.signature, getsource and frame inspection, for OA questions that pass you a callable and ask you to print or bind its parameters.
    L7Baseline; skim.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~1 h
    SequenceMatcher opcodes and unified diffs; a reference implementation to check a hand-rolled token-level streaming differ against.
    L7Baseline; the senior part is explaining incremental diffing with rollback, which you design yourself.
  • 2026
    A.M. Kuchling / PSF · Oct 2026 · Reference · Core · ~2 h
    Stdlib-only text extraction and parsing (regex groups, verbose patterns, csv dialects) for data-transformation rounds that ban third-party packages.
    L7Baseline; skim if known.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~2 h
    ThreadPoolExecutor/ProcessPoolExecutor, as_completed, wait, cancellation and shutdown; the standard way to turn a BFS crawler or image batch into a parallel one.
    L7Lets you choose threads vs. processes per workload and explain shutdown/cancellation semantics when a follow-up adds timeouts.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~3 h
    TaskGroup, timeouts, Semaphore, Queue and cancellation, which is what an async crawler or a rate-limited batch caller needs.
    L7Lets you write structured, cancellable async code with bounded concurrency instead of gather-everything.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~2 h
    Locks, RLock, Condition, Event, Semaphore and the thread-safe queue module; what you reach for when debugging a racy deposit or scheduler.
    L7Baseline; know Condition-variable patterns cold for bounded queues and worker pools.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~2 h
    Process pools, start methods, pickling constraints and shared memory, for CPU-bound image pipelines.
    L7Lets you explain spawn vs. fork, pickling overhead and when shared memory pays off.
  • 2026
    Jeffrey A. Clark and contributors · Oct 2026 · Reference · Core · ~1 h
    Image open/convert/resize/rotate/filter APIs and lazy loading, the library the image-pipeline rounds hand you.
    L7Baseline; the senior part is chunking, memory bounds and process-pool sizing around it.
  • 2026
    PSF; Sam Gross (PEP 703, Meta) · Oct 2026 · Reference · Advanced · ~2 h
    The no-GIL build: what changes for thread safety and performance, and the PEP's design rationale (biased reference counting, per-object locks).
    L7Lets you give a current answer to 'threads vs. processes in Python' that accounts for free-threaded 3.13+ builds, not a 2015 answer.
  • 2026
    pytest-dev · Oct 2026 · Reference · Core · ~3 h
    Fixtures, parametrize, tmp_path, monkeypatch and raises; what you need to write quick tests between levels.
    L7Baseline; the senior part is choosing which three tests to write first under time.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Core · ~1 h
    The stdlib test framework used in some lab OAs (e.g. unittest-based progressive projects) where pytest isn't installed.
    L7Baseline; know setUp, subTest and assertRaises without looking.
  • 2026
    Hypothesis developers · Oct 2026 · Reference · Advanced · ~2 h
    Generates random sequences of operations against a model; ideal for checking a KV store, ledger or allocator against a brute-force reference.
    L7Lets you validate levels 1–4 against an obviously-correct model, which catches the regressions that sink level 4.
  • 2026
    Python Software Foundation · Oct 2026 · Reference · Intro · ~0.5 h
    breakpoint(), post-mortem debugging and stepping commands.
    L7Baseline; skim.
  • 2026
    MIT EECS · Sep 2026 · Course · Core · ~60 h
    Readings plus multi-part Python labs (search, recursion, interpreters, simulations) that grow in stages with test suites, close to the multi-part lab format.
    L7Lets you practise staged problems with provided tests; pick 4–5 labs and do them unaided under a timer.
    Readings and labs are public; lecture recordings are not public.
  • 2026
    UC Berkeley EECS · Sep 2026 · Course · Core · ~60 h
    Python course on abstraction, higher-order functions, iterators/generators, OOP, and interpreters (Scheme project).
    L7Baseline for most; the interpreter project is the useful part for toy-language rounds.
    Current-term lecture recordings are linked from the site via Berkeley tools and may need a CalNet login.
  • 2026
    Phillip Gibbons et al., Carnegie Mellon · Sep 2026 · Course · Advanced · ~80 h
    Systems course behind CS:APP: memory hierarchy, virtual memory, dynamic memory allocation, concurrency and network programming.
    L7Lets you go deep on allocators and concurrency when a follow-up turns systems-level; use the allocation and concurrency lectures.
    Slides are public; lecture videos are for enrolled students.
  • 2026
    Stanford CS · Sep 2026 · Course · Advanced · ~60 h
    C, pointers and memory, ending with a heap-allocator assignment (implicit and explicit free lists).
    L7Use the heap-allocator assignment spec as a harder malloc drill; skip the rest unless your C is rusty.
    Lecture videos are not public.
  • 2026
    Stanford CS · Sep 2026 · Course · Advanced · ~60 h
    OS course (successor to CS110) covering file systems and crash recovery, processes, threads, synchronization and virtual memory.
    L7Use the synchronization and crash-recovery lectures to back up concurrency and durability follow-ups.
    Slides and assignments public; videos are not.
  • 2026
    UC Berkeley EECS · Sep 2026 · Course · Advanced · ~80 h · video
    Full OS course with lecture videos: concurrency, synchronization, deadlock, scheduling, memory, file systems and transactions.
    L7Lets you discuss scheduler fairness, deadlock avoidance and transactions with OS-level precision.
    Fall 2026 lecture videos are on bCourses and need a CalNet login; earlier terms' videos have been public on YouTube.
  • 2026
    Community repo (mirror of Schuture/Anthropic-Interview-Notes) · Sep 2026 · Practice · Advanced · ~30 h
    25 coding pages reconstructed from candidate reports: concurrent web crawler, file deduplication, LRU cache bugfix + durability, stack-trace reconstruction, longest-match tokenizer, image pipeline, bootloader loop, nine multi-level OAs (bank, in-memory DB, cloud storage, recipe manager, task manager…), with full statements, solutions and CI-run checks.
    L7Lets you rehearse every recurring Anthropic problem through all its parts; do each unaided first, then compare with the solution's pitfalls notes.
    Unofficial; statements are reconstructions, not the actual questions. The original Schuture/* repo no longer resolves (404 on 2026-10-27); this 2026-09 copy is a 2-star mirror, so it may disappear.
  • 2026
    Community repo (mirror of Schuture/OpenAI-Interview-Notes) · Sep 2026 · Practice · Advanced · ~40 h
    37 coding problems reconstructed from reports: infection spread, GPU credits, in-memory database, durable KV store, memory allocator, spreadsheet dependencies, fault-tolerant work queue, resumable iterator, IPv4 CIDR, social network snapshots, time-based KV, rate-limiter debug, chatbot refactoring, cd command, type inference, monster battle and more, each with multi-part statements, solutions and checks.
    L7Lets you drill the full OpenAI recurring set through every part; time each one and track how many parts you finish.
    Unofficial reconstructions. The original Schuture/* repo no longer resolves (404 on 2026-10-27); this is a 1-star mirror created 2026-09-23.
  • 2026
    Pallavi Shekhar · Sep 2026 · Practice · Intro · ~3 h
    A large README of interview questions grouped by company (Anthropic, OpenAI, xAI, Mistral…) with short answers; ~1.9k stars, updated through 2026-10.
    L7Use as a checklist of which problem families exist; it lists questions but rarely gives runnable solutions.
  • 2026
    spartypkp · Apr 2026 · Practice · Core · ~9 h
    Local web app with six four-level problems, a timer and hidden tests that unlock the next level, built by a candidate who took Anthropic-style OAs.
    L7Lets you rehearse the real constraint: L1 design choices that make L3/L4 possible under 90 minutes.
  • 2026
    Eric Zheng · Mar 2026 · Practice · Core · ~6 h
    Multi-level ICF-style practice problems with tests (168 stars), plus notes on scoring.
    L7More unseen four-level problems for the 'twice in a row' readiness check.
  • 2026
    MIT CSAIL (Anish Athalye, Jon Gjengset, Jose Javier Gonzalez Ortiz et al.) · Jan 2026 · Course · Intro · ~10 h · video
    Short MIT course on the shell, editors, version control, debugging and profiling, re-recorded in 2026.
    L7Baseline; watch the debugging/profiling lecture only.
  • 2026
    Exercism · 2026 · Practice · Intro · ~20 h
    Hundreds of small exercises with tests and optional human mentoring; good for no-built-ins string and parsing drills (implement split, run-length encoding, notation conversion).
    L7Baseline; use for 15-minute warm-ups without autocomplete, not as main prep.
  • 2026
    The Go Authors · 2026 · Practice · Core · ~1 h
    The canonical concurrent-crawler exercise in Go (dedupe with a mutex-protected map, goroutines, WaitGroup) for rounds that allow or require Go.
    L7Baseline; useful only if you might choose Go for the crawler.
  • 2026
    Alexander Shvets · 2026 · Reference · Intro · ~3 h
    Illustrated catalogue of patterns with Python examples (Command for undo, Strategy, Observer, State).
    L7Baseline; look up Command and State before undo or game-simulation problems.
  • 2026
    Ashish Pratap Singh · 2026 · Practice · Core · ~10 h
    Large collection of object-oriented design problems with solutions (chess, parking lot, library, employee and course systems, etc.) in several languages.
    L7Use for breadth on class-design prompts; solutions vary in quality, so judge them rather than copying.
  • 2026
    vLLM project · 2026 · Reference · Advanced · ~2 h
    How vLLM's engine, scheduler, workers and KV-cache manager fit together; context for 'implement the scheduler's admit method' style rounds.
    L7Lets you orient in an inference-engine codebase fast and discuss admission, batching and preemption trade-offs.
  • 2026
    Redis · 2026 · Reference · Advanced · ~1 h
    Trade-offs between snapshotting and append-only logs, fsync policies and AOF rewrite in a widely used in-memory store.
    L7Lets you compare snapshot vs. log persistence for an in-memory KV with real durability/latency trade-offs.
  • 2026
    Google · 2026 · Reference · Advanced · ~1 h
    Varints, tags and length-delimited fields, which is a compact, versionable byte format to borrow when json/pickle are banned.
    L7Lets you design a custom serialization with framing and forward compatibility, then defend its size and speed.
  • 2026
    CodeCrafters · 2026 · Practice · Advanced · ~15 h · paid
    Staged, test-graded build of a Redis clone: protocol parsing, concurrent clients, expiry, RDB persistence, replication.
    L7Lets you practise a KV store with TTL and persistence across many stages against hidden tests; good but paid.
    Subscription; some stages free.
  • 2026
    Amazon Web Services · 2026 · Reference · Advanced · ~1 h
    Production semantics for reserve/ack/fail: in-flight messages, visibility timeouts, maxReceiveCount and redrive to a DLQ.
    L7Lets you map the fault-tolerant-queue problem onto real at-least-once semantics and argue cooldown and DLQ policies.
  • 2026
    Stripe · 2026 · Reference · Advanced · ~1 h
    A real credit-grant model: effective and expiry dates, priority/ordering of consumption, applicability and balance queries.
    L7Lets you ground GPU-credit ledger design choices (consume earliest-expiring first, grants vs. ledger entries) in a production API.
  • 2026
    WHATWG · 2026 · Reference · Core · ~1 h
    The normative line-based parsing algorithm for event streams (fields, blank-line dispatch, CR/LF handling), which is what a chunk-boundary-safe SSE parser must implement.
    L7Lets you write an incremental parser that handles arbitrary chunk boundaries correctly and test the edge cases the spec lists.
  • 2026
    Hello Interview · 2026 · Reference · Core · ~1 h
    Round-by-round description of the Anthropic staff loop, including the practical coding format and reported problems.
    L7Lets you calibrate what 'finished all parts' means at staff level before drilling.
  • 2026
    Hello Interview · 2026 · Reference · Core · ~1 h
    Hello Interview's guide to OpenAI's L5 (staff-equivalent) loop with the coding round format and question list.
    L7Same as above for OpenAI; read before the OpenAI drills.
  • 2026
    interviewing.io · 2026 · Reference · Core · ~1 h
    Process overview and reported question types for Anthropic from a mock-interview platform.
    L7Baseline orientation; skim.
  • 2026
    PracHub · 2026 · Practice · Core · ~3 h · paid
    Third-party bank of candidate-reported Anthropic (and, via sibling pages, OpenAI) coding questions with level-by-level descriptions.
    L7Useful to see the variants of each problem; many full write-ups are behind PracHub Premium.
    Freemium: some content needs a paid account; reports are unverified.
  • 2026
    CodeSignal · 2026 · Reference · Intro · ~0.5 h
    The vendor's description of the 90-minute, four-level progressive assessment that several labs use for OAs.
    L7Baseline; read once so the format holds no surprises.
  • 2026
    CodeSignal · 2026 · Practice · Intro · ~10 h
    CodeSignal's own learning paths in its IDE, useful for getting used to the environment the OA runs in.
    L7Baseline; do one path to learn the IDE, then move to the 4-level mocks.
  • 2026
    LeetCode · 2026 · Practice · Core · ~1.5 h · paid
    Same-hostname BFS crawl with a provided HtmlParser, then the multithreaded version; the reported phone-screen problem.
    L7Baseline; the senior part is the follow-up discussion (politeness, distribution, failure) that LeetCode doesn't test.
    Both are LeetCode Premium problems.
  • 2026
    LeetCode · 2026 · Practice · Core · ~4 h
    Small synchronization puzzles graded by a multi-threaded harness: ordering, bounded blocking queue, dining philosophers.
    L7Baseline; the bounded blocking queue is worth writing from Condition variables unaided.
  • 2026
    LeetCode · 2026 · Practice · Core · ~1.5 h
    O(1) LRU with hash map + doubly linked list, and LFU as the harder variant.
    L7Baseline; write it once without OrderedDict, then extend to weighted/size-bounded eviction.
  • 2026
    LeetCode · 2026 · Practice · Core · ~0.5 h
    Group files by content; its official follow-ups (real file system, large files, false positives) match the interview follow-ups.
    L7Baseline; practise answering the follow-ups out loud.
  • 2026
    LeetCode · 2026 · Practice · Core · ~0.5 h
    Stack-based processing of start/end logs into per-function time, the inverse of stack-samples-to-trace-events.
    L7Baseline; do it, then write the samples → events direction yourself.
  • 2026
    LeetCode · 2026 · Practice · Core · ~1 h
    Multi-source BFS by day and synchronous in-place cellular updates, the two mechanics behind infection-spread simulations.
    L7Baseline; the parts that matter are double-buffering vs. encoding states and stopping conditions.
  • 2026
    LeetCode · 2026 · Practice · Core · ~1 h
    Versioned values with bisect lookup by timestamp or snapshot id, the core of time-travel KV, snapshot sets and follow-graph snapshots.
    L7Baseline; extend each to deletes and memory bounds as interviewers do.
  • 2026
    LeetCode · 2026 · Practice · Core · ~1 h
    allocate(size, id) / free(id) over a linear memory, solvable naively or with sorted free intervals.
    L7Baseline; push it to O(log n) with sorted free lists keyed by address and size.
  • 2026
    LeetCode · 2026 · Practice · Advanced · ~1.5 h · paid
    Cells with SUM formulas over ranges that update when inputs change; a hard design problem close to the spreadsheet round.
    L7Lets you practise dependency tracking and propagation; extend with cycle detection.
    Premium problem.
  • 2026
    LeetCode · 2026 · Practice · Core · ~0.5 h · paid
    Cover a range of IPs with the fewest CIDR blocks using lowest-set-bit arithmetic.
    L7Baseline; check your answer against ipaddress.summarize_address_range.
    Premium problem.
  • 2026
    LeetCode · 2026 · Practice · Core · ~1 h
    Lazy stack-based flattening and iterator wrapping, the base of resumable and nested iterator rounds.
    L7Baseline; extend with get_state/set_state to rehearse the resumable variant.
  • 2026
    LeetCode · 2026 · Practice · Intro · ~0.5 h
    Level-1 of the banking OA: accounts, deposit, withdraw, transfer with validation.
    L7Baseline; use only as a 10-minute warm-up.
  • 2026
    LeetCode · 2026 · Practice · Core · ~0.5 h · paid
    Tables with insert/delete/select by row id, a small version of the in-memory SQL database round.
    L7Baseline; extend with WHERE, ORDER BY and tombstone deletes.
    Premium problem.
  • 2026
    LeetCode · 2026 · Practice · Advanced · ~1 h · paid
    Trie-backed ls/mkdir/addContentToFile/readContentFromFile, plus path normalization; close to the cloud-storage OA and cd-with-symlinks problems.
    L7Baseline; add copy, size quotas and symlink resolution to match the interview variants.
    588 is Premium.
  • 2026
    LeetCode · 2026 · Practice · Core · ~0.5 h
    Follow/unfollow and a k-way merge news feed, the base of social-feed and follow-graph rounds.
    L7Baseline.
  • 2026
    LeetCode · 2026 · Practice · Core · ~0.5 h · paid
    Sliding-window counts over a timestamp stream with bounded memory, the core of rate limiters and windowed chat analytics.
    L7Baseline; then add per-key memory bounds and out-of-order handling.
    Premium problems.
  • 2026
    LeetCode · 2026 · Practice · Core · ~1 h
    Prefix trees and segmentation DP, the two tools for longest-match and no-delimiter tokenizers.
    L7Baseline; contrast greedy longest-match with DP segmentation when tokens overlap.
  • 2026
    LeetCode · 2026 · Practice · Core · ~0.5 h
    Tokens with time-to-live, renewals and counting unexpired items, a small model of TTL in KV stores and credit expiry.
    L7Baseline; then make expiry O(log n) with a heap and lazy deletion.
  • 2026
    LeetCode · 2026 · Practice · Core · ~1 h
    Heap-driven simulation of task arrival and processing order, and cooldown scheduling.
    L7Baseline; the heap patterns transfer to fault-tolerant queues with cooldowns.
  • 2026
    PostgreSQL Global Development Group · 2026 · Reference · Core · ~1 h
    Window functions (ROW_NUMBER, LAG, PARTITION BY), needed for 'current salary after ETL error' and overlapping-range queries.
    L7Baseline for SQL rounds.
  • 2026
    pandas development team · 2026 · Tutorial · Intro · ~1 h
    Quick tour of pandas selection, missing data, groupby, merge and reshaping.
    L7Baseline; for pandas-style screens only.
  • 2026
    Meta / React team · 2026 · Tutorial · Intro · ~3 h
    Official React tutorial: components, state, effects, lists; enough for a small UI-from-mockup or full-stack build round.
    L7Baseline; only if a full-stack round is on your loop.
  • 2026
    Sebastián Ramírez · 2026 · Tutorial · Intro · ~3 h
    Building a small typed Python HTTP API quickly, the backend half of a live full-stack build.
    L7Baseline; only if needed.
  • 2026
    GreatFrontEnd · 2026 · Practice · Intro · ~0.5 h
    Implement debounce in JavaScript with tests, the core of typeahead-with-debounce questions.
    L7Baseline.
  • 2026
    Anthropic · 2026 · Reference · Core · ~1 h
    Anthropic's guidance on explore → plan → code → verify workflows, giving the agent context, and test-driven loops with an AI coding agent.
    L7Lets you run AI-assisted codebase rounds (PR review, multi-file bug fix) with a deliberate verify-first workflow instead of prompting blindly.
  • 2026
    Evan King (Hello Interview) · 2026 · Blog post · Core · ~1 h
    Living guide to Meta's AI-enabled coding round (rolled out from October 2025): CoderPad multi-file layout, rubric, and how to use the assistant.
    L7Directly relevant to your current employer's loop; read once.
  • 2025
    Ben Frederickson · 2025 · Tool · Core · ~1 h
    Production sampling profiler that records stack samples and writes flame graphs or speedscope/Chrome trace output.
    L7Lets you ground the stack-samples problem in how a real profiler converts samples to events; run it once on your own code.
  • 2025
    Hugging Face · 2025 · Tutorial · Core · ~1 h
    Implements WordPiece training and greedy longest-match-first tokenization with unknown-token handling.
    L7Lets you tie a longest-match tokenizer round to real tokenizers and discuss greedy vs. optimal segmentation.
  • 2024
    Erik Schluntz and Barry Zhang (Anthropic) · Dec 2024 · Blog post · Core · ~1 h
    Workflow vs. agent patterns (prompt chaining, routing, orchestrator-workers, evaluator-optimizer) and when to keep it simple.
    L7Gives you a plan for 'ship an AI product in four hours' take-homes that favours the simplest working design.
  • 2024
    Brett Slatkin (Addison-Wesley) · Nov 2024 · Book · Core · ~25 h · paid
    Item-sized advice on the exact stdlib you need unaided: comprehensions, generators, dataclasses, concurrency (threads vs. processes vs. asyncio), and robustness. Fastest way to rebuild idiom recall for timed rounds.
    L7Gives you crisp one-line justifications for each idiom choice, which is how senior candidates narrate while typing; read the concurrency and robustness chapters closely, skim the rest.
  • 2024
    Hamel Husain · Mar 2024 · Blog post · Core · ~1 h
    Practical guide to unit-test-style assertions, human and model grading, and iterating on an LLM product with evals.
    L7Lets you add a credible eval section to a take-home report.
  • 2024
    Paul Lockett · Feb 2024 · Practice · Core · ~2 h
    The best-known public mock of the four-level format (448 stars) with level-by-level test files.
    L7Do it once under 90 minutes as a baseline before the harder mocks.
  • 2024
    SQLite developers (D. Richard Hipp) · 2024 · Reference · Advanced · ~2 h
    Step-by-step walk through rollback journals, fsync points and recovery after power loss in a production database.
    L7Lets you design a WAL or rollback journal for a durable KV store and reason about which crash points are safe.
  • 2024
    Brendan Gregg · 2024 · Reference · Advanced · ~1 h
    How stack samples are collapsed and visualized; the mental model behind stack-samples-to-trace problems and 'find the slowest function'.
    L7Lets you explain sampling vs. tracing, inclusive vs. exclusive time and sample-rate error when asked.
  • 2024
    Jeffrey Dean and Sanjay Ghemawat (Google) · 2024 · Reference · Advanced · ~1 h
    Log file, memtable, sorted tables, levels, compaction and recovery in an LSM key-value store, including how deletes become tombstones.
    L7Lets you answer 'delete via tombstone, LSM' and recovery follow-ups on an in-memory DB with a real design.
  • 2024
    SQLBolt · 2024 · Practice · Intro · ~3 h
    Short interactive SQL lessons from SELECT through joins, aggregates and subqueries.
    L7Baseline; only for SQL screens.
  • 2023
    Kent Beck · Dec 2023 · Blog post · Core · ~0.5 h
    Beck's short restatement of the TDD loop: list scenarios, write one test, make it pass, refactor, repeat.
    L7Gives you a defensible way to run a 'use TDD' round and narrate it.
  • 2023
    Lianmin Zheng et al. · Dec 2023 · Paper · Advanced · ~2 h
    Introduces RadixAttention: a radix tree over token prefixes for KV-cache reuse with LRU eviction.
    L7Lets you connect a 'radix-tree prefix cache' coding question to how inference engines actually reuse prefixes; read section 3.
  • 2023
    David Beazley · Aug 2023 · Course · Advanced · ~30 h
    Exercise-driven course on the object model, generators, coroutines, metaprogramming and concurrency, from someone who teaches Python internals.
    L7Lets you go a level below the API in follow-ups (how a coroutine scheduler or decorator actually works); do the generator/coroutine and class sections.
  • 2023
    Andrej Karpathy · 2023 · Practice · Core · ~3 h
    A ~300-line GPT model and training loop; small enough to read end to end in an hour, so good practice for 'reason about this LLM codebase' rounds.
    L7Lets you practise reading an ML codebase quickly and explaining its data flow; read model.py and train.py with a timer.
  • 2023
    Remzi and Andrea Arpaci-Dusseau · 2023 · Book · Advanced · ~20 h
    Free OS textbook; the chapters that matter here are Free-Space Management (ch. 17), the Concurrency part (locks, condition variables, common concurrency bugs, ch. 26–34) and Crash Consistency (ch. 42).
    L7Lets you discuss allocator fragmentation, deadlock conditions and journaling at textbook depth; read ch. 17, 31–32 and 42.
  • 2022
    Ana Bell, MIT OpenCourseWare · Sep 2022 · Course · Intro · ~30 h · video
    Full OCW course with lecture videos and problem sets: recursion, OOP, testing/debugging, complexity.
    L7Baseline; skip unless rebuilding fundamentals.
  • 2022
    Wes McKinney · Aug 2022 · Book · Core · ~10 h
    The pandas author's book, free online: data cleaning, transformation, groupby and time series.
    L7Read the cleaning and groupby chapters for messy-dataset rounds; skip otherwise.
  • 2022
    Luciano Ramalho (O'Reilly) · Apr 2022 · Book · Advanced · ~40 h · paid
    Deep treatment of the data model, iterators/generators (ch. 17), descriptors, and concurrency (ch. 19–21: threads, processes, asyncio, executors). The companion site hosts extra chapters.
    L7Lets you explain why your iterator, decorator or async code behaves as it does at the protocol level, which is what follow-ups on resumable iterators and async crawlers probe; read ch. 17 and 19–21.
    Companion site; the book itself is on O'Reilly (paid). A 3rd edition was not announced on the site as of 2026-10.
  • 2022
    Brian Okken (Pragmatic Bookshelf) · Feb 2022 · Book · Core · ~10 h · paid
    Practical pytest book: fixtures, parametrization, mocking, coverage, and testing strategy for real projects.
    L7Lets you structure tests for a growing class quickly; read the strategy and fixture chapters.
  • 2022
    David J. Malan, Harvard · 2022 · Course · Intro · ~25 h · video
    Ten video lectures with problem sets on functions, exceptions, file I/O, regex, testing with pytest and OOP.
    L7Baseline; only if you need a structured Python refresher, otherwise skip.
    Videos are the 2022 recording; still the current CS50P.
  • 2022
    Łukasz Langa (EdgeDB) · 2022 · Course · Advanced · ~6 h · video
    A CPython core developer builds up asyncio from the event loop, futures and coroutines to practical patterns.
    L7Lets you reason about cancellation, scheduling and blocking calls inside async code, which async-crawler follow-ups probe.
  • 2022
    Modern Treasury · 2022 · Blog post · Advanced · ~1 h
    Double-entry ledgers explained for engineers: accounts, entries, debits/credits and immutability.
    L7Lets you design an append-only ledger with corrections instead of mutable balances, which handles out-of-order and overdraft follow-ups cleanly.
  • 2021
    Victor Skvortsov · Sep 2021 · Blog post · Advanced · ~1 h
    How CPython's GIL is implemented, how switching and convoy effects work, and why I/O-bound threads still scale.
    L7Lets you answer 'processes vs. threads' with mechanism and numbers instead of slogans.
  • 2021
    John Ousterhout · Jul 2021 · Book · Advanced · ~8 h · paid
    Deep vs. shallow modules, information hiding, and designing interfaces so that later changes stay local, the core skill in four-level problems.
    L7Lets you pick an L1 interface that makes L3/L4 cheap and explain why, which is the difference between finishing four levels and three.
  • 2021
    Robert Nystrom · Jul 2021 · Book · Advanced · ~20 h
    Free book that builds a tree-walk interpreter (scanner, recursive-descent parser, resolver, evaluator) then a bytecode VM.
    L7Lets you write a lexer + recursive-descent parser + evaluator in 75 minutes; do chapters 4–8 once.
  • 2021
    Grant Jenks · 2021 · Tool · Core · ~1 h
    Pure-Python sorted collections with O(log n) inserts and bisect; the 'third-party library allowed' route to O(log n) malloc/free and ordered ledgers.
    L7Lets you take the pragmatic O(log n) path when the interviewer allows libraries, and explain the load-factor design if asked.
    Version 2.4.0; stable, not recently updated.
  • 2021
    Andreas Zeller et al. (CISPA) · 2021 · Book · Advanced · ~10 h
    Interactive Python book on systematic debugging: scientific method, tracing, assertions, delta debugging, and statistical fault localization.
    L7Lets you debug a buggy scheduler or rate limiter by hypothesis and minimal repro instead of print-scatter; read the intro, tracing and delta-debugging chapters.
  • 2020
    Eric Wastl · Dec 2020 · Practice · Core · ~1 h
    Simulate an instruction list, detect the infinite loop, then find the one instruction to flip, the same shape as the 'bootloader instruction loop' round. The wider archive is full of grid simulations.
    L7Good timed warm-ups for simulation problems; the senior part is clean state modelling, not the puzzle.
  • 2020
    Andrey Mokhov, Neil Mitchell, Simon Peyton Jones · Apr 2020 · Paper · Advanced · ~3 h
    Frames Excel, Make, Bazel and Shake as schedulers plus rebuilders, explicitly treating spreadsheets as build systems with dynamic dependencies.
    L7Lets you discuss spreadsheet and Terraform-style recompute strategies (topological vs. restarting vs. suspending) at research depth; skim sections 1–3.
    Journal of Functional Programming version of the ICFP 2018 paper.
  • 2020
    Titus Winters, Tom Manshreck, Hyrum Wright (eds.) · Mar 2020 · Book · Advanced · ~10 h
    Google's practices for testing (ch. 11–14: unit testing, test doubles, larger tests), code review and large-scale change.
    L7Lets you talk about test strategy, flakiness and code health at org scale, which senior refactoring rounds reward.
  • 2020
    Harry Percival and Bob Gregory · Mar 2020 · Book · Advanced · ~12 h
    Repository, unit of work, service layer and events in Python, with tests at each layer; free online.
    L7Lets you discuss how a toy bank or DB would grow into a service without over-engineering the interview version.
  • 2020
    David Beazley · 2020 · Course · Intro · ~15 h
    Beazley's full Python course as free notes and exercises: data handling, classes, generators, testing, packaging.
    L7Baseline; use only the generator and class sections as warm-ups.
  • 2020
    Brandon Rhodes · 2020 · Reference · Core · ~3 h
    Which Gang-of-Four patterns matter in Python and which are replaced by language features.
    L7Lets you avoid Java-style over-design and say why, a common senior signal.
  • 2019
    Lynn Root (Spotify) · May 2019 · Lecture · Advanced · ~1 h · video
    Graceful shutdown, signal handling, exception handling and blocking-code integration in a production asyncio service.
    L7Lets you discuss shutdown, partial failure and retries in async workers like someone who has run them.
  • 2019
    Marc Brooker (AWS) · 2019 · Blog post · Advanced · ~1 h
    How AWS sets timeouts, limits retries, and uses jittered backoff to avoid retry storms; the companion post compares jitter strategies with simulations.
    L7Lets you design a 429-aware batch caller with retry budgets and explain why full jitter, which is the senior answer.
  • 2019
    Google · 2019 · Reference · Core · ~2 h
    What to look for in a review (design, functionality, complexity, tests, naming) and how to write review comments.
    L7Gives you a checklist for PR-review and 'rank the defects' rounds and a vocabulary for severity.
  • 2018
    Martin Fowler · Nov 2018 · Book · Advanced · ~15 h · paid
    The catalogue of small, behaviour-preserving changes and the discipline of refactoring under tests; the online catalogue is free.
    L7Lets you name and sequence safe refactorings out loud on a 120-line messy file, which is what refactoring rounds grade.
  • 2018
    Nathaniel J. Smith · Apr 2018 · Blog post · Advanced · ~1 h
    The argument for nurseries/task groups: why unstructured spawns break error handling and cancellation; the idea behind asyncio.TaskGroup.
    L7Lets you defend your crawler's task structure and explain exactly how failures and cancellation propagate.
  • 2018
    Eli Bendersky · Feb 2018 · Blog post · Advanced · ~2 h
    Hindley–Milner style inference for a micro-language in Python: constraint generation and unification, with code.
    L7Lets you implement and explain unification for 'type inference for a toy language' rounds.
  • 2017
    Raymond Hettinger · Aug 2017 · Lecture · Core · ~1 h · video
    Threads vs. processes vs. async with their failure modes, plus rules for using queues and atomic message passing to avoid races.
    L7Gives you a clean decision framework to state out loud before choosing a concurrency model.
  • 2017
    Julien Desgats (Cloudflare) · Jun 2017 · Blog post · Advanced · ~1 h
    Sliding-window counter approximation, its measured error, and distributed counting trade-offs at Cloudflare scale.
    L7Lets you justify sliding-window-counter vs. log vs. token bucket with memory and accuracy numbers.
  • 2017
    Paul Tarjan (Stripe) · Mar 2017 · Blog post · Advanced · ~1 h
    Stripe's four limiters (request rate, concurrency, fleet usage load shedder, worker utilization) and token-bucket implementation in Redis.
    L7Lets you extend a token bucket to per-tenant and concurrency limits and discuss load shedding, as rate-limiter follow-ups demand.
  • 2017
    Brandur Leach (Stripe) · Feb 2017 · Blog post · Advanced · ~1 h
    Idempotency keys, safe retries and exactly-once effects for payment-style mutations.
    L7Lets you make ledger and bank operations retry-safe and explain how, a natural senior follow-up on credits problems.
  • 2017
    Connor Stack · 2017 · Tutorial · Core · ~8 h
    Builds a SQLite-like database in C step by step: REPL, row storage, persistence to disk, B-tree.
    L7Lets you sketch how an in-memory DB would page to disk when a follow-up asks; read the persistence and B-tree parts.
  • 2016
    Martin Kleppmann · Feb 2016 · Blog post · Advanced · ~1 h
    Why leases without fencing tokens break under pauses and clock skew, using Redlock as the case study.
    L7Lets you reason about reserve/lease semantics in a fault-tolerant queue or scheduler when workers stall.
  • 2016
    A. Jesse Jiryu Davis and Guido van Rossum · 2016 · Tutorial · Advanced · ~3 h
    Builds a crawler three ways (callbacks, generators-as-coroutines, asyncio) with a queue, worker pool and termination detection.
    L7Lets you discuss crawl termination, bounded workers and redirect handling from first principles, beyond a LeetCode-style answer.
  • 2016
    Randal Bryant and David O'Hallaron (CMU) · 2016 · Practice · Advanced · ~20 h
    The malloc lab (implicit/explicit/segregated free lists with coalescing, graded on throughput and utilization) and the concurrent caching web proxy lab.
    L7Lets you implement malloc/free with splitting and coalescing for real, so the interview version feels small.
  • 2016
    Taavi Burns · 2016 · Tutorial · Advanced · ~2 h
    A small Python key/value store with an immutable binary tree, append-only file and atomic commit.
    L7Lets you discuss append-only persistence and atomic root swaps for a Python KV store with code to point at.
  • 2016
    Brandon Rhodes and Daniel Rocco · 2016 · Tutorial · Advanced · ~2 h
    A Python build system that tracks dependencies dynamically and recomputes only what changed, the same structure as spreadsheet recalculation.
    L7Lets you design spreadsheet propagation with dirty marking and cycle detection and compare eager vs. lazy recompute.
  • 2016
    Allison Kaptur · 2016 · Tutorial · Advanced · ~2 h
    Builds a bytecode interpreter (Byterun) with frames and a value stack.
    L7Useful background for toy-interpreter rounds; skim.
  • 2016
    Chromium tracing team (Google) · 2016 · Reference · Advanced · ~1 h
    The JSON B/E (begin/end) and X (complete) event format consumed by chrome://tracing and Perfetto; exactly the output shape of stack-samples-to-trace-events.
    L7Lets you produce correctly nested begin/end events and discuss timestamp and nesting invariants the way real profilers do.
  • 2016
    Mike Ulrich et al. (Google SRE) · 2016 · Book · Advanced · ~2 h
    How retries, queue growth and missing deadlines turn overload into outage; client-side throttling and load shedding at Google.
    L7Lets you say what your crawler or batch caller does when the backend degrades, beyond 'retry with backoff'.
  • 2015
    Dan Luu · Dec 2015 · Blog post · Advanced · ~1 h
    Summary of research showing how file systems and applications lose data on crash: rename atomicity, fsync ordering, and how often real systems get it wrong.
    L7Lets you design LRU/KV persistence that survives a mid-write crash (write temp, fsync, rename, fsync dir) and explain why each step exists.
  • 2015
    David Beazley · Apr 2015 · Lecture · Advanced · ~1 h · video
    Live-codes a threaded server, then processes, then a coroutine event loop from scratch, showing the GIL's effect on CPU vs. I/O work.
    L7Lets you explain what an event loop actually does when asked to convert a threaded crawler to async.
  • 2015
    Raymond Hettinger · Apr 2015 · Lecture · Core · ~1 h · video
    Live refactor of real code into idiomatic Python, warning against style-only changes that miss the real problems.
    L7Shows what a reviewer notices first in a refactoring round; watch once.
  • 2013
    Raymond Hettinger · Mar 2013 · Lecture · Intro · ~1 h · video
    Fifty minutes of loop, dict and context-manager idioms that make unaided code shorter and less buggy.
    L7Baseline; skim at 1.5x if your Python is already idiomatic.
  • 2013
    Raymond Hettinger · Mar 2013 · Lecture · Core · ~1 h · video
    Evolves one class through changing user requirements: alternative constructors, slots, properties and subclass-friendly design.
    L7Directly rehearses the 'requirements change every level' dynamic; watch once.
  • 2013
    Jeffrey Dean and Luiz André Barroso (Google) · Feb 2013 · Paper · Advanced · ~1 h
    Why tail latency dominates fan-out systems and how hedged and tied requests cut it.
    L7Lets you propose hedged fetches and per-request deadlines when a concurrent crawler follow-up asks about slow hosts.
  • 2007
    Giuseppe DeCandia et al. (Amazon) · Oct 2007 · Paper · Advanced · ~3 h
    Consistent hashing with virtual nodes, replication, sloppy quorums, vector clocks and hinted handoff.
    L7Lets you take a KV-store or shard-rebalancing round to distributed scale with the canonical trade-offs.
  • 2006
    Jason Evans · Apr 2006 · Paper · Advanced · ~2 h
    Size classes, arenas per thread and run/chunk layout in a production allocator later used at Facebook and in Firefox.
    L7Lets you extend a malloc answer to multi-threaded contention and size-class design if the interviewer goes there.
  • 2004
    Michael Feathers (Prentice Hall) · Sep 2004 · Book · Advanced · ~15 h · paid
    Characterization tests, seams and dependency-breaking techniques for changing code you don't understand yet.
    L7Lets you extend a huge unfamiliar class safely by pinning behaviour first; older but still the canonical reference.
  • 1995
    Paul R. Wilson, Mark S. Johnstone, Michael Neely, David Boles · 1995 · Survey paper · Advanced · ~4 h
    The classic survey of allocator policies (first/best/next fit, segregated fits, buddy systems), fragmentation and coalescing.
    L7Lets you argue first-fit vs. best-fit vs. segregated free lists with evidence when a malloc round asks 'which and why'.
    Old but still the canonical reference on allocator policy.
Not found or not verified. Could not verify public lecture videos for MIT 6.101, Stanford CS107/CS111 or the current CMU 15-213 and CS 162 terms (the latter two need campus logins). The O'Reilly pages for Fluent Python and Working Effectively with Legacy Code block curl (403); the Fluent Python companion site is used instead. LeetCode pages block curl (403), so problem existence was confirmed against the doocs/leetcode index. The original Schuture Anthropic/OpenAI Interview Notes repos now 404; only small mirrors remain and may vanish. No public source for the 'routing' Fellows OA, 'counting machines', 'rocket simulation' or 'tetris' prompts beyond the general practice resources mapped to them. Real Python tutorials are Cloudflare-blocked and were left out. Links checked 27 Oct 2026.