Welcome to JavaScript Interview Prep
A deep dive into JavaScript internals for technical interviews — engine, scope, async, prototypes, and more.
Welcome to JavaScript Interview Prep
This course covers the JavaScript concepts that interviewers actually probe on: the JS engine and execution context, scope and closures, the async model (event loop, promises, async/await), this binding, prototypes, functions, objects, the type system, ES6+ features, error handling, the DOM, design patterns, and performance.
What You'll Learn
- JS Engine & Execution - Execution context, call stack, hoisting, memory lifecycle
- Scope & Closures - Lexical scope, scope chain, closures, module scope
- Asynchronous JavaScript - Event loop, Web APIs, microtask queue, promises, async/await
- this Keyword & Binding - Implicit, explicit, new, arrow function binding rules
- Prototypes & Inheritance - Prototype chain, ES6 classes, instanceof
- Functions Deep Dive - HOFs, currying, composition, debounce, memoization, generators
- Objects & Arrays - Copying, destructuring, spread/rest, Map/Filter/Reduce
- Type System & Coercion - Primitives, coercion, equality, truthy/falsy, Symbol/BigInt
- ES6+ Features - Template literals, modules, iterators, Set/Map, Proxy/Reflect
- Error Handling - try/catch/finally, custom errors, async error handling
- DOM & Browser APIs - Manipulation, events, bubbling, storage, observers
- Design Patterns - Module, Singleton, Observer, Factory, Event Emitter
- Performance & Optimization - Memory leaks, lazy loading, Web Workers, tree shaking
- Miscellaneous - setTimeout vs setInterval, JSON, polyfills, immutability
How to Use This Course
Work through chapters in order or jump to the topic an interviewer just asked about. Each lesson opens with a hook, walks through the concept with code, and closes with the angles interviewers typically probe.
Prerequisites
- Basic JavaScript syntax (variables, functions, loops)
- Some experience writing JS in the browser or Node.js
Let's start with how the JS engine actually runs your code.