@@ -24,63 +24,65 @@ Focus: Syntax, basic logic, and standard data handling.
2424* [Variables](#-1-variables): var, let, const.
2525* [Data Types](#-2-data-types): Primitives vs. Objects.
2626* [Operators](#-3-operators): Arithmetic, comparison (== vs ===), and logical.
27- * [Numbers](#-4-numbers) & [String](#-6-string): Basic methods like .toFixed() or .slice().
28- * [Arrays](#-5-array): Basic manipulation using push(), pop(), and length.
29- * [Control Flow](#-6-control-flow): Simple if/else and for loops.
30- * [Functions](#-7-functions): Standard declarations and parameters.
27+ * [Numbers](#-4-numbers): parseInt, filter, Math, Infinity, NaN
28+ * [String](#-5-string): .toFixed(), .slice(), .Splice()
29+ * [Arrays](#-6-array): push(), pop(), and length.
30+ * [Control Flow](#-7-control-flow): Simple if/else and for loops.
31+ * [Functions](#-8-functions): Standard declarations and parameters.
3132
3233## L2: Intermediate (Junior-Mid / Developer)
3334Focus: ES6+ features, DOM, and common "trick" concepts.
3435
3536* [Scope & Closures](#-8-scope--closures): Understanding block scope and lexical scoping.
3637* [Hoisting](#-9-hoisting): Variable and function declarations.
3738* [ES6 Features](#-10-es6-features): Arrow functions, template literals, and destructuring.
38- * [DOM & Events](#-11-events): Selecting elements, adding listeners, and event bubbling.
39- * [Regular Expressions](#-12-regular-expression ): Basic pattern matching.
39+ * [DOM & Events](#-11-dom-- events): Selecting elements, adding listeners, and event bubbling.
40+ * [Regular Expressions](#-12-regular-expressions ): Basic pattern matching.
4041* [Error Handling](#-13-error-handling): Using try...catch.
4142* [Web Storage](#-14-web-storage): localStorage and sessionStorage.
4243
4344## L3: Advanced (Mid-Senior / Lead)
44- Focus: Asynchronous operations, performance, and internal engine mechanics. [4]
45-
46- * [Promises](#-15-promises) & [Async/Await](#-16-Async--Await): Handling complex asynchronous flows.
47- * [Event Loop](#-16-Event-Loop): Understanding the microtask vs. macrotask queue.
48- * [this Keyword](#-17-this-keyword): Binding with .call(), .apply(), and .bind().
49- * [Objects & Prototypes](#-18-objects--prototypes): Prototypal inheritance and the prototype chain.
50- * [Functional Programming](#-19-functional-programming): High-order functions like map, filter, and reduce.
51- * [Classes](#-20-classes): Inheritance, constructors, and static methods.
52- * [Modules](#-21-modules): ES Modules (import/export).
53- * [Fetch API & AJAX](#fetch-api--ajax): Using `fetch()`, response handling, POST requests, and HTTP error status handling.
54- * [Execution Context & Call Stack](#execution-context--call-stack): JavaScript engine execution contexts, call stack behavior, and TDZ.
45+ Focus: Asynchronous operations, performance, and internal engine mechanics.
46+
47+ * [Promises](#-15-promises): Promise, Promise.all
48+ * [Async & Await](#-16-async--await): Handling complex asynchronous flows.
49+ * [Event Loop](#-17-event-loop): Understanding the microtask vs. macrotask queue.
50+ * [this Keyword](#-18-this-keyword): Binding with .call(), .apply(), and .bind().
51+ * [Objects & Prototypes](#-19-objects--prototypes): Prototypal inheritance and the prototype chain.
52+ * [Functional Programming](#-20-functional-programming): High-order functions like map, filter, and reduce.
53+ * [Classes](#-21-classes): Inheritance, constructors, and static methods.
54+ * [Modules](#-22-modules): ES Modules (import/export).
55+ * [Fetch API & AJAX](#-23-fetch-api--ajax): Using `fetch()`, response handling, POST requests, and HTTP error status handling.
56+ * [Execution Context & Call Stack](#-24-execution-context--call-stack): JavaScript engine execution contexts, call stack behavior, and TDZ.
5557
5658## L4: Expert (Senior / Architect)
5759Focus: Scalability, security, and low-level optimization.
5860
59- * [Performance Optimization](#-22 -performance-optimization): Memoization, debouncing/throttling, and avoiding memory leaks.
60- * [Design Patterns](#-23 -design-patterns): Singleton, Factory, and Pub-Sub patterns.
61- * [Security](#-24 -security): Preventing XSS, CSRF, and secure data handling.
62- * [Browser Internals](#-25 -browser-performance): Rendering behavior, reflows, and repaints.
63- * [Progressive Web Apps (PWA)](#-26 -progressive-web-apps-pwa): Service workers and caching strategies.
64- * [Complex Problem Solving](#-27 -real-world-problem-solving): Coding simulators for real-world algorithmic tasks.
65- * [Output-Based & Coding Patterns](#output-based--coding-patterns): Type coercion outputs, remove duplicates, and string/array manipulation patterns.
61+ * [Performance Optimization](#-25 -performance-optimization): Memoization, debouncing/throttling, and avoiding memory leaks.
62+ * [Design Patterns](#-26 -design-patterns): Singleton, Factory, and Pub-Sub patterns.
63+ * [Security](#-27 -security): Preventing XSS, CSRF, and secure data handling.
64+ * [Browser Internals](#-28 -browser-performance-browser-internals ): Rendering behavior, reflows, and repaints.
65+ * [Progressive Web Apps (PWA)](#-29 -progressive-web-apps-pwa): Service workers and caching strategies.
66+ * [Complex Problem Solving](#-30 -real-world-problem-solving): Coding simulators for real-world algorithmic tasks.
67+ * [Output-Based & Coding Patterns](#-31- output-based--coding-patterns): Type coercion outputs, remove duplicates, and string/array manipulation patterns.
6668
6769## L5: Technical Lead
6870Focus: Code review, team standards, architectural decisions, and engineering best practices for leading a development team.
6971
70- * [Code Review & Standards](#-28 -code-review--standards): Identifying anti-patterns, enforcing conventions, and reviewing PRs.
71- * [Async Strategy & Team Patterns](#-29 -async-strategy--team-patterns): Choosing and enforcing async patterns across a codebase.
72- * [Module Architecture](#-30 -module-architecture): Organizing modules, barrel files, and dependency management.
73- * [Error Handling Strategy](#-31 -error-handling-strategy): Centralized error handling and observability.
74- * [Performance Review](#-32 -performance-review): Reviewing code for layout thrashing, memory leaks, and bundle size.
72+ * [Code Review & Standards](#-32 -code-review--standards): Identifying anti-patterns, enforcing conventions, and reviewing PRs.
73+ * [Async Strategy & Team Patterns](#-33 -async-strategy--team-patterns): Choosing and enforcing async patterns across a codebase.
74+ * [Module Architecture](#-34 -module-architecture): Organizing modules, barrel files, and dependency management.
75+ * [Error Handling Strategy](#-35 -error-handling-strategy): Centralized error handling and observability.
76+ * [Performance Review](#-36 -performance-review): Reviewing code for layout thrashing, memory leaks, and bundle size.
7577
7678## L6: Technical Architect
7779Focus: System-level design, scalability, security posture, micro-frontends, and cross-team JavaScript architecture.
7880
79- * [Micro-Frontend Architecture](#-33 -micro-frontend-architecture): Module federation, iframe isolation, and shared dependencies.
80- * [Bundle & Runtime Optimization](#-34 -bundle--runtime-optimization): Tree-shaking, code-splitting, and Web Workers.
81- * [Security Architecture](#-35 -security-architecture): CSP headers, CORS configuration, and supply chain security.
82- * [State Management at Scale](#-36 -state-management-at-scale): Choosing state patterns for large distributed frontend teams.
83- * [Migration & Evolution](#-37 -migration--evolution): Framework migrations, progressive TypeScript adoption, and API versioning.
81+ * [Micro-Frontend Architecture](#-37 -micro-frontend-architecture): Module federation, iframe isolation, and shared dependencies.
82+ * [Bundle & Runtime Optimization](#-38 -bundle--runtime-optimization): Tree-shaking, code-splitting, and Web Workers.
83+ * [Security Architecture](#-39 -security-architecture): CSP headers, CORS configuration, and supply chain security.
84+ * [State Management at Scale](#-40 -state-management-at-scale): Choosing state patterns for large distributed frontend teams.
85+ * [Migration & Evolution](#-41 -migration--evolution): Framework migrations, progressive TypeScript adoption, and API versioning.
8486
8587<br>
8688
@@ -5092,7 +5094,7 @@ setTimeout(() => deferred.resolve('late value'), 100);
50925094 <b><a href="#table-of-contents">↥ back to top</a></b>
50935095</div>
50945096
5095- ## # 16. Async / Await
5097+ ## # 16. Async & Await
50965098
50975099<br>
50985100
@@ -5419,7 +5421,7 @@ console.log('sync');
54195421 <b><a href="#table-of-contents">↥ back to top</a></b>
54205422</div>
54215423
5422- ## # 16 . Event Loop
5424+ ## # 17 . Event Loop
54235425
54245426<br>
54255427
@@ -5804,7 +5806,7 @@ console.log(boundIntro('...'));
58045806 <b><a href="#table-of-contents">↥ back to top</a></b>
58055807</div>
58065808
5807- ## # 17 . this Keyword
5809+ ## # 18 . this Keyword
58085810
58095811<br>
58105812
@@ -6086,7 +6088,7 @@ console.log(d.describe());
60866088 <b><a href="#table-of-contents">↥ back to top</a></b>
60876089</div>
60886090
6089- ## # 18 . Objects & Prototypes
6091+ ## # 19 . Objects & Prototypes
60906092
60916093<br>
60926094
@@ -6404,7 +6406,7 @@ console.log(config);
64046406 <b><a href="#table-of-contents">↥ back to top</a></b>
64056407</div>
64066408
6407- ## # 19 . Functional Programming
6409+ ## # 20 . Functional Programming
64086410
64096411<br>
64106412
@@ -6755,7 +6757,7 @@ console.log(state === newState);
67556757 <b><a href="#table-of-contents">↥ back to top</a></b>
67566758</div>
67576759
6758- ## # 20 . Classes
6760+ ## # 21 . Classes
67596761
67606762<br>
67616763
@@ -7133,7 +7135,7 @@ new Child();
71337135 <b><a href="#table-of-contents">↥ back to top</a></b>
71347136</div>
71357137
7136- ## # 21 . Modules
7138+ ## # 22 . Modules
71377139
71387140<br>
71397141
@@ -7380,7 +7382,7 @@ import { Button, Modal, Input } from './components';
73807382 <b><a href="#table-of-contents">↥ back to top</a></b>
73817383</div>
73827384
7383- ## Fetch API & AJAX
7385+ ## # 23. Fetch API & AJAX
73847386
73857387<br>
73867388
@@ -7595,7 +7597,7 @@ xhr.send();
75957597 <b><a href="#table-of-contents">↥ back to top</a></b>
75967598</div>
75977599
7598- ## Execution Context & Call Stack
7600+ ## # 24. Execution Context & Call Stack
75997601
76007602<br>
76017603
@@ -7722,7 +7724,7 @@ outer();
77227724
77237725<br>
77247726
7725- ## # 22 . Performance Optimization
7727+ ## # 25 . Performance Optimization
77267728
77277729<br>
77287730
@@ -8003,7 +8005,7 @@ console.log('UI still responsive'); // logs immediately
80038005 <b><a href="#table-of-contents">↥ back to top</a></b>
80048006</div>
80058007
8006- ## # 23 . Design Patterns
8008+ ## # 26 . Design Patterns
80078009
80088010<br>
80098011
@@ -8328,7 +8330,7 @@ console.log(new CSVProcessor().process(' a , b , c '));
83288330 <b><a href="#table-of-contents">↥ back to top</a></b>
83298331</div>
83308332
8331- ## # 24 . Security
8333+ ## # 27 . Security
83328334
83338335<br>
83348336
@@ -8569,7 +8571,7 @@ window.addEventListener('message', (event) => {
85698571 <b><a href="#table-of-contents">↥ back to top</a></b>
85708572</div>
85718573
8572- ## # 25 . Browser Performance (Browser Internals)
8574+ ## # 28 . Browser Performance (Browser Internals)
85738575
85748576<br>
85758577
@@ -8799,7 +8801,7 @@ console.log(measures[0].duration, 'ms');
87998801 <b><a href="#table-of-contents">↥ back to top</a></b>
88008802</div>
88018803
8802- ## # 26 . Progressive Web Apps (PWA)
8804+ ## # 29 . Progressive Web Apps (PWA)
88038805
88048806<br>
88058807
@@ -9035,7 +9037,7 @@ self.addEventListener('push', (event) => {
90359037 <b><a href="#table-of-contents">↥ back to top</a></b>
90369038</div>
90379039
9038- ## # 27 . Real-World Problem Solving
9040+ ## # 30 . Real-World Problem Solving
90399041
90409042<br>
90419043
@@ -10423,7 +10425,7 @@ async function loadDashboard(userId) {
1042310425 <b><a href="#table-of-contents">↥ back to top</a></b>
1042410426</div>
1042510427
10426- ## Output-Based & Coding Patterns
10428+ ## # 31. Output-Based & Coding Patterns
1042710429
1042810430<br>
1042910431
@@ -10680,7 +10682,7 @@ console.log('5');
1068010682
1068110683<br>
1068210684
10683- ## # 28 . Code Review & Standards
10685+ ## # 32 . Code Review & Standards
1068410686
1068510687<br>
1068610688
@@ -10950,7 +10952,7 @@ function UserList({ users }) {
1095010952 <b><a href="#table-of-contents">↥ back to top</a></b>
1095110953</div>
1095210954
10953- ## # 29 . Async Strategy & Team Patterns
10955+ ## # 33 . Async Strategy & Team Patterns
1095410956
1095510957<br>
1095610958
@@ -11238,7 +11240,7 @@ class CircuitBreaker {
1123811240 <b><a href="#table-of-contents">↥ back to top</a></b>
1123911241</div>
1124011242
11241- ## # 30 . Module Architecture
11243+ ## # 34 . Module Architecture
1124211244
1124311245<br>
1124411246
@@ -11473,7 +11475,7 @@ const service = new OrderService(mockDb, mockEmailer);
1147311475 <b><a href="#table-of-contents">↥ back to top</a></b>
1147411476</div>
1147511477
11476- ## # 31 . Error Handling Strategy
11478+ ## # 35 . Error Handling Strategy
1147711479
1147811480<br>
1147911481
@@ -11727,7 +11729,7 @@ if (result.ok) {
1172711729 <b><a href="#table-of-contents">↥ back to top</a></b>
1172811730</div>
1172911731
11730- ## # 32 . Performance Review
11732+ ## # 36 . Performance Review
1173111733
1173211734<br>
1173311735
@@ -11966,7 +11968,7 @@ async function processLargeArray(items) {
1196611968
1196711969<br>
1196811970
11969- ## # 33 . Micro-Frontend Architecture
11971+ ## # 37 . Micro-Frontend Architecture
1197011972
1197111973<br>
1197211974
@@ -12130,7 +12132,7 @@ new ModuleFederationPlugin({
1213012132 <b><a href="#table-of-contents">↥ back to top</a></b>
1213112133</div>
1213212134
12133- ## # 34 . Bundle & Runtime Optimization
12135+ ## # 38 . Bundle & Runtime Optimization
1213412136
1213512137<br>
1213612138
@@ -12307,7 +12309,7 @@ button.addEventListener("click", () => {
1230712309 <b><a href="#table-of-contents">↥ back to top</a></b>
1230812310</div>
1230912311
12310- ## # 35 . Security Architecture
12312+ ## # 39 . Security Architecture
1231112313
1231212314<br>
1231312315
@@ -12495,7 +12497,7 @@ Object.assign({}, userInput); // Pollutes Object.prototype
1249512497 <b><a href="#table-of-contents">↥ back to top</a></b>
1249612498</div>
1249712499
12498- ## # 36 . State Management at Scale
12500+ ## # 40 . State Management at Scale
1249912501
1250012502<br>
1250112503
@@ -12697,7 +12699,7 @@ const updateUserMutation = useMutation({
1269712699 <b><a href="#table-of-contents">↥ back to top</a></b>
1269812700</div>
1269912701
12700- ## # 37 . Migration & Evolution
12702+ ## # 41 . Migration & Evolution
1270112703
1270212704<br>
1270312705
0 commit comments