Collection of Frontend interview challenges
FrontendChallenges repository is a collection of frontend interview challenges.It is designed to help you prepare for frontend interviews. It's free and open source.
Click the following badges to see details of the challenges.
By Plain Text
- 1・Icon and RTL
- 2・useClickOutside
- 7・Promise Order
- 8・Closure
- 16・re-render
- 18・flatten
- 32・InstanceOfClass
- 40・Layout 1
- 45・Specificity
- 49・Holy Grail
- 61・Logical Operators
- 66・this
- 69・Two functions - one object
- 74・Array.prototype.filter
- 78・Array.prototype.map
- 86・Chunk
- 91・Stack
- 95・Queue
- 99・Closure 2
- 104・Queue using Stack
- 109・jest.spyOn
- 113・Losing this
- 115・forEach and this
- 117・Composibility
- 121・F.prototype
- 123・F.prototype and constructor
- 133・Class and Prototype
- 137・Overriding constructor
- 141・range
- 145・minBy
- 148・clamp
- 161・reject
- 169・re-render 2
- 179・Contains Duplicate
- 183・Anagrams
- 188・Two Sums
- 203・Is Palindrome
- 209・Best Time to Buy and Sell Stock
- 217・Validate Parentheses
- 223・Reverse a Linked List
- 225・Merge Two Sorted Linked Lists
- 231・Linked List Cycle Detection
- 235・Invert a Binary Tree
- 237・Depth of Binary Tree
- 239・Same Binary Tree
- 241・Subtree of a Binary Tree
- 283・Climbing Stairs
- 317・Meeting Schedule
- 327・Number of One Bits
- 329・Counting Bits
- 331・Reverse Bits
- 333・Missing Number
- 5・Fluid Typography
- 10・classNames
- 13・IsEmpty
- 47・Checkbox
- 55・memo
- 58・Event Emitter
- 82・Array.prototype.reduce
- 152・wait
- 158・shuffle
- 191・Anagram Groups
- 194・Top K Frequent Elements
- 197・String encode and decode
- 199・Products of Array Excluding Self
- 201・Longest Consecutive Sequence
- 205・Three Integer Sum
- 207・Max Water Container
- 211・Longest Substring Without Repeating Characters
- 213・Longest Repeating Substring With Replacement
- 219・Find Minimum in Rotated Sorted Array
- 221・Find Target in Rotated Sorted Array
- 227・Reorder Linked List
- 229・Remove Node From End of Linked List
- 243・Lowest Common Ancestor in Binary Search Tree
- 245・Level Order Traversal of Binary Tree
- 247・Valid Binary Search Tree
- 249・Kth Smallest Integer in BST
- 251・Binary Tree from Preorder and Inorder Traversal
- 259・Combination Target Sum
- 261・Search for Word
- 263・Implement Prefix Tree (Trie)
- 265・Design Word Search Data Structure
- 269・Count Number of Islands
- 271・Clone Graph
- 273・Pacific Atlantic Water Flow
- 275・Course Schedule
- 277・Valid Tree
- 279・Count Connected Components
- 285・House Robber
- 287・House Robber II
- 289・Longest Palindromic Substring
- 291・Palindromic Substrings
- 293・Decode Ways
- 295・Coin Change
- 297・Maximum Product Subarray
- 299・Word Break
- 301・Longest Increasing Subsequence
- 303・Count Paths
- 305・Longest Common Subsequence
- 307・Maximum Subarray
- 309・Jump Game
- 311・Insert New Interval
- 313・Merge Intervals
- 315・Non-overlapping Intervals
- 319・Meeting Schedule II
- 321・Rotate Matrix
- 323・Spiral Matrix
- 325・Set Zeroes in Matrix
- 335・Sum of Two Integers
- 340・Escape the overflow hidden
- 3・useHover
- 4・useFocusTrap
- 6・Debounce
- 20・throttle
- 35・Promise.all
- 37・Promise.race
- 43・Promise.any
- 215・Minimum Window With Characters
- 233・Merge K Sorted Linked Lists
- 253・Binary Tree Maximum Path Sum
- 255・Serialize and Deserialize Binary Tree
- 257・Find Median in a Data Stream
- 267・Search for Word II
- 281・Foreign Dictionary
You can try the challenges locally using your preferred IDE or text editor.
To do that, you will need the latest version of Node.js installed on your machine.
After cloning the repo, install the dependencies by:
npm install
Then and run the generate
script:
npm generate
It will prompt you to select the desired language, then you can find the generated challenges in the ./playground
folder.
Playground is made with vite, so you will need to install dependecies and run the dev server:
# go into playground folder
cd ./playground
# install dependencies
npm install
# run vite dev server
npm run dev
Now you should be able to open http://localhost:5173
in your browser and it will show the list of questions.
Since the playground is made with vite, it supports hot module reloading. So, any change made in questions files will be reflected on browser automatically.