Skip to content

Commit 3458396

Browse files
Update section titles and content in js-mcq.md
1 parent c31159d commit 3458396

1 file changed

Lines changed: 62 additions & 60 deletions

File tree

js-mcq.md

Lines changed: 62 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -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)
3334
Focus: 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)
5759
Focus: 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
6870
Focus: 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
7779
Focus: 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

Comments
 (0)