Learn and practice
Interactive tools
Build a study plan, practice JavaScript output and algorithm patterns, and explore event timing, complexity growth, graph traversal, and binary tree traversal.
Debounce and throttle visualizer
Send events and compare immediate, debounced, and throttled callbacks. Adjust the wait and leading/trailing options and inspect exact timelines.
Interactive toolsBig O complexity explorer
Compare growth functions across input sizes with a logarithmic chart, exact operation estimates where representable, and worked algorithm examples.
Interactive toolsBFS and DFS graph traversal visualizer
Edit an adjacency list and step through breadth-first or depth-first traversal. Inspect the frontier, visited nodes, parents, and reachable paths.
Interactive toolsBinary tree traversal visualizer
Build a binary tree from level-order values and step through preorder, inorder, postorder, and breadth-first traversal.
Interactive toolsCoding interview study-plan builder
Build a time-budgeted learning schedule with course links, rotating review, local completion marks, and a downloadable Markdown checklist.
Interactive toolsCoding interview pattern quiz with answer explanations
Practice choosing algorithms from constraints in 12 questions, compare alternatives, retry missed prompts, and study worked pattern guides.
Interactive toolsJavaScript output quiz: 12 snippets with explained answers
Predict JavaScript output for closures, this, copies, Map keys, defaults, sorting, and promises. Compare explanations and retry missed snippets.
Interactive toolsLinked-list pointer visualizer: reverse, insert, delete, and detect cycles
Trace fixed node identities, next links, saved pointers, head insertion and deletion, and Floyd cycle detection on empty and nonempty lists.
Interactive toolsSorting comparison visualizer with operation counts
Compare insertion, selection, and bubble sort on identical inputs, inspecting value comparisons, array writes, early exits, and intermediate state.
Interactive toolsRecursion call-stack visualizer: calls, frames, and returns
Step through a stair-counting recurrence and inspect active frames, returned values, repeated calls, and the difference between stack depth and total work.
Interactive toolsDynamic programming visualizer: recursion, memoization, and tabulation
Compare the same stair recurrence with plain recursion, cached answers, and bottom-up tables. Inspect stored states, cache hits, calls, and dependency order.
Interactive toolsEdge-case practice: find tests that expose algorithm bugs
Practice choosing counterexamples for missing index zero, invalid BST descendants, cyclic graphs, Unicode assumptions, mutation, and boundary searches.
Interactive toolsTime and space complexity practice with explained answers
Derive bounds for loops, queues, graphs, recursion, memoization, and generated output through eight questions with concrete cost models and explanations.
Interactive toolsAlgorithm flashcards with browser-local spaced review
Recall algorithm invariants and constraints across twelve review cards, reveal worked explanations, and keep a simple review schedule in your browser.
Interactive toolsCoding interview rehearsal timer, prompts, notes, and rubric
Rehearse clarification, implementation, tests, and explanation with public problem contracts, a pausable timer, self-review, and downloadable notes.
Interactive toolsAccessible tabs, modal focus, and React state lab
Practice tab keyboard navigation, native modal focus, and queued React state updates in three working browser examples.