1.
Introduction
JavaScript Core
2.
Asynchronous JavaScript
2.1.
Microtask vs Macrotask Queues
2.2.
The Event Loop
2.3.
Promise Combinators
2.4.
Async/Await Pitfalls
2.5.
Debouncing vs Throttling
3.
Functions & Scope
3.1.
Hoisting
3.2.
let vs var vs const
3.3.
Closures
3.4.
The this Keyword
3.5.
Currying & Partial Application
3.6.
Prototypes & Inheritance
4.
Objects
4.1.
Object.freeze() vs Object.seal()
4.2.
Deep vs Shallow Copy
4.3.
Map vs Object, Set vs Array
TypeScript
5.
Types & TypeScript
5.1.
Type Guards
5.2.
Interfaces vs Types
5.3.
Utility Types (Partial, Required, Pick, Omit)
5.4.
Structural vs Nominal Typing
5.5.
any vs unknown vs never
5.6.
Type Coercion & Equality
5.7.
Generics
5.8.
Conditional Types & infer
5.9.
Mapped & Template Literal Types
5.10.
Type Narrowing & Exhaustiveness
5.11.
Declaration Merging
6.
Advanced Concepts
6.1.
Decorators
6.2.
Memory Leaks & Debugging
6.3.
ESM vs CommonJS Modules
6.4.
Generators & Iterators
6.5.
Web Workers
React
7.
React Ecosystem
7.1.
useEffect Cleanup
7.2.
useMemo vs useCallback
7.3.
Controlled vs Uncontrolled Components
7.4.
React List Keys
7.5.
Context vs Redux/Zustand
7.6.
Server Components
7.7.
Reconciliation & Fiber
7.8.
Suspense & Error Boundaries
7.9.
Custom Hooks & Rules of Hooks
Performance
8.
Performance
8.1.
React Rendering Optimization
8.2.
Bundle Size Optimization
Patterns
9.
Patterns
9.1.
JavaScript Design Patterns
9.2.
Error Handling Best Practices
Node.js
10.
Node.js
10.1.
Event Loop & libuv Phases
10.2.
Streams & Backpressure
Next.js
11.
Next.js
11.1.
App Router vs Pages Router
Light
Rust
Coal
Navy
Ayu
JS/TS Coding Questions and Answers
Javascript / Typescript Interview Notes
Welcome to the JS/TS specific interview prep notes. More sections will be added here!