Coding Interview Foundations
A live technical screen is rarely about trick questions — it's a 60–90 minute conversation about how you think, held over a shared editor, covering a well-known core: data structures, algorithms, Big-O, recursion, trees and graphs, hash tables, object-oriented design and a dash of concurrency. This track covers exactly that core. Every module pairs a plain-English explanation with a live interactive lab— step a binary search, watch a race condition lose updates, collide hash keys — plus a “say it out loud” box with the sentences that demonstrate understanding to another engineer.
How to use this track
Start with the problem-solving method(module 1) — it's the frame everything else hangs on. Then work the topics in order; each ends with the complexity facts worth having cold. Practice talking while the labs run: in a live interview, narrated thinking is the product, and silent perfection scores worse than a spoken brute force improved out loud.
- 🗺️→
Module 1
The problem-solving method
Clarify, work an example by hand, name the brute force, then earn the optimization — the loop that turns a blank editor into a conversation.
🎛 Two-sum: brute force vs hash map
- ⏱️→
Module 2
Big-O notation
What O(n), O(n log n) and O(n²) actually promise, the ~10⁸ ops/second budget, and how to read a required complexity straight off the input size.
🎛 Growth-rate explorer
- 🧱→
Module 3
Arrays, linked lists, stacks & queues
The four workhorses: contiguous vs linked memory, O(1) ends vs O(n) middles, and the one-line use case that picks each structure.
🎛 Stack vs queue simulator
- #️⃣→
Module 4
Hash tables
Key → hash → bucket: how average O(1) lookup works, what collisions and load factor do to it, and why hash maps answer half of all interview problems.
🎛 Bucket & collision lab
- 🪆→
Module 5
Recursion & memoization
Base case, recursive case, the call stack — and the overlapping-subproblems smell that says memoize, collapsing O(2ⁿ) into O(n).
🎛 Call-count comparator
- 🔍→
Module 6
Searching & sorting
Binary search stepped probe by probe, the sorting landscape from quicksort to counting sort, and 'sort first' as an optimization move.
🎛 Binary-search stepper
- 🌳→
Module 7
Trees & traversals
Pre/in/post-order and level-order on the same tree, BST invariants, and the recursive shape that solves most tree questions in ten lines.
🎛 Traversal visualizer
- 🕸️→
Module 8
Graphs: BFS & DFS
Adjacency lists, the visited set, queue-vs-stack as the only difference between BFS and DFS, and when each one is the right call.
🎛 BFS/DFS animator
- 🧩→
Module 9
OOP & design patterns
Encapsulation, composition over inheritance, SOLID in one breath each — and the six patterns (strategy, factory, observer, decorator, adapter, singleton) that cover most design questions.
🎛 Scenario → pattern quiz
- 🧵→
Module 10
Concurrency
Threads vs processes, race conditions you can reproduce, locks and deadlock, and the vocabulary — atomic, mutex, thread-safe — used correctly.
🎛 Race-condition simulator
Related tracks
Financial Engineering Programming shows these same ideas — hashing, binary search, caching, concurrency — living inside a real production pricing engine, and Python Engineering covers the language-level fundamentals senior interviews probe.