practices

Interview-prep notebooks you can run in your browser. 58 notebooks across 3 tracks.

JupyterLite runs fully in your browser — no install, numpy/pandas/matplotlib preloaded. The concurrency track needs real OS threads, so launch it on Binder or Colab. View source on GitHub →

ml-coding

Runs in JupyterLite

NumPy tensor & vectorization drills — masking, broadcasting, numerical stability.

  • ML Coding — Day 1: Transformers & friendsday01_practice.ipynbOpen ▸
  • ML Coding — Day 2: Attention II (backward & training)day02_practice.ipynbOpen ▸
  • ML Coding — Day 3: Attention III (efficient & long-context)day03_practice.ipynbOpen ▸
  • ML Coding — Day 4: MLP / MoE Iday04_practice.ipynbOpen ▸
  • ML Coding — Day 5: Quantization I (fundamentals)day05_practice.ipynbOpen ▸
  • ML Coding — Day 6: Attention IV (positional schemes)day06_practice.ipynbOpen ▸
  • ML Coding — Day 7: MoE II (backward & load balancing)day07_practice.ipynbOpen ▸
  • ML Coding — Day 8: Quantization II (PTQ & calibration)day08_practice.ipynbOpen ▸
  • ML Coding — Day 9: Quantization III (LLM methods)day09_practice.ipynbOpen ▸
  • ML Coding — Day 10: Quantization IV (QAT & backward)day10_practice.ipynbOpen ▸

10 notebooks

paper-math

Runs in JupyterLite

Intuition-first math, 30 minutes a day, toward reading ML papers.

  • Day 1 — Summation notation \sum (and the moves papers make with it)day01_practice.ipynbOpen ▸
  • Day 2 — Vectors & embeddingsday02_practice.ipynbOpen ▸
  • Day 3 — The dot product a\cdot bday03_practice.ipynbOpen ▸
  • Day 4 — Length: squares, sum of squares, the L2 normday04_practice.ipynbOpen ▸
  • Day 5 — Geometry: a\cdot b = \lVert a\rVert\,\lVert b\rVert\cos\thetaday05_practice.ipynbOpen ▸
  • Day 6 — Unit vectors & normalizationday06_practice.ipynbOpen ▸
  • Day 7 — Cosine similarity (mini-capstone)day07_practice.ipynbOpen ▸
  • Day 8 — One query vs many documentsday08_practice.ipynbOpen ▸
  • Day 9 — Top-k retrieval · Milestone 1 capstone 🏁day09_practice.ipynbOpen ▸
  • Day 10 — max & argmax · the itch for softmaxday10_practice.ipynbOpen ▸
  • Day 11 — Matrix multiplication = a batch of dot productsday11_practice.ipynbOpen ▸
  • Day 12 — The exponential e^xday12_practice.ipynbOpen ▸
  • Day 13 — Softmax = a soft argmaxday13_practice.ipynbOpen ▸
  • Day 14 — Softmax properties: stability & differentiabilityday14_practice.ipynbOpen ▸
  • Day 15 — Weighted average / convex combinationday15_practice.ipynbOpen ▸
  • Day 16 — Why divide by \sqrt{d}day16_practice.ipynbOpen ▸
  • Day 17 — Scaled dot-product attention · Milestone 2 capstone 🏁day17_practice.ipynbOpen ▸
  • Day 18 — Cosine similarity ↔ attention · Milestone 2 wrap 🎓day18_practice.ipynbOpen ▸

18 notebooks

modern-coding

Needs real threads → Binder / Colab

Amazon FAR-style multi-step coding drills that end in real threads & processes.

  • Modern Coding Practice — Morse Code (Amazon FAR style)01_morse_code_practice.ipynbBinderColab
  • Modern Coding Practice — Rate Limiter (Amazon FAR style)02_rate_limiter_practice.ipynbBinderColab
  • Modern Coding Practice — Log Aggregator (Amazon FAR style)03_log_aggregator_practice.ipynbBinderColab
  • Modern Coding Practice — LRU / TTL Cache (Amazon FAR style)04_lru_ttl_cache_practice.ipynbBinderColab
  • Modern Coding Practice — Chunked File Transfer (Amazon FAR style)05_chunked_transfer_practice.ipynbBinderColab
  • Modern Coding Practice — Itinerary Reconstruction (Amazon FAR style)06_itinerary_reconstruction_practice.ipynbBinderColab
  • Modern Coding Practice — Pub/Sub Broker (Amazon FAR style)07_pubsub_practice.ipynbBinderColab
  • Modern Coding Practice — Concurrent Web Crawler (Amazon FAR style)08_crawler_practice.ipynbBinderColab
  • 09 — Parallel Task Runner (Amazon FAR style)09_threadpool_practice.ipynbBinderColab
  • 10 — Connection Pool (Amazon FAR style)10_connection_pool_practice.ipynbBinderColab
  • 11 — Key-Value Store + Write-Ahead Log (Amazon FAR style)11_kvstore_wal_practice.ipynbBinderColab
  • 12 — DAG Task Scheduler (Amazon FAR style)12_dag_scheduler_practice.ipynbBinderColab
  • 13 — Account Ledger (Amazon FAR style)13_ledger_practice.ipynbBinderColab
  • 14 — Streaming Pipeline (Amazon FAR style)14_pipeline_practice.ipynbBinderColab
  • 15 — Retry + Circuit Breaker (Amazon FAR style)15_circuit_breaker_practice.ipynbBinderColab
  • 16 — Consistent Hashing Ring (Amazon FAR style)16_consistent_hashing_practice.ipynbBinderColab
  • 17 — Exactly-Once / Deduplication (Amazon FAR style)17_dedup_practice.ipynbBinderColab
  • 18 — Top-K Heavy Hitters (Amazon FAR style)18_heavy_hitters_practice.ipynbBinderColab
  • 19 — In-Memory Filesystem (Amazon FAR style)19_filesystem_practice.ipynbBinderColab
  • 20 — Bloom Filter (Amazon FAR style)20_bloom_filter_practice.ipynbBinderColab
  • 21 — Merkle Tree (Amazon FAR style)21_merkle_tree_practice.ipynbBinderColab
  • 22 — CRDT G-Counter (Amazon FAR style)22_crdt_counter_practice.ipynbBinderColab
  • 23 — Order Book / Matching Engine (Amazon FAR style)23_order_book_practice.ipynbBinderColab
  • 24 — MVCC Versioned Store (Amazon FAR style)24_mvcc_store_practice.ipynbBinderColab
  • 25 — Trie Autocomplete (Amazon FAR style)25_trie_autocomplete_practice.ipynbBinderColab
  • 26 — Reservoir Sampling (Amazon FAR style)26_reservoir_sampling_practice.ipynbBinderColab
  • 27 — Union-Find (Disjoint Set Union) (Amazon FAR style)27_union_find_practice.ipynbBinderColab
  • 28 — LFU Cache (Amazon FAR style)28_lfu_cache_practice.ipynbBinderColab
  • 29 — Two-Phase Commit (Amazon FAR style)29_two_phase_commit_practice.ipynbBinderColab
  • 30 — Count-Min Sketch (Amazon FAR style)30_count_min_sketch_practice.ipynbBinderColab

30 notebooks