BFE
.dev
buy us
a coffee
EN
Practice
Explore
EN
JavaScript Coding Questions
As a Front-End developer, JavaScript is the core skill of everything
Sort
Difficulty
Solved status
Company
Sort: most tried
1. implement curry()
JavaScript
easy
59218 tried
3. implement Array.prototype.flat()
JavaScript
easy
54859 tried
4. implement basic throttle()
JavaScript
Lodash
medium
52899 tried
16. create an Event Emitter
JavaScript
medium
32641 tried
2. implement curry() with placeholder support
JavaScript
medium
30446 tried
151. implement Array.prototype.map()
JavaScript
medium
27984 tried
5. implement throttle() with leading & trailing option
JavaScript
Lodash
medium
25570 tried
6. implement basic debounce()
JavaScript
Lodash
easy
24887 tried
19. find corresponding node in two identical DOM tree
JavaScript
easy
23189 tried
14. Implement a general memoization function - `memo()`
JavaScript
medium
22726 tried
32. implement `Promise.all()`
JavaScript
medium
21674 tried
7. implement debounce() with leading & trailing option
JavaScript
Lodash
medium
20815 tried
113. Virtual DOM I
JavaScript
Algorithm
DOM
medium
18767 tried
9. decode message
JavaScript
medium
17385 tried
21. implement JSON.stringify()
JavaScript
medium
17134 tried
8. can you shuffle() an array?
JavaScript
medium
16876 tried
18. Improve a function
JavaScript
easy
16327 tried
176. undefined to null
JavaScript
easy
16267 tried
10. first bad version
JavaScript
Algorithm
medium
15467 tried
58. get DOM tree height
JavaScript
Algorithm
DOM
medium
15363 tried
34. implement `Promise.any()`
JavaScript
medium
15326 tried
26. implement Object.assign()
JavaScript
medium
15049 tried
146. implement Array.prototype.reduce()
JavaScript
medium
14514 tried
67. create your own Promise
JavaScript
medium
14495 tried
11. what is Composition? create a pipe()
JavaScript
easy
14351 tried
23. create a sum()
JavaScript
easy
14199 tried
161. toBe() or not.toBe()
JavaScript
medium
13722 tried
17. Create a simple store for DOM element
JavaScript
easy
13677 tried
28. implement clearAllTimeout()
JavaScript
easy
13322 tried
33. implement `Promise.allSettled()`
JavaScript
medium
13206 tried
165. remove characters
Algorithm
medium
12470 tried
92. throttle Promises
JavaScript
medium
12370 tried
57. create an Observable
JavaScript
medium
12118 tried
29. implement async helper - `sequence()`
JavaScript
medium
12110 tried
25. Reorder array with new indexes
JavaScript
Algorithm
easy
11574 tried
167. Intersection of unsorted arrays
JavaScript
Algorithm
easy
11316 tried
13. Implement a Queue by using Stack
JavaScript
Algorithm
medium
10752 tried
159. implement promisify()
JavaScript
easy
10718 tried
64. auto-retry Promise on rejection
JavaScript
medium
10702 tried
63. create `_.cloneDeep()`
JavaScript
Algorithm
Lodash
medium
10670 tried
15. implement a simple DOM wrapper to support method chaining like jQuery
JavaScript
easy
10533 tried
12. implement Immutability helper
JavaScript
medium
9944 tried
130. create LazyMan()
JavaScript
medium
9749 tried
155. create a count function
JavaScript
easy
9635 tried
162. find the single integer
JavaScript
Algorithm
easy
9531 tried
30. implement async helper - `parallel()`
JavaScript
medium
9287 tried
68. get DOM tags
JavaScript
Algorithm
DOM
medium
8502 tried
104. Traverse DOM level by level
JavaScript
Algorithm
DOM
medium
8427 tried
110. serialize and deserialize binary tree
JavaScript
Algorithm
medium
8375 tried
154. Two-way binding
JavaScript
DOM
easy
7611 tried
148. create a counter object
JavaScript
easy
7583 tried
103. implement Math.sqrt()
JavaScript
Algorithm
medium
7558 tried
168. move zeros
JavaScript
Algorithm
medium
7227 tried
20. Detect data type in JavaScript
JavaScript
medium
7120 tried
122. implement memoizeOne()
JavaScript
medium
7110 tried
56. call APIs with pagination
JavaScript
medium
7098 tried
89. Next Right Sibling
JavaScript
DOM
easy
6894 tried
123. implement Promise.prototype.finally()
JavaScript
medium
6855 tried
53. write your own `extends` in es5
JavaScript
medium
6652 tried
157. semver compare
JavaScript
easy
6157 tried
61. create your own `Function.prototype.call`
JavaScript
medium
6130 tried
69. implement deep equal `_.isEqual()`
JavaScript
Lodash
medium
6120 tried
135. localStorage with expiration
JavaScript
medium
6029 tried
46. implement `_.once()`
JavaScript
Lodash
easy
5955 tried
125. implement classNames()
JavaScript
medium
5766 tried
60. create your own `new` operator
JavaScript
easy
5716 tried
91. invert a binary tree
JavaScript
Algorithm
easy
5689 tried
36. create a fake timer(setTimeout)
JavaScript
medium
5661 tried
158. Previous Left Sibling
JavaScript
DOM
medium
5626 tried
80. implement your own URLSearchParams
JavaScript
hard?
5488 tried
35. implement `Promise.race()`
JavaScript
easy
5403 tried
101. merge identical API calls
JavaScript
medium
5359 tried
85. implement `_.get()`
JavaScript
Lodash
medium
5283 tried
173. uncompress string
JavaScript
string
algorithm
medium
5214 tried
47. reverse a linked list
JavaScript
Algorithm
easy
5210 tried
22. implement JSON.parse()
JavaScript
medium
5125 tried
37. implement Binary Search (unique)
JavaScript
easy
5070 tried
59. create a browser history
JavaScript
medium
5063 tried
137. binary tree vertical traversal
JavaScript
Algorithm
hard?
5046 tried
156. implement `_.set()`
JavaScript
Lodash
medium
4880 tried
118. Virtual DOM II - createElement
JavaScript
easy
4852 tried
145. most frequently occurring character
JavaScript
easy
4844 tried
39. implement range()
JavaScript
easy
4742 tried
163. integer to roman numerals
JavaScript
Algorithm
easy
4631 tried
117. event delegation
JavaScript
medium
4590 tried
31. implement async helper - `race()`
JavaScript
easy
4577 tried
83. create an interval
JavaScript
medium
4431 tried
24. create a Priority Queue in JavaScript
JavaScript
Algorithm
medium
4398 tried
131. implement _.chunk()
JavaScript
Lodash
medium
4361 tried
66. remove duplicates from an array
JavaScript
Algorithm
medium
4269 tried
121. A number sequence
JavaScript
easy
4242 tried
52. create a middleware system
JavaScript
medium
4212 tried
139. implement _.partial()
JavaScript
Lodash
medium
4130 tried
120. create `isPrime()`
JavaScript
Algorithm
easy
4055 tried
134. create your own Cookie
JavaScript
medium
4052 tried
86. Generate Fibonacci Number
JavaScript
Algorithm
medium
3992 tried
152. Find Top k Elements
JavaScript
Algorithm
medium
3984 tried
112. remove duplicate characters in a string
JavaScript
Algorithm
string
medium
3961 tried
65. add comma to number
JavaScript
medium
3948 tried
97. compress a string
JavaScript
string
easy
3919 tried
138. Intersection of two sorted arrays
JavaScript
Algorithm
easy
3889 tried
38. implement `jest.spyOn()`
JavaScript
easy
3874 tried
133. roman numerals to integer
JavaScript
easy
3866 tried
140. Virtual DOM III - Functional Component
JavaScript
easy
3794 tried
81. merge sorted arrays
JavaScript
Algorithm
easy
3752 tried
95. implement String.prototype.trim()
JavaScript
medium
3739 tried
41. implement Merge Sort
JavaScript
Algorithm
medium
3734 tried
88. support negative Array index in JavaScript
JavaScript
medium
3689 tried
48. search first index with Binary Search(possible duplicate array)
JavaScript
Algorithm
easy
3684 tried
94. implement your own `Object.create`
JavaScript
easy
3659 tried
149. interpolation
JavaScript
medium
3566 tried
90. write your own `instanceof`
JavaScript
medium
3563 tried
166. validate number string
JavaScript
Algorithm
string
medium
3524 tried
87. longest substring with unique characters
JavaScript
Algorithm
easy
3503 tried
43. implement Quick Sort
JavaScript
Algorithm
medium
3502 tried
170. Generate CSS Selector for target element
JavaScript
medium
3483 tried
132. the angle between hour hand and minute hand of a clock
JavaScript
medium
3457 tried
55. highlight keywords in HTML string
JavaScript
Algorithm
medium
3457 tried
116. implement Object.is()
JavaScript
easy
3451 tried
79. convert snake_case to camelCase
JavaScript
medium
3348 tried
102. validate string of parentheses
JavaScript
Algorithm
string
easy
3260 tried
106. Find two numbers that sum up to 0
JavaScript
Algorithm
easy
3236 tried
109. implement `Math.pow()`
JavaScript
Algorithm
easy
3214 tried
27. implement completeAssign()
JavaScript
medium
3155 tried
70. implement Observable.from()
JavaScript
medium
3142 tried
40. implement Bubble Sort
JavaScript
Algorithm
easy
3124 tried
147. Pick up stones
JavaScript
easy
3080 tried
136. find median of two sorted array
JavaScript
Algorithm
medium
3042 tried
54. flatten Thunk
JavaScript
easy
3034 tried
107. Find the largest difference
JavaScript
Algorithm
easy
2969 tried
153. uglify CSS class names
JavaScript
medium
2880 tried
169. LRU - Chrome storage automatic eviction
JavaScript
Algorithm
medium
2827 tried
49. search last index with Binary Search(possible duplicate array)
JavaScript
Algorithm
easy
2799 tried
105. find the first duplicate character in a string
JavaScript
string
easy
2717 tried
82. find available meeting slots
JavaScript
Algorithm
medium
2652 tried
164. implement Immer produce()
JavaScript
medium
2601 tried
100. detect circle in linked list
JavaScript
Algorithm
easy
2584 tried
45. find the K-th largest element in an unsorted array
JavaScript
Algorithm
medium
2451 tried
172. implement `Math.clz32()`
JavaScript
medium
2368 tried
50. search element right before target with Binary Search(possible duplicate array)
JavaScript
Algorithm
easy
2213 tried
71. implement Observable Subject
JavaScript
medium
2133 tried
111. Count palindromic substrings
JavaScript
Algorithm
string
medium
2114 tried
108. Implement a Stack by using Queue
JavaScript
Algorithm
medium
2103 tried
93. Generate Fibonacci Number with recursion
JavaScript
easy
2064 tried
119. create a tokenizer
JavaScript
medium
2045 tried
62. implement BigInt addition
JavaScript
Algorithm
easy
1996 tried
99. extract all anchor element from HTML string
JavaScript
medium
1948 tried
51. search element right after target with Binary Search(possible duplicate array)
JavaScript
Algorithm
easy
1947 tried
171. create callback on message channel
JavaScript
medium
1830 tried
84. create a fake timer (setInterval)
JavaScript
medium
1797 tried
143. Virtual DOM IV - JSX 1
JavaScript
medium
1769 tried
42. implement Insertion Sort
JavaScript
Algorithm
easy
1764 tried
98. validate an IP address
JavaScript
medium
1742 tried
44. implement Selection Sort
JavaScript
Algorithm
easy
1612 tried
78. convert HEX color to RGBA
JavaScript
medium
1466 tried
142. lit-html 1 - tagged templates
JavaScript
lit-html
easy
1450 tried
75. implement BigInt subtraction
JavaScript
Algorithm
medium
1263 tried
96. count "1" in binary form
JavaScript
easy
1214 tried
150. Virtual DOM V - JSX 2
JavaScript
medium
963 tried
160. implement atob()
JavaScript
medium
864 tried
144. serialize and deserialize data types not supported in JSON
JavaScript
medium
809 tried
73. implement Observable fromEvent()
JavaScript
easy
786 tried
76. implement BigInt addition with sign
JavaScript
medium
785 tried
124. calculate arithmetic expression
JavaScript
Algorithm
medium
726 tried
74. implement Observable Transformation Operators
JavaScript
easy
650 tried
141. implement btoa()
JavaScript
easy
606 tried
72. implement Observable interval()
JavaScript
easy
558 tried
174. CSS Grid Layout auto-placement algorithm - sparse
JavaScript
CSS
hard?
514 tried
114. implement BigInt multiplication
JavaScript
medium
449 tried
77. implement BigInt subtraction with sign
JavaScript
medium
349 tried
126. BigDecimal addition
JavaScript
Algorithm
medium
270 tried
115. implement BigInt division
JavaScript
medium
251 tried
128. BigDecimal multiplication
JavaScript
Algorithm
medium
196 tried
129. BigDecimal Division
JavaScript
Algorithm
medium
138 tried
175. CSS Grid Layout auto-placement algorithm - dense
JavaScript
CSS
medium
102 tried
127. BigDecimal subtraction
JavaScript
Algorithm
few challengers
87 tried