Learn and practice
Topics
Follow a learning path through each part of the curriculum, from arrays and hash tables to graphs and dynamic programming.
Arrays and matrix interview practice
Learn array invariants, in-place work, prefix/suffix products, and matrix traversal through a curated sequence of lessons and exercises.
TopicsBig O and algorithm analysis
Practice reasoning about input size, loops, recursion, and auxiliary memory before comparing the efficiency of interview solutions.
TopicsHash tables and frequency counting
Use hash maps and sets to count frequencies, track previously seen values, and trade additional memory for faster lookups.
TopicsStrings and text interview problems
Practice text traversal, character counts, palindromes, and anagrams while making the character model and input constraints explicit.
TopicsRecursion and recursive problem solving
Define base cases, trace recursive calls, and understand return values and shared state through progressively harder exercises.
TopicsSearching and sorting interview practice
Learn binary-search invariants, sorted-input reasoning, and sorting tradeoffs with targeted interview problems.
TopicsLinked lists and pointer techniques
Trace pointer updates, preserve reachability, and practice reversing lists and joining chains without losing nodes.
TopicsStacks and queues for coding interviews
Choose last-in-first-out or first-in-first-out processing for bracket matching, traversal, and state tracking.
TopicsTrees and binary search trees
Practice recursive contracts, traversal order, binary-search-tree bounds, and ancestor relationships with a structured learning path.
TopicsGraphs, traversal, and shortest paths
Represent relationships, track visited nodes, choose BFS or DFS, and solve graph and grid interview problems.
TopicsDynamic programming interview practice
Connect subproblems, memoization, tabulation, and state design with worked interview exercises.
TopicsJavaScript interview utilities and concepts
Practice promises, closures, array methods, event emitters, debounce, and throttle with guides and coding lessons.