Back to Prep Library
Category Blueprint
JavaScript Interview Library
Closures, async programming & the engine core
Questions196
Views119.8k
Upvotes8.4k
Filter
Question Catalog
(196 visible)JavaScript· Frontend
What are template literals?
1.2k52
easy
JavaScript· Frontend
Tricky JavaScript Scenario #41: Object.groupBy
1.2k53
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #36: Page Visibility API interval freezing
1.2k10
easy
JavaScript· Frontend
What is the difference between var, let, and const?
1.2k75
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #46: Array.prototype.with
1.1k20
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #40: strict mode this bindings binding rules
1.1k71
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #43: Array.prototype.toSorted
1.1k71
easy
JavaScript· Frontend
What is the difference between for...of and for...in?
98641
easy
JavaScript· Frontend
What does Array.filter do?
9491
easy
JavaScript· Phone Screen
What is hoisting in JavaScript?
94475
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #44: Array.prototype.toReversed
92980
easy
JavaScript· Frontend
What are static methods and properties?
92716
easy
JavaScript· Frontend
Tricky JavaScript Scenario #63: Passive event listener scroll enhancements
91916
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #76: Array.prototype.with
88353
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #73: Array.prototype.toSorted
8782
easy
JavaScript· Frontend
What are optional chaining and nullish coalescing?
87220
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #100: strict mode this bindings binding rules
8261
easy
JavaScript· Frontend
What is the difference between includes and indexOf?
80776
easy
JavaScript· Phone Screen
Describe the concept of 'scope' in JavaScript.
79574
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #70: strict mode this bindings binding rules
77968
easy
JavaScript· Frontend
Tricky JavaScript Scenario #11: Object.groupBy
75258
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #66: Page Visibility API interval freezing
72280
easy
JavaScript· Frontend
What is the difference between preventDefault and stopPropagation?
66613
easy
JavaScript· Phone Screen
What are `let`, `const`, and `var`? What are their differences?
61476
easy
JavaScript· Frontend
What is the difference between null and undefined?
58436
easy
JavaScript· Frontend
What is the difference between find and filter?
57231
easy
JavaScript· Frontend
What is globalThis?
53160
easy
JavaScript· Frontend
Tricky JavaScript Scenario #93: Passive event listener scroll enhancements
52711
easy
JavaScript· Phone Screen
What is the difference between Object.is, ==, and ===?
52165
easy
JavaScript· Frontend
What is short-circuit evaluation?
50569
easy
JavaScript· Frontend
Tricky JavaScript Scenario #71: Object.groupBy
47148
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #35: High Resolution Time API precision
46928
easy
JavaScript· Frontend
What are the quirks of the typeof operator?
46537
easy
JavaScript· Frontend
What is event bubbling and capturing?
45922
easy
JavaScript· Frontend
What do Array.some and Array.every do?
43866
easy
JavaScript· Frontend
What is the difference between synchronous and asynchronous code?
42051
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #65: High Resolution Time API precision
36475
easy
JavaScript· Frontend
What is the difference between localStorage, sessionStorage, and cookies?
35125
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #74: Array.prototype.toReversed
29865
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #14: Array.prototype.toReversed
28414
easy
JavaScript· Frontend
Tricky JavaScript Scenario #33: Passive event listener scroll enhancements
26321
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #95: High Resolution Time API precision
25941
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #96: Page Visibility API interval freezing
25969
easy
JavaScript· Frontend
How does instanceof work?
25640
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #16: Array.prototype.with
22268
easy
JavaScript· Frontend
What is the difference between map and forEach?
21380
easy
JavaScript· Frontend
What is destructuring?
19878
easy
JavaScript· Frontend
What do Object.keys, values, and entries return?
17720
easy
JavaScript· Phone Screen
What is JSON and why is it commonly used?
16750
easy
JavaScript· Frontend
What is the difference between == and ===?
1600
easy
JavaScript· Phone Screen
Tricky JavaScript Scenario #13: Array.prototype.toSorted
9159
easy
JavaScript· Frontend
How does `try...catch` work in JavaScript?
6033
easy
JavaScriptNetflix· Frontend2024, 2022
Debounce vs throttle — implement debounce
3.7k194
medium
JavaScript· Phone Screen
How do you implement infinite currying in JavaScript?
1.2k54
medium
JavaScript· Frontend
What is the difference between Object.freeze, seal, and preventExtensions?
1.2k0
medium
JavaScript· Frontend
Tricky JavaScript Scenario #90: BroadcastChannel multi-tab updates
1.1k48
medium
JavaScript· Frontend
How do you convert a callback-based function to a Promise?
1.1k60
medium
JavaScript· Frontend
Explain 'this' keyword in JavaScript.
1.1k66
medium
JavaScript· Frontend
How does the fetch API work?
1.1k20
medium
JavaScript· Frontend
When should you use Map and Set over objects and arrays?
1.1k3
medium
JavaScript· Frontend
What is memoization?
1.1k18
medium
JavaScript· Frontend
How does WeakMap allow garbage collection of keys?
1.1k35
medium
JavaScript· Frontend
Tricky JavaScript Scenario #78: Proxy traps custom sets
1.1k1
medium
JavaScript· DSA
Implement a robust Event Emitter class.
1.1k5
medium
JavaScript· Frontend
Tricky JavaScript Scenario #34: navigator.sendBeacon final telemetry
1.0k68
medium
JavaScript· Frontend
Tricky JavaScript Scenario #31: History API route state handling
1.0k80
medium
JavaScript· Frontend
Tricky JavaScript Scenario #68: ResizeObserver sizing alterations tracking
1.0k71
medium
JavaScript· Frontend
Tricky JavaScript Scenario #18: Proxy traps custom sets
97424
medium
JavaScript· Frontend
What does Object.create do?
97374
medium
JavaScript· Frontend
How do you correctly check for NaN?
95344
medium
JavaScript· Frontend
What are modules in JavaScript?
94180
medium
JavaScript· Frontend
What is lexical scoping and the scope chain?
93662
medium
JavaScript· Frontend
How do you implement a deepFreeze function recursively?
93545
medium
JavaScript· Frontend
What is a Promise and what are its states?
92260
medium
JavaScript· Frontend
Explain event delegation.
89949
medium
JavaScript· Frontend
What is an IIFE?
88253
medium
JavaScript· Frontend
How does Array.reduce work?
82167
medium
JavaScript· Frontend
What is event delegation?
81439
medium
JavaScript· Frontend
What is the difference between call, apply, and bind?
80026
medium
JavaScript· DSA
Tricky JavaScript Scenario #47: Reflect.ownKeys
78575
medium
JavaScript· Frontend
How do you handle asynchronous operations in JavaScript?
78478
medium
JavaScript· Frontend
Tricky JavaScript Scenario #79: Proxy traps custom gets
77554
medium
JavaScript· Frontend
Tricky JavaScript Scenario #45: Array.prototype.toSpliced
75255
medium
JavaScript· DSA
How do you implement a custom Promise.all polyfill?
72468
medium
JavaScript· Frontend
Tricky JavaScript Scenario #15: Array.prototype.toSpliced
71337
medium
JavaScript· Frontend
What do flat and flatMap do?
69176
medium
JavaScript· Frontend
How does the 'this' keyword work?
69038
medium
JavaScript· Frontend
Tricky JavaScript Scenario #19: Proxy traps custom gets
68277
medium
JavaScript· Frontend
Tricky JavaScript Scenario #75: Array.prototype.toSpliced
67824
medium
JavaScript· Frontend
Why is 0.1 + 0.2 not exactly 0.3?
66625
medium
JavaScript· Frontend
What are the spread and rest operators?
65852
medium
JavaScript· Frontend
Tricky JavaScript Scenario #98: ResizeObserver sizing alterations tracking
64466
medium
JavaScript· Frontend
What is the difference between arrow and regular functions?
63732
medium
JavaScript· Frontend
What are the basics of regular expressions in JavaScript?
60464
medium
JavaScript· Frontend
How do you deep clone an object in JavaScript?
58616
medium
JavaScript· Frontend
Tricky JavaScript Scenario #64: navigator.sendBeacon final telemetry
57664
medium
JavaScript· Frontend
What is the purpose of the `bind`, `call`, and `apply` methods?
57361
medium
JavaScript· Frontend
What does setTimeout with 0 delay actually do?
56612
medium
JavaScript· Frontend
Explain prototypal inheritance.
5577
medium
JavaScript· Frontend
What are closures in JavaScript?
54652
medium
JavaScript· Frontend
Tricky JavaScript Scenario #97: IntersectionObserver lazy loaded content
54219
medium
JavaScript· Frontend
What are the logical assignment operators?
52051
medium
JavaScript· Frontend
Tricky JavaScript Scenario #99: MutationObserver tree monitoring
51772
medium
JavaScript· Frontend
What is the difference between Object.freeze and const?
51411
medium
JavaScript· Frontend
What is the difference between ES modules and CommonJS?
50116
medium
JavaScript· Frontend
Tricky JavaScript Scenario #22: WeakSet garbage collection behavior
49417
medium
JavaScript· Frontend
What is the prototype chain?
49122
medium
JavaScript· Frontend
What does the delete operator do?
48942
medium
JavaScript· Frontend
Tricky JavaScript Scenario #92: DOM Layout Thrashing remedies
48056
medium
JavaScript· Frontend
Tricky JavaScript Scenario #62: DOM Layout Thrashing remedies
44257
medium
JavaScript· Frontend
Tricky JavaScript Scenario #48: Proxy traps custom sets
44053
medium
JavaScript· Frontend
Tricky JavaScript Scenario #69: MutationObserver tree monitoring
44058
medium
JavaScript· Frontend
Why must you pass the same function reference to removeEventListener?
43127
medium
JavaScript· Frontend
How do getters and setters work?
41666
medium
JavaScript· Frontend
Tricky JavaScript Scenario #25: custom debounce with cancel method
39748
medium
JavaScript· Frontend
How do you make an AJAX request?
38721
medium
JavaScript· Frontend
Tricky JavaScript Scenario #39: MutationObserver tree monitoring
36344
medium
JavaScript· Frontend
Tricky JavaScript Scenario #67: IntersectionObserver lazy loaded content
35627
medium
JavaScript· Frontend
Tricky JavaScript Scenario #52: WeakSet garbage collection behavior
35263
medium
JavaScript· Frontend
Tricky JavaScript Scenario #85: custom debounce with cancel method
30061
medium
JavaScript· Frontend
Tricky JavaScript Scenario #55: custom debounce with cancel method
29214
medium
JavaScript· Frontend
Tricky JavaScript Scenario #32: DOM Layout Thrashing remedies
29126
medium
JavaScript· Frontend
What are private class fields?
2904
medium
JavaScript· Frontend
Tricky JavaScript Scenario #12: Map.groupBy
28874
medium
JavaScript· Frontend
Tricky JavaScript Scenario #37: IntersectionObserver lazy loaded content
28335
medium
JavaScript· Frontend
What is the difference between slice and splice?
27242
medium
JavaScript· DSA
Tricky JavaScript Scenario #77: Reflect.ownKeys
26746
medium
JavaScript· Frontend
Tricky JavaScript Scenario #38: ResizeObserver sizing alterations tracking
26776
medium
JavaScript· Frontend
Tricky JavaScript Scenario #42: Map.groupBy
24640
medium
JavaScript· Frontend
What are computed property names?
24438
medium
JavaScript· Frontend
What does 'use strict' do?
22833
medium
JavaScript· Frontend
What is BigInt?
21413
medium
JavaScript· Frontend
Tricky JavaScript Scenario #82: WeakSet garbage collection behavior
21028
medium
JavaScript· Frontend
Tricky JavaScript Scenario #72: Map.groupBy
2046
medium
JavaScript· Frontend
Tricky JavaScript Scenario #30: BroadcastChannel multi-tab updates
18935
medium
JavaScript· Frontend
How does async/await work?
17880
medium
JavaScript· Frontend
Tricky JavaScript Scenario #49: Proxy traps custom gets
14825
medium
JavaScript· Frontend
Tricky JavaScript Scenario #91: History API route state handling
14627
medium
JavaScript· DSA
Tricky JavaScript Scenario #17: Reflect.ownKeys
14272
medium
JavaScript· Frontend
What do Array.from and Array.of do?
13449
medium
JavaScript· Frontend
What is a pure function?
13143
medium
JavaScript· Frontend
What is a higher-order function?
12231
medium
JavaScript· Frontend
Tricky JavaScript Scenario #94: navigator.sendBeacon final telemetry
10960
medium
JavaScript· Frontend
Tricky JavaScript Scenario #60: BroadcastChannel multi-tab updates
841
medium
JavaScript· Frontend
What is the difference between client-side and server-side rendering?
8353
medium
JavaScript· Frontend
Tricky JavaScript Scenario #61: History API route state handling
6913
medium
JavaScript· Frontend
How do you abort a Fetch API request using AbortController?
5819
medium
JavaScript· Frontend
Explain the event loop, call stack, and task queues.
1.2k48
hard
JavaScript· DSA
Tricky JavaScript Scenario #81: Symbol.asyncIterator paging fetches
1.1k31
hard
JavaScript· Frontend
What are function composition and pipe?
1.1k2
hard
JavaScript· System Design
Tricky JavaScript Scenario #58: SharedArrayBuffer thread isolation
1.1k51
hard
JavaScript· Frontend
What is the difference between Promise.all, allSettled, race, and any?
1.1k25
hard
JavaScript· Frontend
What is CORS?
1.1k80
hard
JavaScript· System Design
Tricky JavaScript Scenario #87: Array element kinds optimization
1.1k77
hard
JavaScript· System Design
Implement an async task queue with a concurrency limit.
1.1k44
hard
JavaScript· Frontend
What does yield* do in a generator?
1.0k26
hard
JavaScript· Frontend
What are async iterators and for await...of?
1.0k16
hard
JavaScript· System Design
Tricky JavaScript Scenario #88: SharedArrayBuffer thread isolation
1.0k17
hard
JavaScript· System Design
Tricky JavaScript Scenario #57: Array element kinds optimization
98163
hard
JavaScript· DSA
Tricky JavaScript Scenario #80: Symbol.iterator custom generator
93611
hard
JavaScript· Frontend
What is the Reflect API?
88464
hard
JavaScript· Frontend
What are Symbols and what are they used for?
87464
hard
JavaScript· DSA
Tricky JavaScript Scenario #50: Symbol.iterator custom generator
85978
hard
JavaScript· Frontend
What is a generator function?
80644
hard
JavaScript· System Design
Tricky JavaScript Scenario #27: Array element kinds optimization
79149
hard
JavaScript· Frontend
In what order do console.log, setTimeout, and Promise.then run?
77511
hard
JavaScript· Frontend
Explain how prototypal inheritance differs from classical inheritance.
74810
hard
JavaScript· DSA
Tricky JavaScript Scenario #83: deepClone with cycles detection
67650
hard
JavaScript· DSA
Tricky JavaScript Scenario #20: Symbol.iterator custom generator
66932
hard
JavaScript· Frontend
How do you implement a throttle function?
66031
hard
JavaScript· Frontend
What are tagged template literals?
58862
hard
JavaScript· Frontend
What is currying?
56341
hard
JavaScript· DSA
How do you implement a custom Promise.any polyfill?
54122
hard
JavaScript· DSA
Tricky JavaScript Scenario #53: deepClone with cycles detection
52976
hard
JavaScript· System Design
Tricky JavaScript Scenario #89: postMessage transferable streams
47816
hard
JavaScript· Frontend
What is the event loop?
47363
hard
JavaScript· Frontend
What is the temporal dead zone?
46559
hard
JavaScript· Frontend
How do iterators and the iterable protocol work?
43315
hard
JavaScript· Frontend
What is the difference between microtasks and macrotasks?
41771
hard
JavaScript· System Design
Tricky JavaScript Scenario #59: postMessage transferable streams
4012
hard
JavaScript· Frontend
Tricky JavaScript Scenario #56: custom throttle with leading flags
3320
hard
JavaScript· System Design
Tricky JavaScript Scenario #29: postMessage transferable streams
32469
hard
JavaScript· Frontend
Tricky JavaScript Scenario #26: custom throttle with leading flags
3242
hard
JavaScript· Frontend
What does the 'new' keyword do?
3117
hard
JavaScript· DSA
Tricky JavaScript Scenario #24: Function currying with placeholder inputs
2712
hard
JavaScript· DSA
Tricky JavaScript Scenario #23: deepClone with cycles detection
26953
hard
JavaScript· DSA
Tricky JavaScript Scenario #21: Symbol.asyncIterator paging fetches
26469
hard
JavaScript· DSA
Tricky JavaScript Scenario #54: Function currying with placeholder inputs
26342
hard
JavaScript· DSA
Tricky JavaScript Scenario #84: Function currying with placeholder inputs
2551
hard
JavaScript· Frontend
Tricky JavaScript Scenario #86: custom throttle with leading flags
22747
hard
JavaScript· Frontend
What are WeakMap and WeakSet?
21062
hard
JavaScript· DSA
How do you implement a simple Promise library from scratch?
17922
hard
JavaScript· DSA
Tricky JavaScript Scenario #51: Symbol.asyncIterator paging fetches
12234
hard
JavaScript· Frontend
What is debouncing and throttling?
11334
hard
JavaScript· System Design
Tricky JavaScript Scenario #28: SharedArrayBuffer thread isolation
534
hard
JavaScript· Frontend
What is a Proxy in JavaScript?
4214
hard
Difficulty Distribution
Easy52 (27%)
Medium95 (48%)
Hard49 (25%)
Hiring Companies
Tested Topics
#tricky#real-world#es2023#utility#observers#promises#rendering#proxy
Study Guide
Study prototypical inheritance, memory leaks in closures, V8 compilation stages, event loop task queues, and advanced asynchronous patterns.