If you've ever bombed a JavaScript interview because you understood a concept but couldn't explain it clearly — this post is for you.
I've been building jsinterview.dev — a free JavaScript interview prep platform that teaches you concepts through interactive step-by-step code visualizations. Think of it as Python Tutor, but purpose-built for JS interviews.
The Problem I Was Solving
Most JS learning resources fall into one of two camps:
- Read-heavy docs — great for reference, terrible for building intuition
- LeetCode-style grinders — great for algorithms, but skip the JS internals entirely
When I started prepping for frontend interviews, I kept hitting the same wall. I knew what a closure was. I could recite the definition. But when an interviewer asked me to walk through how the call stack and heap memory behave when a closure forms — I froze.
The missing piece? Visual, step-by-step execution.
What jsinterview.dev Offers
The platform is structured around 4 phases that mirror how real interviews unfold:
1. Understand — What interviewers ask you to explain
-
JavaScript Deep Dive (88 topics): Closures, Event Loop, Prototypes,
this, V8 Engine internals - DSA Fundamentals (20 topics): Big O, Arrays, Hash Tables, Stacks, Queues, Linked Lists
2. Build — What interviewers ask you to implement
-
JavaScript Core (13 problems): closures,
this, prototypes, hoisting, scope - Async JavaScript (3 problems): Promises, async/await, event loop patterns
-
Array Polyfills (17 problems): implement
map,filter,reduce,flatfrom scratch - Utility Functions (8 problems): debounce, throttle, deep clone, memoize
3. Solve — Algorithm-focused interview rounds
- 178 DSA problems across 19 topics: Arrays & Hashing, Two Pointers, Sliding Window, Binary Search, Linked List, Sorting, and more
4. Answer — What interviewers ask you to explain verbally
- 100 questions each for HTML, CSS, JavaScript, React, and Bundlers (Webpack, Vite, Rollup, esbuild)
The Core Feature: Interactive Visualizations
This is the part I'm most proud of. Every concept comes with an interactive code visualization that steps through execution phase by phase.
For example, on the "What is a Closure?" page, you don't just read a definition. You step through:
function outer() {
let x = 10;
function inner() {
return x;
}
return inner;
}
const fn = outer();
fn(); // 10
...and watch the Call Stack and Heap Memory update in real-time at each step. You see exactly when the closure forms, what gets captured in memory, and why fn() still returns 10 after outer() has returned.
Each visualization has Beginner / Intermediate / Advanced levels, so you can start simple and work up to edge cases.
The same treatment applies to the Event Loop, prototypes, this binding, and more:
By the Numbers
- 88 JS concepts
- 245 coding problems
- 27 categories
- 525+ interview questions across HTML, CSS, JS, React, and Bundlers
- 100% free
Who It's For
- Developers prepping for frontend or full-stack interviews
- Engineers who want to truly understand JS internals, not just pass tests
- Anyone who's been asked "explain the event loop" and wanted to show rather than just tell
Try It
Start with the JavaScript Deep Dive if you want to nail the conceptual questions, or jump straight into the Build section if you want hands-on practice implementing things like debounce, Promise.all, or a custom Array.prototype.map.
Would love any feedback from the dev.to community — especially on topics you wish were covered. Drop a comment below!



Top comments (0)