JavaScript 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 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
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.
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:
<div>
<span>Prepare presentation</span>
<button class="downButton" type="button">↓</button>
</div>
<div>
<span>Read emails</span>
<button class="downButton" type="button">↓</button>
<button class="upButton" type="button">↑</button>
</div>
<div>
<span>Monthly report</span>
<button class="upButton" type="button">↑</button>
</div>
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 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.
53 more premium JavaScript questions
Positive Numbers, Truthy Expressions, Max Sum, Launch Time, Function Wrapper, 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
- Algorithmic Thinking
- Timing Events
- Exceptions
- Dictionary
- Ajax
- HTTP
- Promise
- Arrays
- Associative Arrays
- Classes
- Objects
- Dialog Box
- Event Handling
- Graphs
- Content Manipulation
- DOM Manipulation
- Arithmetic
- Attribute Manipulation
- Forms
- Recursion
- Bug Fixing
- ECMAScript 2015
- Asynchronous Calls
- Callback
- Regex
- Strings
- Styling
- JSON
- Serialization
- Sorting
- Iteration
- HTML5
- Pagination
- Linked List
- Tree
- XML
- Monkey Patching
For job roles
- JavaScript Developer
- Web Front-End 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