Comprehensive list of JavaScript job interview topics

Core JavaScript (Must-Know)
-
Data Types & Type Coercion
-
Variable Declarations (var, let, const)
-
Scopes (Global, Function, Block)
-
Hoisting
-
Closures
-
Promises / async-await
-
Event Loop & Call Stack
-
Memory Management & Garbage Collection
-
Shallow vs Deep Copy
-
Prototype & Prototypal Inheritance
-
this keyword & binding (call, apply, bind)
-
ES6+ Features:
-
Destructuring
-
Template literals
-
Arrow functions
-
Spread/Rest operators
-
Modules ( import/export)
-
Default parameters
-
Optional chaining (?.), nullish coalescing (??)
-
Advanced JavaScript
-
Event Delegation
-
Debouncing & Throttling
-
Currying / Partial Application
-
Functional Programming concepts
-
Module Systems (CommonJS vs ES Modules)
-
Factory vs Constructor Patterns
-
Custom Iterators / Generators
-
Symbol, Map, Set, WeakMap, WeakSet
-
JavaScript Design Patterns (Singleton, Observer, Module, etc.)
Asynchronous JavaScript
-
Callbacks vs Promises vs async/await
-
Error Handling in async functions
-
Promise.all / Promise.race / Promise.allSettled
-
Microtasks vs Macrotasks
DOM and Browser APIs
-
DOM Traversal & Manipulation
-
Event Handling & Bubbling
-
Forms and Validation
-
LocalStorage, SessionStorage, Cookies
-
Fetch API & XMLHttpRequest
-
Web APIs: setTimeout, setInterval, requestAnimationFrame
-
Web Workers (basic understanding)
Performance Optimization
-
Code splitting
-
Lazy loading
-
Tree shaking
-
Minification & Bundling concepts
-
Avoiding memory leaks
-
Efficient DOM manipulation
Testing & Debugging
-
Console & DevTools debugging
-
Basic understanding of Unit testing (Jest/Mocha)
-
Mocking async calls
-
Writing testable JS code
Tooling & Ecosystem
-
NPM/Yarn basics
-
Webpack / Vite / Babel (basic knowledge)
-
Linting & Formatting (ESLint, Prettier)
-
Package.json structure
-
Transpilation vs Compilation
Coding & Algorithm Questions
-
Array & String manipulation
-
Object operations
-
Recursion
-
Sorting & Searching
-
Time and Space Complexity (Big-O Notation)
-
Common DS problems:
-
Anagrams
-
Palindromes
-
Frequency counter
-
Sliding window
-
Two pointers
-
Framework-Specific
-
React.js / Node.js / Vue.js
-
Component lifecycle
-
State management
-
Hooks (React)
-
Routing
-
SSR vs CSR
-
Express middleware (Node)
-