JavaScript Interview Mastery
JavaScript Interview Mastery
Learn JavaScript the way it's actually interviewed — intuition first, then theory, then hands-on machine coding — built for Senior and Staff engineer interviews.
14
Modules
114
Topics
42h 33m
Est. study time
234
Interview Qs
What you'll learn
- Explain how the JavaScript engine, runtime, and event loop actually execute your code
- Reason confidently about scope, closures, hoisting, and the temporal dead zone
- Master asynchronous JavaScript — promises, microtasks, and async/await
- Predict the output of tricky snippets the way interviewers expect
- Implement classic machine-coding problems: debounce, throttle, currying, deep clone, polyfills
- Apply prototypes, `this` binding, and ES6+ features fluently under interview pressure
Interview Hub
Top questions, machine coding & cheat sheets
Learning roadmap
Work top to bottom. Published modules are ready now; more unlock over time.
1JavaScript Fundamentals
How JavaScript really runs: engines, the runtime, single-threading, and a first look at the event loop.
9 topics1h 36m0% complete
JavaScript Fundamentals
How JavaScript really runs: engines, the runtime, single-threading, and a first look at the event loop.
2Variables & Data Types
Declarations and the type system — var/let/const, primitives vs references, and the quirky values interviewers love.
10 topics1h 51m0% complete
Variables & Data Types
Declarations and the type system — var/let/const, primitives vs references, and the quirky values interviewers love.
3Scope & Closures
The mental model behind closures — scope kinds, the lexical scope chain, memory implications, and real-world uses.
7 topics1h 14m0% complete
Scope & Closures
The mental model behind closures — scope kinds, the lexical scope chain, memory implications, and real-world uses.
4Execution Context & Hoisting
The two-phase execution model, hoisting, the temporal dead zone, and the call stack.
6 topics2h 1m0% complete
Execution Context & Hoisting
The two-phase execution model, hoisting, the temporal dead zone, and the call stack.
5Functions
Everything functions — declarations, expressions, arrows, IIFEs, callbacks, and higher-order/pure functions.
9 topics2h 58m0% complete
Functions
Everything functions — declarations, expressions, arrows, IIFEs, callbacks, and higher-order/pure functions.
6Objects & Prototypes
Objects, property descriptors, freeze/seal/create, and the prototype chain that powers inheritance.
8 topics2h 10m0% complete
Objects & Prototypes
Objects, property descriptors, freeze/seal/create, and the prototype chain that powers inheritance.
7The this Keyword
How `this` is determined in every context, plus call, apply, and bind.
7 topics1h 48m0% complete
The this Keyword
How `this` is determined in every context, plus call, apply, and bind.
8Asynchronous JavaScript
The event loop in depth — Web APIs, task vs microtask queues, callbacks, callback hell, promises, and async/await.
8 topics3h 41m0% complete
Asynchronous JavaScript
The event loop in depth — Web APIs, task vs microtask queues, callbacks, callback hell, promises, and async/await.
9Promises
The promise lifecycle, chaining, error handling, and the combinators (all/any/allSettled/race).
7 topics2h 36m0% complete
Promises
The promise lifecycle, chaining, error handling, and the combinators (all/any/allSettled/race).
10ES6+ Features
Modern syntax that shows up in every interview — destructuring, spread/rest, optional chaining, nullish coalescing, and modules.
8 topics2h 9m0% complete
ES6+ Features
Modern syntax that shows up in every interview — destructuring, spread/rest, optional chaining, nullish coalescing, and modules.
11Advanced JavaScript
The machine-coding toolkit — currying, memoization, debounce/throttle, deep clone, generators, iterators, WeakMap/Set, Proxy, and Reflect.
12 topics6h 52m0% complete
Advanced JavaScript
The machine-coding toolkit — currying, memoization, debounce/throttle, deep clone, generators, iterators, WeakMap/Set, Proxy, and Reflect.
12Browser APIs
The DOM, the event model (bubbling, capturing, delegation), and client storage.
8 topics2h 13m0% complete
Browser APIs
The DOM, the event model (bubbling, capturing, delegation), and client storage.
13JavaScript Design Patterns
The patterns interviewers ask you to implement — module, factory, singleton, observer, and pub/sub.
5 topics2h 9m0% complete
JavaScript Design Patterns
The patterns interviewers ask you to implement — module, factory, singleton, observer, and pub/sub.
14Machine Coding
Build interview-favourite features end to end — debounced search, autocomplete, infinite scroll, event emitter, polyfills, LRU cache, and a mini virtual DOM.
10 topics9h 15m0% complete
Machine Coding
Build interview-favourite features end to end — debounced search, autocomplete, infinite scroll, event emitter, polyfills, LRU cache, and a mini virtual DOM.
All topics
114 topics available in learning order.
- Beginner
History of JavaScript
JavaScript Fundamentals
- Beginner
ECMAScript & Language Versions
JavaScript Fundamentals
- Beginner
The JavaScript Engine
JavaScript Fundamentals
- Intermediate
Inside the V8 Engine
JavaScript Fundamentals
- Beginner
Browser vs Node.js
JavaScript Fundamentals
- Intermediate
The JavaScript Runtime
JavaScript Fundamentals
- Intermediate
Compilation vs Interpretation (JIT)
JavaScript Fundamentals
- Intermediate
The Single-Threaded Model
JavaScript Fundamentals
- Intermediate
The Event Loop (Introduction)
JavaScript Fundamentals
- Beginner
The var Declaration
Variables & Data Types
- Beginner
The let Declaration
Variables & Data Types
- Beginner
The const Declaration
Variables & Data Types
- Beginner
Primitive Types
Variables & Data Types
- Intermediate
Reference Types
Variables & Data Types
- Beginner
The typeof Operator
Variables & Data Types
- Beginner
null
Variables & Data Types
- Beginner
undefined
Variables & Data Types
- Intermediate
Symbol
Variables & Data Types
- Intermediate
BigInt
Variables & Data Types
- Beginner
Global Scope
Scope & Closures
- Beginner
Function Scope
Scope & Closures
- Beginner
Block Scope
Scope & Closures
- Intermediate
Lexical Scope & the Scope Chain
Scope & Closures
- Intermediate
Closures
Scope & Closures
- Advanced
Closures & Memory
Scope & Closures
- Intermediate
Practical Uses of Closures
Scope & Closures
- Intermediate
Execution Context
Execution Context & Hoisting
- Intermediate
The Memory (Creation) Phase
Execution Context & Hoisting
- Intermediate
The Execution Phase
Execution Context & Hoisting
- Intermediate
Hoisting
Execution Context & Hoisting
- Intermediate
The Temporal Dead Zone
Execution Context & Hoisting
- Intermediate
The Call Stack
Execution Context & Hoisting
- Beginner
Function Declarations
Functions
- Beginner
Function Expressions
Functions
- Intermediate
Arrow Functions
Functions
- Beginner
Anonymous Functions
Functions
- Intermediate
IIFE (Immediately Invoked Function Expressions)
Functions
- Intermediate
Callbacks
Functions
- Intermediate
Higher-Order Functions
Functions
- Intermediate
First-Class Functions
Functions
- Intermediate
Pure Functions
Functions
- Beginner
Objects
Objects & Prototypes
- Intermediate
Property Descriptors
Objects & Prototypes
- Intermediate
Object.freeze
Objects & Prototypes
- Intermediate
Object.seal
Objects & Prototypes
- Intermediate
Object.create
Objects & Prototypes
- Intermediate
Prototypes
Objects & Prototypes
- Intermediate
The Prototype Chain
Objects & Prototypes
- Advanced
Prototypal Inheritance
Objects & Prototypes
- Intermediate
this in the Global Context
The this Keyword
- Intermediate
this in Object Methods
The this Keyword
- Intermediate
this in Regular Functions
The this Keyword
- Intermediate
this in Arrow Functions
The this Keyword
- Intermediate
Function.prototype.call
The this Keyword
- Intermediate
Function.prototype.apply
The this Keyword
- Intermediate
Function.prototype.bind
The this Keyword
- Advanced
The Event Loop In Depth
Asynchronous JavaScript
- Intermediate
Web APIs
Asynchronous JavaScript
- Intermediate
The Task (Macrotask) Queue
Asynchronous JavaScript
- Advanced
The Microtask Queue
Asynchronous JavaScript
- Intermediate
Asynchronous Callbacks
Asynchronous JavaScript
- Intermediate
Callback Hell
Asynchronous JavaScript
- Intermediate
Introduction to Promises
Asynchronous JavaScript
- Intermediate
async / await
Asynchronous JavaScript
- Intermediate
The Promise Lifecycle
Promises
- Intermediate
Promise Chaining
Promises
- Intermediate
Promise Error Handling
Promises
- Intermediate
Promise.all
Promises
- Advanced
Promise.any
Promises
- Intermediate
Promise.allSettled
Promises
- Intermediate
Promise.race
Promises
- Intermediate
Destructuring
ES6+ Features
- Intermediate
The Spread Operator
ES6+ Features
- Intermediate
Rest Parameters
ES6+ Features
- Intermediate
Template Literals
ES6+ Features
- Intermediate
Optional Chaining
ES6+ Features
- Intermediate
Nullish Coalescing
ES6+ Features
- Advanced
ES Modules
ES6+ Features
- Advanced
import / export
ES6+ Features
- Advanced
Currying
Advanced JavaScript
- Advanced
Memoization
Advanced JavaScript
- Advanced
Debouncing
Advanced JavaScript
- Advanced
Throttling
Advanced JavaScript
- Advanced
Deep Clone
Advanced JavaScript
- Advanced
Event Delegation (Advanced)
Advanced JavaScript
- Advanced
Generators
Advanced JavaScript
- Advanced
Iterators
Advanced JavaScript
- Advanced
WeakMap
Advanced JavaScript
- Advanced
WeakSet
Advanced JavaScript
- Advanced
Proxy
Advanced JavaScript
- Advanced
Reflect
Advanced JavaScript
- Beginner
The DOM
Browser APIs
- Beginner
The Event Model
Browser APIs
- Intermediate
Event Bubbling
Browser APIs
- Intermediate
Event Capturing
Browser APIs
- Intermediate
Event Delegation
Browser APIs
- Beginner
localStorage
Browser APIs
- Beginner
sessionStorage
Browser APIs
- Intermediate
Cookies
Browser APIs
- Intermediate
The Module Pattern
JavaScript Design Patterns
- Intermediate
The Factory Pattern
JavaScript Design Patterns
- Intermediate
The Singleton Pattern
JavaScript Design Patterns
- Intermediate
The Observer Pattern
JavaScript Design Patterns
- Intermediate
The Publish/Subscribe Pattern
JavaScript Design Patterns
- Intermediate
Build: Debounced Search
Machine Coding
- Advanced
Build: Autocomplete
Machine Coding
- Intermediate
Build: Infinite Scroll
Machine Coding
- Intermediate
Build: Todo App
Machine Coding
- Intermediate
Build: Event Emitter
Machine Coding
- Advanced
Build: Promise Polyfills
Machine Coding
- Intermediate
Build: Array Polyfills (map/filter/reduce)
Machine Coding
- Advanced
Build: Deep Clone
Machine Coding
- Intermediate
Build: LRU Cache
Machine Coding
- Advanced
Build: Mini Virtual DOM
Machine Coding