JavaScript coding challenges

225 challenges you can solve in JavaScript, from first loops to graphs, dynamic programming and machine learning. Write your code in the browser, run the tests instantly and get an AI review.

Easy · 134 Medium · 67 Hard · 24

Skills you'll practise: CountingDigit extractionString splitting2D listsArithmeticFormulasListsLoopsConditionsDivisibilityFloating pointGradient descent
  • Python · C++ · C#
  • Automated tests
  • AI code review
  • Community solutions
226
Challenges
123
Solutions shared
9
Languages

All challenges

Search by topic, language, or difficulty.

225 challenges
Easy

Chess Square Color

Determine the color of a square on an 8 by 8 board.

You'll learn CoordinatesParity
Beginnermath
No solutions yet
Easy

Xavier and He Weight Initialization

Compute the range or standard deviation used to initialize the weights of a layer.

You'll learn Xavier and He initTraining stability
Neural networksaimachine learning
No solutions yet
Hard

Train a Neural Network to Solve XOR

Combine everything: train a 2-2-1 sigmoid network with backpropagation until it learns XOR.

You'll learn Neural network trainingXOR problem
Neural networksaimachine learning
No solutions yet
Easy

To-Do List

Keep a list of tasks: add them, mark them done, remove them and report what is still pending.

You'll learn Typed collectionsRecords
BeginnerSimulationStrings
Hard

Scaled Dot-Product Attention

Implement the attention operation at the heart of Transformers and large language models.

You'll learn AttentionTransformers
aimachine learning
No solutions yet
Medium

Composite Folder Sizes

Compute the total size of every folder in a tree where folders contain files and other folders.

You'll learn Composite patternTrees
Design patternsRecursionTrees
No solutions yet
Medium

Train a Neuron with Gradient Descent

Repeat forward pass, gradients and weight updates to teach a sigmoid neuron from examples.

You'll learn Gradient descentTraining loops
Neural networksaimachine learning
No solutions yet
Medium

Weekly Payroll

Total a week's pay for salaried, hourly and commission employees, each paid by its own rule.

You'll learn PolymorphismOvertime math
ParsingSimulationmath
No solutions yet
Easy

First Invalid Age

Validate typed ages and report where the first bad entry is instead of letting the program crash.

You'll learn ValidationParsing
BeginnerParsingStrings
No solutions yet
Easy

Sum the Valid Numbers

Add up the entries that are whole numbers and skip everything else, the way try/except handles bad input.

You'll learn Try/exceptInput validation
BeginnerParsingStrings
No solutions yet
Easy

Softmax Function

Turn raw scores into probabilities that add up to 1, without overflowing on large values.

You'll learn SoftmaxNumerical stability
aimachine learning
No solutions yet
Easy

Growing a Dynamic Array

Simulate how a dynamic array doubles its capacity and count the reallocations and copied elements.

You'll learn Dynamic arraysAmortised cost
ArraysSimulationmath
No solutions yet
Medium

SQL Query Builder

Assemble a SQL query from parts given in any order, the way a builder object collects settings step by step.

You'll learn Builder patternString assembly
Design patternsParsingStrings
No solutions yet
Hard

Multi-Head Self-Attention

Project the input into queries, keys and values, run attention in several heads in parallel, and combine them.

You'll learn Multi-head attentionMatrix projections
aimachine learning
No solutions yet
Medium

Causal (Masked) Self-Attention

Implement the masked attention GPT models use, where each token can only look at itself and earlier tokens.

You'll learn Masked attentionGPT models
aimachine learning
No solutions yet
Easy

Count Log Levels

Read the lines of a log file and count how many are INFO, WARNING and ERROR.

You'll learn Reading linesString splitting
BeginnerParsingStrings
No solutions yet
Easy

Cosine Similarity

Measure how similar two vectors are by the angle between them, as search engines do with embeddings.

You'll learn Vector similarityEmbeddings
aimachine learning
No solutions yet
Easy

Sum a Flat JSON Object

Parse a flat JSON object whose values are integers and add up the values.

You'll learn JSON parsingString splitting
ParsingStrings
No solutions yet