Hone your computer science fundamentals by implementing important data structures and algorithms from scratch and practice the questions where algorithmic efficiency is key.
All Practice Questions
Number of questions
21 questions
Total time
8 hours total
Questions List
1
StackImplement a stack data structure containing the common stack methods
Difficulty
Easy
Languages
JSTS
2
Insertion SortImplement a function that performs an insertion sort
Difficulty
Easy
Languages
JSTS
3
Binary SearchImplement a function that performs binary search on an array of numbers
Difficulty
Medium
Languages
JSTS
4
Breadth-first SearchImplement a breadth-first search algorithm that traverses a directed graph in a breadth-first manner
Difficulty
Medium
Languages
JSTS
5
Depth-first SearchImplement a depth-first search algorithm that traverses a directed graph in a depth-first manner
Difficulty
Medium
Languages
JSTS
6
Heap SortImplement a function that performs a heap sort
Difficulty
Medium
Languages
JSTS
7
QueueImplement a queue data structure containing the common queue methods
Difficulty
Medium
Languages
JSTS
8
Merge SortImplement a function that performs a recursive merge sort
Difficulty
Medium
Languages
JSTS
9
Quick SortImplement a function that performs a recursive quick sort
Difficulty
Medium
Languages
JSTS
10
Topological SortImplement a function that performs a topological sort
Difficulty
Medium
Languages
JSTS
Selection SortImplement a function that performs a selection sort
Difficulty
Easy
Languages
JSTS
Unique ArrayImplement a function to remove all duplicate values from an array
Difficulty
Easy
Languages
JSTS
Data MergingImplement a function to merge rows of data from the same user
Difficulty
Medium
Languages
JSTS
Event EmitterImplement a class that can subscribe to and emit events that trigger attached callback functions
Difficulty
Medium
Languages
JSTS
Event Emitter IIImplement a class that can subscribe to and emit events that trigger attached callback functions. Subscription objects are returned and can unsubscribe itself
Difficulty
Medium
Languages
JSTS
Transfer ListBuild a component that allows transferring of items between two lists
Difficulty
Medium
Available frameworks
Undoable CounterBuild a counter with a history of the values and ability to undo/redo actions
Difficulty
Medium
Available frameworks
Data SelectionImplement a function to filter rows of data matching a specified requirement
Difficulty
Hard
Languages
JSTS
Table of ContentsImplement a function to construct a table of contents from an HTML document
Difficulty
Hard
Languages
HTMLJSTS
Transfer List IIBuild a component that allows transferring of items between two lists, bulk selection/unselection of items, and adding of new items
Difficulty
Hard
Available frameworks
WordleBuild Wordle, the word-guessing game that took the world by storm