Coding Problems Problem Category Good to Review 1. implement curry() Currying ✅ 2. implement curry() with placeholder support Currying ✅ 3. implement Array.prototype.flat() Array 4. implement basic throttle() Throttling ✅ 5. implement throttle() with leading & trailing option Throttling ✅ 6. implement basic debounce() Debouncing 7. implement debounce() with leading & trailing option Debouncing ✅ 8. can you shuffle() an array? Array 9. decode message Array ✅ 10. first bad version Searching Algorithm ✅ 11. what is Composition? create a pipe() Composition ✅ 12. implement Immutability helper Array & Object ✅ 13. Implement a Queue by using Stack Queue ✅ 14. Implement a general memoization function - memo() Memoization 15. implement a simple DOM wrapper to support method chaining like jQuery DOM 16. create an Event Emitter Event Emitter ✅ 17. create a simple store for DOM element DOM ✅ 18. improve a function Array ✅ 19. find corresponding node in two identical DOM tree DOM 20. detect data type in JavaScript Data Type 21. implement JSON.stringify() JSON ✅ 22. implement JSON.parse() JSON ✅ 23. create a sum() Currying ✅ 24. create a Priority Queue in JavaScript Queue ✅ 25. reorder array with new indexes Array ✅ 26. implement Object.assign() Object ✅ 27. implement completeAssign() Object ✅ 28. implement clearAllTimeout() Timer 29. implement async helper - sequence() Async Helper ✅ 30. implement async helper - parallel() Async Helper ✅ 31. implement async helper - race() Async Helper ✅ 32. implement Promise.all() Promise ✅ 33. implement Promise.allSettled() Promise ✅ 34. implement Promise.any() Promise ✅ 35. implement Promise.race() Promise ✅ 36. create a fake timer(setTimeout) Timer ✅ 37. implement Binary Search (unique) Searching Algorithm 38. implement jest.spyOn() Jest ✅ 39. implement range() Iterable ✅ 40. implement Bubble Sort Sorting Algorithm 41. implement Merge Sort Sorting Algorithm 42. implement Insertion Sort Sorting Algorithm 43. implement Quick Sort Sorting Algorithm ✅ 44. implement Selection Sort Sorting Algorithm 45. find the K-th largest element in an unsorted array Array ✅ 46. implement _.once() JavaScript 47. reverse a linked list Linked List ✅ 48. search first index with Binary Search(possible duplicate array) Searching Algorithm ✅ 49. search last index with Binary Search(possible duplicate array) Searching Algorithm ✅ 50. search element right before target with Binary Search(possible duplicate array) Searching Algorithm ✅ 51. search element right after target with Binary Search(possible duplicate array) Searching Algorithm ✅ 52. create a middleware system Middleware Function ✅ 53. write your own extends in es5 JavaScript ✅ 54. flatten Thunk Thunk ✅ 55. highlight keywords in HTML string String ✅ 56. call APIs with pagination JavaScript ✅ 57. create an Observable Observable ✅ 58. get DOM tree height DOM 59. create a browser history JavaScript 60. create your own new operator JavaScript ✅ 61. create your own Function.prototype.call JavaScript ✅ 62. implement BigInt addition BigInt ✅ 63. create _.cloneDeep() Array & Object ✅ 64. auto-retry Promise on rejection Promise ✅ 65. add comma to number ✅ 66. remove duplicates from an array Array ✅ 67. create your own Promise Promise ✅ 68. get DOM tags DOM 69. implement deep equal _.isEqual() Array & Object ✅ 70. implement Observable.from() Observable 71. implement Observable Subject Observable 72. implement Observable interval() Observable 73. implement Observable fromEvent() Observable 74. implement Observable Transformation Operators Observable 75. implement BigInt subtraction BigInt 76. implement BigInt addition with sign BigInt 78. convert HEX color to RGBA String ✅ 79. convert snake_case to camelCase String 80. implement your own URLSearchParams URLSearchParams 81. merge sorted arrays Array ✅ 82. find available meeting slots Array ✅ 83. create an interval Timer ✅ 84. create a fake timer (setInterval) Timer ✅ 85. implement _.get() Object ✅ 86. Generate Fibonacci Number 87. longest substring with unique characters String ✅ 88. support negative Array index in JavaScript Array ✅ 89. Next Right Sibling DOM ✅ 91. invert a binary tree Binary Tree 96. count "1" in binary form Bit Manipulation ✅ 109. implement Math.pow() ✅ 113. Virtual DOM I Virtual DOM ✅ 118. Virtual DOM II - createElement Virtual DOM ✅ 140. Virtual DOM III - Functional Component Virtual DOM ✅ 143. Virtual DOM IV - JSX 1 Virtual DOM ✅ 151. implement Array.prototype.map() Array ✅