32 Core & Advanced Interview Patterns
Everything you need for software engineering interviews. 32 patterns across 9 categories — all fully interactive with reactive, step-by-step visualizations.
Arrays & Strings
7Hashing
Trade memory for constant-time membership checks.
Linear Scan
Maintain a compact running state while scanning a sequence once.
Prefix Techniques
Precompute cumulative information so range questions become constant-time differences.
Sliding Window
Grow and shrink a contiguous range to track a running property in O(n).
Two Pointers
Walk two indices toward each other to prune the search space linearly.
Sequence Optimization
Decide at every value whether to extend the current run or start fresh.
Sorting
See how seven sorting strategies create order through different invariants.
Searching
2Stacks & Queues
3Linked Lists
2Trees
5Tree Traversals
Compare depth-first traversal orders, level-order waves, and Euler entry/exit times.
Binary Search Trees
Choose left or right using the ordering invariant.
Heaps
Restore heap order by bubbling an inserted value upward.
Prefix Trees (Trie)
Follow one character edge per prefix symbol.
Range Trees
Precompute overlapping range sums, then update only the ancestors that depend on one value.
Graphs
4Graph Representation
Build adjacency lists from node-to-node relationships.
Ordering
Order tasks so every dependency comes before its dependents.
Connectivity
Near-constant-time connectivity with path compression + union by rank.
Shortest Paths
Choose the frontier rule that preserves minimum path cost under edge weights.
Backtracking & Recursion
2Recursion
Watch recursive calls branch, reach a base case, and unwind.
Backtracking
Backtracking = choose, explore, and undo across many problem shapes, not just subsets.
Dynamic Programming
1Greedy Algorithms & Mathematical Optimization
5Bit Manipulation
Clear the lowest set bit with n & (n-1).
Greedy Choice
Choose the earliest finishing compatible interval.
Interval Processing
Sort ranges and merge every overlap into the active span.
Number Theory
Use number theory or cross products to preserve a mathematical invariant.
Simulation
Execute movement commands while preserving position state.