Skip to content

FrontendChallenges is a collection of frontend interview questions and answers. It is designed to help you prepare for frontend interviews. It's free and open source.

Notifications You must be signed in to change notification settings

jsartisan/frontend-challenges

Repository files navigation

Collection of Frontend interview challenges


Intro

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.

Challenges

Click the following badges to see details of the challenges.

52
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

59
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

14
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

By Tags
#array209・Best Time to Buy and Sell Stock 199・Products of Array Excluding Self 201・Longest Consecutive Sequence 205・Three Integer Sum 207・Max Water Container 219・Find Minimum in Rotated Sorted Array 221・Find Target in Rotated Sorted Array 297・Maximum Product Subarray 301・Longest Increasing Subsequence 307・Maximum Subarray 309・Jump Game
#arrays183・Anagrams
#backtracking259・Combination Target Sum 261・Search for Word 267・Search for Word II
#bfs245・Level Order Traversal of Binary Tree
#binary-search219・Find Minimum in Rotated Sorted Array 221・Find Target in Rotated Sorted Array
#binary-search-tree243・Lowest Common Ancestor in Binary Search Tree 247・Valid Binary Search Tree 249・Kth Smallest Integer in BST
#binary-tree235・Invert a Binary Tree 237・Depth of Binary Tree 239・Same Binary Tree 241・Subtree of a Binary Tree 245・Level Order Traversal of Binary Tree 251・Binary Tree from Preorder and Inorder Traversal 253・Binary Tree Maximum Path Sum 255・Serialize and Deserialize Binary Tree
#bit-manipulation327・Number of One Bits 329・Counting Bits 331・Reverse Bits 333・Missing Number 335・Sum of Two Integers
#blind75179・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 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 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
#closure8・Closure 99・Closure 2 6・Debounce
#css1・Icon and RTL 40・Layout 1 45・Specificity 49・Holy Grail 5・Fluid Typography 47・Checkbox 340・Escape the overflow hidden
#data-stream257・Find Median in a Data Stream
#data-structure263・Implement Prefix Tree (Trie) 265・Design Word Search Data Structure
#design-system47・Checkbox
#dfs269・Count Number of Islands 271・Clone Graph 273・Pacific Atlantic Water Flow
#divide-and-conquer233・Merge K Sorted Linked Lists
#dynamic-programming209・Best Time to Buy and Sell Stock 283・Climbing Stairs 329・Counting Bits 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
#event listeners2・useClickOutside 3・useHover 4・useFocusTrap
#event loop7・Promise Order
#events58・Event Emitter
#graph271・Clone Graph 275・Course Schedule 277・Valid Tree 279・Count Connected Components 281・Foreign Dictionary
#greedy309・Jump Game 315・Non-overlapping Intervals 319・Meeting Schedule II
#hash-map211・Longest Substring Without Repeating Characters 215・Minimum Window With Characters
#hash-set201・Longest Consecutive Sequence
#heap233・Merge K Sorted Linked Lists 257・Find Median in a Data Stream
#hooks2・useClickOutside 3・useHover 4・useFocusTrap
#html47・Checkbox
#intervals317・Meeting Schedule 311・Insert New Interval 313・Merge Intervals 315・Non-overlapping Intervals 319・Meeting Schedule II
#javascrip183・Anagrams
#javascript7・Promise Order 8・Closure 18・flatten 32・InstanceOfClass 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 179・Contains Duplicate 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 10・classNames 13・IsEmpty 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 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
#layout40・Layout 1 49・Holy Grail
#linked-list223・Reverse a Linked List 225・Merge Two Sorted Linked Lists 231・Linked List Cycle Detection 227・Reorder Linked List 229・Remove Node From End of Linked List 233・Merge K Sorted Linked Lists
#lodash18・flatten 13・IsEmpty 20・throttle
#logical operators61・Logical Operators
#logical properties1・Icon and RTL
#math333・Missing Number
#matrix261・Search for Word 269・Count Number of Islands 273・Pacific Atlantic Water Flow 303・Count Paths 321・Rotate Matrix 323・Spiral Matrix 325・Set Zeroes in Matrix 267・Search for Word II
#objects66・this 69・Two functions - one object
#performance16・re-render 169・re-render 2 55・memo
#promise7・Promise Order 43・Promise.any
#react2・useClickOutside 16・re-render 169・re-render 2 3・useHover 4・useFocusTrap
#recursion235・Invert a Binary Tree 237・Depth of Binary Tree 239・Same Binary Tree 241・Subtree of a Binary Tree 243・Lowest Common Ancestor in Binary Search Tree 247・Valid Binary Search Tree 249・Kth Smallest Integer in BST 251・Binary Tree from Preorder and Inorder Traversal 259・Combination Target Sum 253・Binary Tree Maximum Path Sum
#serialization255・Serialize and Deserialize Binary Tree
#sliding-window211・Longest Substring Without Repeating Characters 213・Longest Repeating Substring With Replacement 215・Minimum Window With Characters
#stack217・Validate Parentheses
#string203・Is Palindrome 217・Validate Parentheses 211・Longest Substring Without Repeating Characters 213・Longest Repeating Substring With Replacement 289・Longest Palindromic Substring 291・Palindromic Substrings 293・Decode Ways 299・Word Break 305・Longest Common Subsequence 215・Minimum Window With Characters
#topological-sort275・Course Schedule 281・Foreign Dictionary
#trie263・Implement Prefix Tree (Trie) 265・Design Word Search Data Structure 267・Search for Word II
#two-pointers203・Is Palindrome 231・Linked List Cycle Detection 205・Three Integer Sum 207・Max Water Container 229・Remove Node From End of Linked List
#typography5・Fluid Typography
#union-find277・Valid Tree 279・Count Connected Components
#utility18・flatten 20・throttle
          

By Plain Text

easy (52)

medium (59)

hard (14)


Play Locally

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.

Inspired by

About

FrontendChallenges is a collection of frontend interview questions and answers. It is designed to help you prepare for frontend interviews. It's free and open source.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages