BFE
.dev
buy us
a coffee
EN
Practice
Prepare
Company
Lists
Discuss
buy us
a coffee
EN
JavaScript Coding Questions
As a Front-End developer, JavaScript is the core skill of everything
Sort
Difficulty
Solved status
Company
Sort: most liked
1. implement curry()
JavaScript
easy
143 likes
3. implement Array.prototype.flat()
JavaScript
easy
74 likes
23. create a sum()
JavaScript
easy
61 likes
19. find corresponding node in two identical DOM tree
JavaScript
easy
50 likes
2. implement curry() with placeholder support
JavaScript
medium
47 likes
16. create an Event Emitter
JavaScript
medium
44 likes
11. what is Composition? create a pipe()
JavaScript
easy
41 likes
4. implement basic throttle()
JavaScript
Lodash
medium
37 likes
130. create LazyMan()
JavaScript
medium
35 likes
113. Virtual DOM I
JavaScript
Algorithm
DOM
medium
35 likes
67. create your own Promise
JavaScript
medium
33 likes
6. implement basic debounce()
JavaScript
Lodash
easy
33 likes
28. implement clearAllTimeout()
JavaScript
easy
32 likes
10. first bad version
JavaScript
Algorithm
medium
31 likes
176. undefined to null
JavaScript
medium
30 likes
18. Improve a function
JavaScript
easy
30 likes
29. implement async helper - `sequence()`
JavaScript
medium
29 likes
14. Implement a general memoization function - `memo()`
JavaScript
medium
29 likes
57. create an Observable
JavaScript
medium
28 likes
92. throttle Promises
JavaScript
medium
27 likes
32. implement `Promise.all()`
JavaScript
medium
27 likes
151. implement Array.prototype.map()
JavaScript
medium
26 likes
58. get DOM tree height
JavaScript
Algorithm
DOM
medium
26 likes
21. implement JSON.stringify()
JavaScript
medium
26 likes
159. implement promisify()
JavaScript
medium
25 likes
148. create a counter object
JavaScript
easy
25 likes
64. auto-retry Promise on rejection
JavaScript
medium
25 likes
34. implement `Promise.any()`
JavaScript
medium
25 likes
12. implement Immutability helper
JavaScript
medium
25 likes
17. Create a simple store for DOM element
JavaScript
easy
24 likes
165. remove characters
Algorithm
easy
23 likes
60. create your own `new` operator
JavaScript
easy
23 likes
161. toBe() or not.toBe()
JavaScript
medium
22 likes
146. implement Array.prototype.reduce()
JavaScript
medium
22 likes
61. create your own `Function.prototype.call`
JavaScript
medium
21 likes
15. implement a simple DOM wrapper to support method chaining like jQuery
JavaScript
easy
21 likes
9. decode message
JavaScript
medium
21 likes
167. Intersection of unsorted arrays
JavaScript
Algorithm
easy
20 likes
89. Next Right Sibling
JavaScript
DOM
easy
20 likes
63. create `_.cloneDeep()`
JavaScript
Algorithm
Lodash
medium
20 likes
55. highlight keywords in HTML string
JavaScript
Algorithm
medium
20 likes
35. implement `Promise.race()`
JavaScript
easy
20 likes
8. can you shuffle() an array?
JavaScript
easy
20 likes
25. Reorder array with new indexes
JavaScript
Algorithm
easy
19 likes
13. Implement a Queue by using Stack
JavaScript
Algorithm
medium
19 likes
162. find the single integer
JavaScript
Algorithm
easy
18 likes
33. implement `Promise.allSettled()`
JavaScript
medium
18 likes
7. implement debounce() with leading & trailing option
JavaScript
Lodash
medium
18 likes
5. implement throttle() with leading & trailing option
JavaScript
Lodash
medium
18 likes
123. implement Promise.prototype.finally()
JavaScript
medium
17 likes
117. event delegation
JavaScript
medium
17 likes
104. Traverse DOM level by level
JavaScript
Algorithm
DOM
easy
17 likes
168. move zeros
JavaScript
Algorithm
medium
16 likes
154. Two-way binding
JavaScript
DOM
easy
16 likes
118. Virtual DOM II - createElement
JavaScript
easy
16 likes
68. get DOM tags
JavaScript
Algorithm
DOM
medium
16 likes
173. uncompress string
JavaScript
string
algorithm
medium
15 likes
101. merge identical API calls
JavaScript
medium
15 likes
85. implement `_.get()`
JavaScript
Lodash
medium
15 likes
69. implement deep equal `_.isEqual()`
JavaScript
Lodash
medium
15 likes
22. implement JSON.parse()
JavaScript
medium
15 likes
20. Detect data type in JavaScript
JavaScript
medium
15 likes
145. most frequently occurring character
JavaScript
easy
14 likes
125. implement classNames()
JavaScript
medium
14 likes
54. flatten Thunk
JavaScript
easy
14 likes
39. implement range()
JavaScript
easy
14 likes
30. implement async helper - `parallel()`
JavaScript
medium
14 likes
157. semver compare
JavaScript
easy
13 likes
155. create a count function
JavaScript
easy
13 likes
121. A number sequence
JavaScript
easy
13 likes
110. serialize and deserialize binary tree
JavaScript
Algorithm
medium
13 likes
97. compress a string
JavaScript
string
medium
13 likes
88. support negative Array index in JavaScript
JavaScript
medium
13 likes
83. create an interval
JavaScript
medium
13 likes
70. implement Observable.from()
JavaScript
medium
13 likes
56. call APIs with pagination
JavaScript
medium
13 likes
47. reverse a linked list
JavaScript
Algorithm
easy
13 likes
46. implement `_.once()`
JavaScript
Lodash
easy
13 likes
36. create a fake timer(setTimeout)
JavaScript
medium
13 likes
26. implement Object.assign()
JavaScript
medium
13 likes
164. implement Immer produce()
JavaScript
medium
12 likes
139. implement _.partial()
JavaScript
Lodash
medium
12 likes
137. binary tree vertical traversal
JavaScript
Algorithm
hard?
12 likes
52. create a middleware system
JavaScript
medium
12 likes
38. implement `jest.spyOn()`
JavaScript
easy
12 likes
158. Previous Left Sibling
JavaScript
DOM
medium
11 likes
156. implement `_.set()`
JavaScript
Lodash
medium
11 likes
153. uglify CSS class names
JavaScript
medium
11 likes
147. Pick up stones
JavaScript
easy
11 likes
122. implement memoizeOne()
JavaScript
medium
11 likes
82. find available meeting slots
JavaScript
Algorithm
medium
11 likes
81. merge sorted arrays
JavaScript
Algorithm
easy
11 likes
79. convert snake_case to camelCase
JavaScript
medium
11 likes
59. create a browser history
JavaScript
medium
11 likes
31. implement async helper - `race()`
JavaScript
easy
11 likes
24. create a Priority Queue in JavaScript
JavaScript
Algorithm
medium
11 likes
149. interpolation
JavaScript
medium
10 likes
143. Virtual DOM IV - JSX 1
JavaScript
medium
10 likes
134. create your own Cookie
JavaScript
medium
10 likes
116. implement Object.is()
JavaScript
easy
10 likes
91. invert a binary tree
JavaScript
Algorithm
easy
10 likes
66. remove duplicates from an array
JavaScript
Algorithm
medium
10 likes
65. add comma to number
JavaScript
medium
10 likes
53. write your own `extends` in es5
JavaScript
medium
10 likes
138. Intersection of two sorted arrays
JavaScript
Algorithm
easy
9 likes
119. create a tokenizer
JavaScript
medium
9 likes
112. remove duplicate characters in a string
JavaScript
Algorithm
string
medium
9 likes
111. Count palindromic substrings
JavaScript
Algorithm
string
easy
9 likes
107. Find the largest difference
JavaScript
Algorithm
easy
9 likes
106. Find two numbers that sum up to 0
JavaScript
Algorithm
easy
9 likes
103. implement Math.sqrt()
JavaScript
Algorithm
medium
9 likes
94. implement your own `Object.create`
JavaScript
easy
9 likes
93. Generate Fibonacci Number with recursion
JavaScript
easy
9 likes
90. write your own `instanceof`
JavaScript
medium
9 likes
87. longest substring with unique characters
JavaScript
Algorithm
easy
9 likes
45. find the K-th largest element in an unsorted array
JavaScript
Algorithm
medium
9 likes
40. implement Bubble Sort
JavaScript
Algorithm
easy
9 likes
152. Find Top k Elements
JavaScript
Algorithm
medium
8 likes
135. localStorage with expiration
JavaScript
medium
8 likes
131. implement _.chunk()
JavaScript
Lodash
medium
8 likes
109. implement `Math.pow()`
JavaScript
Algorithm
easy
8 likes
100. detect circle in linked list
JavaScript
Algorithm
easy
8 likes
99. extract all anchor element from HTML string
JavaScript
medium
8 likes
43. implement Quick Sort
JavaScript
Algorithm
medium
8 likes
41. implement Merge Sort
JavaScript
Algorithm
medium
8 likes
133. roman numerals to integer
JavaScript
easy
7 likes
108. Implement a Stack by using Queue
JavaScript
Algorithm
medium
7 likes
105. find the first duplicate character in a string
JavaScript
string
easy
7 likes
170. Generate CSS Selector for target element
JavaScript
medium
6 likes
163. integer to roman numerals
JavaScript
Algorithm
easy
6 likes
142. lit-html 1 - tagged templates
JavaScript
lit-html
easy
6 likes
140. Virtual DOM III - Functional Component
JavaScript
easy
6 likes
120. create `isPrime()`
JavaScript
Algorithm
easy
6 likes
102. validate string of parentheses
JavaScript
Algorithm
string
easy
6 likes
84. create a fake timer (setInterval)
JavaScript
medium
6 likes
78. convert HEX color to RGBA
JavaScript
medium
6 likes
74. implement Observable Transformation Operators
JavaScript
easy
6 likes
72. implement Observable interval()
JavaScript
easy
6 likes
37. implement Binary Search (unique)
JavaScript
easy
6 likes
27. implement completeAssign()
JavaScript
easy
6 likes
172. implement `Math.clz32()`
JavaScript
medium
5 likes
171. create callback on message channel
JavaScript
medium
5 likes
169. LRU - Chrome storage automatic eviction
JavaScript
Algorithm
medium
5 likes
166. validate number string
JavaScript
Algorithm
string
medium
5 likes
96. count "1" in binary form
JavaScript
easy
5 likes
95. implement String.prototype.trim()
JavaScript
medium
5 likes
86. Generate Fibonacci Number
JavaScript
Algorithm
easy
5 likes
75. implement BigInt subtraction
JavaScript
Algorithm
medium
5 likes
71. implement Observable Subject
JavaScript
medium
5 likes
62. implement BigInt addition
JavaScript
Algorithm
easy
5 likes
51. search element right after target with Binary Search(possible duplicate array)
JavaScript
Algorithm
easy
5 likes
50. search element right before target with Binary Search(possible duplicate array)
JavaScript
Algorithm
easy
5 likes
49. search last index with Binary Search(possible duplicate array)
JavaScript
Algorithm
easy
5 likes
48. search first index with Binary Search(possible duplicate array)
JavaScript
Algorithm
easy
5 likes
42. implement Insertion Sort
JavaScript
Algorithm
easy
5 likes
144. serialize and deserialize data types not supported in JSON
JavaScript
medium
4 likes
136. find median of two sorted array
JavaScript
Algorithm
medium
4 likes
124. calculate arithmetic expression
JavaScript
Algorithm
medium
4 likes
98. validate an IP address
JavaScript
medium
4 likes
80. implement your own URLSearchParams
JavaScript
hard?
4 likes
73. implement Observable fromEvent()
JavaScript
easy
4 likes
44. implement Selection Sort
JavaScript
Algorithm
easy
4 likes
160. implement atob()
JavaScript
medium
3 likes
150. Virtual DOM V - JSX 2
JavaScript
medium
3 likes
141. implement btoa()
JavaScript
easy
3 likes
132. the angle between hour hand and minute hand of a clock
JavaScript
medium
3 likes
126. BigDecimal addition
JavaScript
Algorithm
medium
3 likes
114. implement BigInt multiplication
JavaScript
medium
3 likes
76. implement BigInt addition with sign
JavaScript
medium
3 likes
174. CSS Grid Layout auto-placement algorithm - sparse
JavaScript
CSS
hard?
2 likes
77. implement BigInt subtraction with sign
JavaScript
medium
2 likes
129. BigDecimal Division
JavaScript
Algorithm
medium
1 likes
128. BigDecimal multiplication
JavaScript
Algorithm
medium
1 likes
127. BigDecimal subtraction
JavaScript
Algorithm
few challengers
1 likes
115. implement BigInt division
JavaScript
medium
1 likes
175. CSS Grid Layout auto-placement algorithm - dense
JavaScript
CSS
few challengers