JavaScript and Node.js Online Test

TestDome skill assessments are used by more than 8,000 companies and 880,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 and Node.js online test assesses candidates' knowledge of JavaScript language and specific Node.js features.

It's an ideal test for pre-employment screening. A good Node.js developer needs to be able not only to solve problems using Node.js but also to be familiar with the Node.js ecosystem.

This online test requires candidates to solve coding problems in JavaScript and Node.js.

Sample public questions

20 min

Your company is analyzing malware software which targets numerical record files.

The malware checks the value of each record and the values of some of its neighbors. The record is replaced by 0 when it is smaller or equal to either of those neighbors.

For each number, it matches the following pattern, where position 'X', is compared to positions 'T':

T, _, _, X, _, _, _, T

Positions '_' represent neighbors that are ignored. Positions further beyond the 'T's, to the far left or far right, are also ignored.

If the 'X' position is near the left or right border and has no 'T' position neighbor, only one side is considered.

The malware finds all the positions first and only then sets them to 0. For example, if the values in a record file are the following:

[19, 2, 0, 87, 1, 40, 80, 77, 77, 77, 77]

The expected values after the malware runs are:

[19, 0, 0, 87, 0, 0, 0, 77, 77, 0, 0]

In this example, number 2 was removed because 40 is the bigger number.

Implement the simulate function so that the malware behavior is replicated for further study.

10 min
Asynchronous Calls

A company uses a Node.js application that checks several data sources for requested information. Since each request to a data source is performance heavy, the application should try to check the next source only if the request failed at the current data source. That functionality was extracted into the firstSuccessfulPromise function.

The firstSuccessfulPromise function accepts an array of Promises as a promiseArray parameter. The function should return a Promise which should resolve to the first successful result from the promiseArray.

If no Promise from the promiseArray returns successfully, the function should return undefined.

For example, if the following code is executed:

firstSuccessfulPromise([new Promise((resolve, reject) => reject()), 
              new Promise((resolve, reject) => resolve("Success!"))])
  .then(result => console.log(result));

It should print "Success!".

For jobseekers: get certified

Earn a free certificate by achieving top 25% on the JavaScript and Node.js 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

65 more premium JavaScript and Node.js questions

Positive Numbers, Truthy Expressions, Fahrenheit Converter, Shopping Cart, Weather Data, File Exists, Retry Request, Run Sequentially, Max Sum, Launch Time, Stream Transform, Function Wrapper, Package Declaration, Add Id, Hash Bug, Game Action, Arrange Promises, Unique Numbers, Load URL, Photon Frequency, Color Codes, Tax Calculator, Confirm, Friend, Row Appender, Segment, Height, Product Rating, Validation, Array Search, Screen, Timer, Username, Snapshot, Scale Font Size, Products, Paragraph, Hide Button, A Tag, Hobbies, Loading Bar, Double, Table of Names, Filter, Reorder, Date Transform, Trading Data Paging, New Folder, Shipping, Chain Link, Node, Read Write Execute, Numbers To Text, Paper Strip, Special Actions, Memory Game, Log Parser, Vectors, Log Patch, Cards, Increase Priority, Calories Burned, Ticket Transition, Post Comment, Jogging App.

Skills and topics tested

  • JavaScript
  • Closures
  • Language
  • Node.js
  • Modules
  • Events
  • Asynchronous Programming
  • Async-Await
  • Promise
  • Algorithmic Thinking
  • Timing Events
  • JSON
  • Stream
  • Exceptions
  • NPM
  • Event Loop
  • Bug Fixing
  • Event Emitter
  • Dictionary
  • Ajax
  • HTTP
  • Arrays
  • Associative Arrays
  • Classes
  • Objects
  • Dialog Box
  • Event Handling
  • Graphs
  • Content Manipulation
  • DOM Manipulation
  • Arithmetic
  • Attribute Manipulation
  • Forms
  • Recursion
  • ECMAScript 2015
  • Asynchronous Calls
  • Callback
  • Regex
  • Strings
  • Styling
  • Serialization
  • Sorting
  • Iteration
  • HTML5
  • Pagination
  • Linked List
  • Tree
  • XML
  • Monkey Patching

For job roles

  • Back-End Developer
  • JavaScript Developer
  • Node.js 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 (2022)

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 and Node.js Tests: