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
Screen real JavaScript and Node.js skills, flag human or AI assistance, and interview the right people.
About the test
The JavaScript and Node.js online test assesses knowledge of JavaScript and the Node.js environment, including solving live coding problems.
The assessment includes work-sample tasks, such as:
- Working with the Promise object and the Async-Await programming pattern.
- Serializing to/from JSON and making AJAX calls.
- Using modules to organize code.
A good Node.js developer needs to be able to solve problems using JavaScript and Node.js and also be familiar with the Node.js ecosystem.
Sample public questions
A megastore offers three types of discounts, which are represented as DiscountType object.
Implement the getDiscountedPrice function which should take the total weight of the shopping cart, the total price, and the discount type. It should return the final discounted price based on the discount schemes as shown in the promotional video below:
(Open full-size video in a new tab)
For example, the following code:
console.log(getDiscountedPrice(12, 100, DiscountType.Weight));should print:
82A 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.
Ready to interview?
Use these and other questions from our library with our
Code Interview Platform.

102 more premium JavaScript and Node.js questions
Truthy Expressions, Shopping Cart, Weather Data, File Exists, Function Wrapper, Load URL, Photon Frequency, Array Search, Screen, Username, Loading Bar, New Folder, Tax Calculator, Numbers To Text, Launch Time, Color Codes, Row Appender, Read Write Execute, Paragraph, Retry Request, Stream Transform, Package Declaration, Add Id, Hash Bug, Game Action, Arrange Promises, Node, Fahrenheit Converter, Positive Numbers, Special Actions, Candies, Automated Forklift, Circuit Simulator, Hobbies, Height, Run Sequentially, Calories Burned, All Managers, Prioritize Products, Reduced Value, Donation Drive, Customer Records, Construction Game, Text Stream, Weather Station, Contacts, Popular Book, Company Stock, CDN Request, Train Tracks, Warehouse Products, Patient Records, Newest User, Chemical Machine, Employee Sheet, Filter, Unique Numbers, Confirm, Segment, Validation, Snapshot, Scale Font Size, Hide Button, A Tag, Table of Names, Reorder, Trading Data Paging, Log Parser, Log Patch, Post Comment, Timer, Memory Game, Double, Students, Paper Strip, Jogging App, Adventure Game, Seasonal Tourism, Chain Link, Friend, Parking Allocation, Ecological Experiment, Flimsy Bridge, Airport Networks, Planet Search, Product Rating, Date Transform, Cards, Max Sum, Increase Priority, Price Trends, Christmas Lights, Shipping, Ticket Transition, Tally Counter, Digital Flasks, Jobs Time, Choose Items, Checkout Form, Report Transformation, Subject Highlight, Vectors.
Skills and topics tested
- JavaScript
- Language
- Node.js
- Events
- Asynchronous Programming
- Modules
- Closures
- Exceptions
- Ajax
- HTTP
- Promise
- Arrays
- Recursion
- Bug Fixing
- Classes
- ECMAScript 2015
- Regex
- Strings
- HTML5
- Objects
- Timing Events
- Associative Arrays
- Content Manipulation
- Arithmetic
- Async-Await
- JSON
- Stream
- NPM
- Event Loop
- Event Emitter
- Tree
- 2D Array
- Iteration
- Video
- Conditions
- Event Handling
- AI Code Review
- Conditional Statements
- Loops
- Data Structures
- Scope
- Algorithmic Thinking
- Dictionary
- Dialog Box
- Forms
- Attribute Manipulation
- Styling
- Asynchronous Calls
- Pagination
- Serialization
- Sorting
- XML
- Monkey Patching
- Callback
- Linked List
- Graphs
- CSS Selectors
For job roles
- Back-End Developer
- JavaScript Developer
- Node.js Developer
Sample candidate report
Need it fast? AI-crafted tests for your job role
TestDome generates custom tests tailored to the specific skills you need for your job role.
Sign up now to try it out and see how AI can streamline your hiring process!
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
130+ skills
AI-ready assessments
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






