1.
Core JavaScript Foundation (Deep Understanding)
Execution Context (Creation & Execution Phase)
Call Stack & Memory Heap
Hoisting (var, let, const, function declarations vs expressions)
Temporal Dead Zone
Scope (Global, Function, Block)
Lexical Scope
this keyword (global, function, arrow functions, object methods, event listeners, bind/call/apply)
2. Functions & Closures
Closures (real-world use cases)
Higher-Order Functions (HOFs)
Pure vs Impure Functions
IIFE (Immediately Invoked Function Expressions)
Function Currying
Debounce & Throttle (important for React & interviews)
Memoization
3. Prototypes & OOP
Prototypal Inheritance
__proto__ vs prototype
Object.create()
Classes (ES6+)
constructor, super, extends
Getters & Setters
Static methods
Polymorphism, Encapsulation, Inheritance (OOP principles)
4. Asynchronous JavaScript
Event Loop (Call Stack, Web APIs, Callback Queue, Microtasks)
setTimeout, setInterval, requestAnimationFrame
Promises (chaining, error handling)
async / await (error handling with try/catch)
Promise.all, Promise.allSettled, Promise.race, Promise.any
Fetch API & Axios basics
Real-world async flow (API calls, loading states)
5. Advanced Concepts
Module System (import / export, CommonJS vs ES Modules)
Destructuring & Spread/Rest Operator
Optional Chaining (?.) & Nullish Coalescing (??)
Template Literals & Tagged Templates
Event Delegation
Callbacks vs Promises vs Async/Await (differences)
Deep vs Shallow Copy (Object.assign, JSON.parse, structuredClone)
Iterators & Generators (function*)
Map, Set, WeakMap, WeakSet
Symbol & BigInt
Error Handling (try/catch, custom errors)
6. DOM & Browser APIs
Event Bubbling & Capturing
Event Delegation
addEventListener vs inline events
querySelector, getElementById, etc.
LocalStorage, SessionStorage, Cookies
History API (pushState, popState)
Custom Events & Dispatching events
7. ES6+ & Modern Features
Arrow Functions (and this behavior)
Default Parameters
Rest & Spread
Object/Array Destructuring
for...of vs for...in
Optional Chaining
Modules (import/export)
Async Iterators
Dynamic Imports
8. Interview-Specific Topics
Deep copy vs shallow copy
Difference between == and ===
null vs undefined
call, apply, bind (deep examples)
How this works in arrow vs normal functions
Why var is function-scoped vs let/const
Polyfills (for bind, map, filter, reduce)
Event Loop Questions (like output of tricky async code)
9. Data Structures in JS
Arrays (methods like map, filter, reduce, find, some, every)
Strings (methods like slice, substring, split, join)
Objects (keys, values, entries)
Sets & Maps (and where they are useful)
Stack & Queue implementation
Recursion basics (factorial, Fibonacci)
10. Performance & Best Practices
Debouncing & Throttling
Lazy Loading
Code splitting
Caching results (memoization)
Avoiding memory leaks (like event listener cleanup)