Skip to content
← Back to Tracks

TypeScript

Types that stay after you stop looking at the file, then the interview core — two pointers, a cache that evicts, a retry that backs off. Blanks first, challenges next, then the cases that pin a request down.

Reading is a separate door: a whole small codebase, graded on what you can say about it.

fundamentals

interview prep

Arrays and Strings

Two pointers, a sliding window, a running sum — the three shapes most interview array questions reduce to, practised as code you can hold in your head.

Search and Intervals

Binary search and the interval merge — precision problems where the whole exercise is the boundary, and one off comparison decides everything.

Stacks and Hash Maps

A stack remembers what it is waiting for — a matching paren, a pending warmer day. A hash map remembers where it has already been. Between them sit most linear-time interview tricks.

Trees and Graphs

A tree is a graph with a parent's discipline, and two traversals — breadth with a queue, depth with a call stack — carry almost every question about them.

Dynamic Programming

Overlapping subproblems and optimal substructure — count the paths, make the change, find the longest common thread. One small table beats a billion recursive calls.

System Design Primitives

The small machines interviews ask you to build on the spot — a cache that evicts, a bucket that refills, a call that waits. Each one is an invariant you can hold in your head, not a library call.

HTTP and Networking

Status classes, URL anatomy, idempotency, and a retry that backs off — the wire-level facts every system design answer quietly assumes you know cold.

Linked Lists

The list you build out of pointers — reverse it, find its cycle with two runners, merge two of them, and lose nothing on the way.

Heaps and Top-K

The structure behind every "top K" and "kth largest" question — a binary heap where the smallest value always sits on top, no sorting required.

Backtracking

Choose, explore, unchoose — the skeleton that generates subsets, permutations and combinations without ever trusting a nested loop to do it.

Advanced Dynamic Programming

The recurrence is no longer a fibonacci in disguise — rob houses without neighbours, edit one word into another, and find the longest rising thread that was never contiguous.

Tries and Prefixes

A tree keyed by characters, where every word is a path — autocomplete, prefix lookup, and the wildcard search that walks every branch at once.

JS Interview Classics

The functions every frontend loop asks you to write from memory — promiseAll, an emitter, deep equality, a memoized call. No library, no notes.

Advanced System Design

The distributed-systems interview set — a hash ring that barely moves, a filter that says maybe, a window that slides, a breaker that opens.

beyond the blanks