JavaScript Online Test

TestDome skill assessments are used by more than 11,000 companies and 1,030,000 test takers.

For Jobseekers

Practice your skills and earn a certificate of achievement when you score in the top 25%.

Take a Practice Test

For Companies

Test candidates with real-world problems and interview the best ones.

Sign Up to Offer this Test

About the test

The JavaScript online test assesses knowledge of programming in the JavaScript language and core front-end web development concepts. This test contains a series of live coding tasks that are executed inside the Google Chrome web browser.

The assessment includes work-sample tasks such as:

  • Handling user events and manipulating DOM to build responsive web pages.
  • Using classes, objects, and closures to write maintainable and reusable code.
  • Serializing to/from JSON and making AJAX calls.

A good Web front-end or JavaScript developer needs a solid understanding of the JavaScript programming language in order to build modern web pages, fix bugs, and write sustainable code.

Sample public questions

30 min
2D Array

A turn-based strategy game has a grid with water and land. The grid contains a true value where it's water and false where it's land.

The player controls a boat unit with a particular movement pattern. It can only move to fixed destinations from its current position as shown in the image below:

movement pattern

The boat can only move in a direct path through water to the possible destinations, so a destination will become unreachable if there is land in the way. 

Implement the canTravelTo function, that checks whether a destination is reachable by the boat. It should return true for destinations that are reachable according to the pattern above, and false for unreachable or out of bounds destinations which are outside the grid. 

For example, consider the following code:

const gameMatrix = [
  [false, true,  true,  false, false, false],
  [true,  true,  true,  false, false, false],
  [true,  true,  true,  true,  true,  true],
  [false, true,  true,  false, true,  true],
  [false, true,  true,  true,  false, true],
  [false, false, false, false, false, false],

console.log(canTravelTo(gameMatrix, 3, 2, 2, 2)); // true, Valid move
console.log(canTravelTo(gameMatrix, 3, 2, 3, 4)); // false, Can't travel through land
console.log(canTravelTo(gameMatrix, 3, 2, 6, 2)); // false, Out of bounds

The following image shows valid and invalid destinations when the boat is in the position (3, 2):

terrain movement

30 min
DOM Manipulation
Event Handling

A client has a web page with a series of tasks. They want to implement a reordering feature that behaves like the following example:

After performing the clicks shown in the animation above, the document's body should be:

    <span>Prepare presentation</span>
    <button class="downButton" type="button">&darr;</button>
    <span>Read emails</span>
    <button class="downButton" type="button">&darr;</button>
    <button class="upButton" type="button">&uarr;</button>
    <span>Monthly report</span>
    <button class="upButton" type="button">&uarr;</button>

Implement the function initialize to add the requested functionality. The reordering behavior should work with any number of tasks.

For jobseekers: get certified

Earn a free certificate by achieving top 25% on the JavaScript test with public questions.

Take a Certification Test

Sample silver certificate

Sunshine Caprio

Java and SQL
TestDome logo icon

For companies: premium questions

Buy TestDome to access premium questions that can't be practiced.
Get money back if you find any premium question answered online.

Sign Up to Offer this Test

61 more premium JavaScript questions

Truthy Expressions, Function Wrapper, Unique Numbers, Load URL, Photon Frequency, Confirm, Segment, Height, Product Rating, Validation, Array Search, Screen, Username, Snapshot, Scale Font Size, Hide Button, A Tag, Hobbies, Loading Bar, Table of Names, Reorder, Trading Data Paging, New Folder, Chain Link, Special Actions, Log Parser, Log Patch, Cards, Post Comment, Friend, Vectors, Date Transform, Construction Game, Students, Airport Networks, Company Stock, Shipping, Tax Calculator, Numbers To Text, Max Sum, Launch Time, Color Codes, Row Appender, Timer, Read Write Execute, Paper Strip, Memory Game, Circuit Simulator, Chemical Machine, Flimsy Ladder, Jogging App, Paragraph, Ticket Transition, Increase Priority, Positive Numbers, Double, Filter, Calories Burned, Node, Planet Search, Digital Flasks.

Skills and topics tested

  • JavaScript
  • Language
  • Closures
  • Exceptions
  • Algorithmic Thinking
  • Dictionary
  • Ajax
  • HTTP
  • Promise
  • Arrays
  • Dialog Box
  • Event Handling
  • Arithmetic
  • Objects
  • Attribute Manipulation
  • DOM Manipulation
  • Forms
  • Recursion
  • Bug Fixing
  • Classes
  • ECMAScript 2015
  • Regex
  • Strings
  • Styling
  • Asynchronous Calls
  • Iteration
  • HTML5
  • JSON
  • Pagination
  • Serialization
  • Sorting
  • Linked List
  • XML
  • Monkey Patching
  • Content Manipulation
  • Graphs
  • 2D Array
  • AI Code Review
  • Conditional Statements
  • Loops
  • Timing Events
  • Associative Arrays
  • Callback
  • Conditions
  • Tree

For job roles

  • JavaScript Developer
  • Web Front-End Developer

Sample candidate report

What others say

Decorative quote

Simple, straight-forward technical testing

TestDome is simple, provides a reasonable (though not extensive) battery of tests to choose from, and doesn't take the candidate an inordinate amount of time. It also simulates working pressure with the time limits.

Jan Opperman, Grindrod Bank

Product reviews

G2 - Crowd Badge
G2 - High Performer (2022)
Capterra - 4.5 Stars
Capterra - Shortlist (2023)

Used by

Solve all your skill testing needs

150+ Pre-made tests

From web development and database administration to project management and customer support. See all pre-made tests.

90+ skills

From JavaScript and SQL to English and customer support. See all questions to filter by skill.

Multi-skills Test

Mix questions for different skills or even custom questions in one test. See an example.

How TestDome works


Choose a pre-made test
or create a custom test


Invite candidates via
email, URL, or your ATS


Candidates take
a test remotely


Sort candidates and
get individual reports

Want to know more?

Related JavaScript Tests: