JavaScript and Node.js Online Test
For Jobseekers
Practice your skills and earn a certificate of achievement when you score in the top 25%.
Take a Practice TestFor Companies
Test candidates with real-world problems and interview the best ones.
Sign Up to Offer this TestAbout 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
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:
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):
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 TestSample silver certificate
Sunshine Caprio
Java and SQL TestDomeCertificate
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.
73 more premium JavaScript and Node.js questions
Truthy Expressions, Fahrenheit Converter, Shopping Cart, Weather Data, File Exists, Run Sequentially, 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, 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, Chemical Machine, Flimsy Ladder, Jogging App, Paragraph, Retry Request, Stream Transform, Package Declaration, Add Id, Hash Bug, Game Action, Arrange Promises, Ticket Transition, Increase Priority, Positive Numbers, Double, Filter, Node, Planet Search, Digital Flasks, Calories Burned, Circuit Simulator, Students.
Skills and topics tested
- JavaScript
- Language
- Node.js
- Modules
- Events
- Asynchronous Programming
- Async-Await
- Promise
- Closures
- Exceptions
- Algorithmic Thinking
- Dictionary
- Ajax
- HTTP
- 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
- Stream
- NPM
- Event Loop
- Event Emitter
- Tree
For job roles
- Back-End Developer
- JavaScript Developer
- Node.js Developer
Sample candidate report
What others say
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
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