BFE
.dev
EN
Practice
Explore
EN
JavaScript Coding Questions
As a Front-End developer, JavaScript is the core skill of everything
Sort
Difficulty
Solved status
Company
Difficulty: medium
2. implement curry() with placeholder support
JavaScript
medium
4. implement basic throttle()
JavaScript
Lodash
medium
5. implement throttle() with leading & trailing option
JavaScript
Lodash
medium
7. implement debounce() with leading & trailing option
JavaScript
Lodash
medium
8. can you shuffle() an array?
JavaScript
medium
9. decode message
JavaScript
medium
10. first bad version
JavaScript
Algorithm
medium
12. implement Immutability helper
JavaScript
medium
13. Implement a Queue by using Stack
JavaScript
Algorithm
medium
14. Implement a general memoization function - `memo()`
JavaScript
medium
16. create an Event Emitter
JavaScript
medium
20. Detect data type in JavaScript
JavaScript
medium
22. implement JSON.parse()
JavaScript
medium
24. create a Priority Queue in JavaScript
JavaScript
Algorithm
medium
26. implement Object.assign()
JavaScript
medium
27. implement completeAssign()
JavaScript
medium
29. implement async helper - `sequence()`
JavaScript
medium
30. implement async helper - `parallel()`
JavaScript
medium
32. implement `Promise.all()`
JavaScript
medium
33. implement `Promise.allSettled()`
JavaScript
medium
34. implement `Promise.any()`
JavaScript
medium
36. create a fake timer(setTimeout)
JavaScript
medium
41. implement Merge Sort
JavaScript
Algorithm
medium
43. implement Quick Sort
JavaScript
Algorithm
medium
45. find the K-th largest element in an unsorted array
JavaScript
Algorithm
medium
46. implement `_.once()`
JavaScript
Lodash
medium
52. create a middleware system
JavaScript
medium
53. write your own `extends` in es5
JavaScript
medium
55. highlight keywords in HTML string
JavaScript
Algorithm
medium
56. call APIs with pagination
JavaScript
medium
57. create an Observable
JavaScript
medium
58. get DOM tree height
JavaScript
Algorithm
DOM
medium
59. create a browser history
JavaScript
medium
61. create your own `Function.prototype.call`
JavaScript
medium
63. create `_.cloneDeep()`
JavaScript
Algorithm
Lodash
medium
64. auto-retry Promise on rejection
JavaScript
medium
65. add comma to number
JavaScript
medium
66. remove duplicates from an array
JavaScript
Algorithm
medium
67. create your own Promise
JavaScript
medium
68. get DOM tags
JavaScript
Algorithm
DOM
medium
69. implement deep equal `_.isEqual()`
JavaScript
Lodash
medium
70. implement Observable.from()
JavaScript
medium
71. implement Observable Subject
JavaScript
medium
75. implement BigInt subtraction
JavaScript
Algorithm
medium
76. implement BigInt addition with sign
JavaScript
medium
77. implement BigInt subtraction with sign
JavaScript
medium
78. convert HEX color to RGBA
JavaScript
medium
79. convert snake_case to camelCase
JavaScript
medium
82. find available meeting slots
JavaScript
Algorithm
medium
83. create an interval
JavaScript
medium
84. create a fake timer (setInterval)
JavaScript
medium
85. implement `_.get()`
JavaScript
Lodash
medium
86. Generate Fibonacci Number
JavaScript
Algorithm
medium
88. support negative Array index in JavaScript
JavaScript
medium
90. write your own `instanceof`
JavaScript
medium
92. throttle Promises
JavaScript
medium
95. implement String.prototype.trim()
JavaScript
medium
97. compress a string
JavaScript
string
medium
98. validate an IP address
JavaScript
medium
99. extract all anchor element from HTML string
JavaScript
medium
101. merge identical API calls
JavaScript
medium
103. implement Math.sqrt()
JavaScript
Algorithm
medium
104. Traverse DOM level by level
JavaScript
Algorithm
DOM
medium
108. Implement a Stack by using Queue
JavaScript
Algorithm
medium
110. serialize and deserialize binary tree
JavaScript
Algorithm
medium
111. Count palindromic substrings
JavaScript
Algorithm
string
medium
112. remove duplicate characters in a string
JavaScript
Algorithm
string
medium
113. Virtual DOM I
JavaScript
Algorithm
DOM
medium
114. implement BigInt multiplication
JavaScript
medium
115. implement BigInt division
JavaScript
medium
117. event delegation
JavaScript
medium
119. create a tokenizer
JavaScript
medium
122. implement memoizeOne()
JavaScript
medium
123. implement Promise.prototype.finally()
JavaScript
medium
124. calculate arithmetic expression
JavaScript
Algorithm
medium
125. implement classNames()
JavaScript
medium
126. BigDecimal addition
JavaScript
Algorithm
medium
127. BigDecimal subtraction
JavaScript
Algorithm
medium
128. BigDecimal multiplication
JavaScript
Algorithm
medium
129. BigDecimal Division
JavaScript
Algorithm
medium
130. create LazyMan()
JavaScript
medium
131. implement _.chunk()
JavaScript
Lodash
medium
132. the angle between hour hand and minute hand of a clock
JavaScript
medium
134. create your own Cookie
JavaScript
medium
135. localStorage with expiration
JavaScript
medium
136. find median of two sorted array
JavaScript
Algorithm
medium
139. implement _.partial()
JavaScript
Lodash
medium
143. Virtual DOM IV - JSX 1
JavaScript
medium
144. serialize and deserialize data types not supported in JSON
JavaScript
medium
146. implement Array.prototype.reduce()
JavaScript
medium
149. interpolation
JavaScript
medium
150. Virtual DOM V - JSX 2
JavaScript
medium
151. implement Array.prototype.map()
JavaScript
medium
152. Find Top k Elements
JavaScript
Algorithm
medium
153. uglify CSS class names
JavaScript
medium
156. implement `_.set()`
JavaScript
Lodash
medium
158. Previous Left Sibling
JavaScript
DOM
medium
160. implement atob()
JavaScript
medium
161. toBe() or not.toBe()
JavaScript
medium
164. implement Immer produce()
JavaScript
medium
165. remove characters
Algorithm
medium
166. validate number string
JavaScript
Algorithm
string
medium
168. move zeros
JavaScript
Algorithm
medium
169. LRU - Chrome storage automatic eviction
JavaScript
Algorithm
medium
170. Generate CSS Selector for target element
JavaScript
medium
171. create callback on message channel
JavaScript
medium
172. implement `Math.clz32()`
JavaScript
medium
173. uncompress string
JavaScript
string
algorithm
medium
175. CSS Grid Layout auto-placement algorithm - dense
JavaScript
CSS
medium
176. undefined to null
JavaScript
medium
177. Implement Object.groupBy()
JavaScript
medium