C++ 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 C++ online test assesses knowledge of programming in the C++ language and commonly used parts of the C++ Standard Library. This test requires solving live coding problems in C++.

The assessment includes work-sample tasks such as:

  • Implementing and properly using algorithms and data structures to optimize application performance.
  • Optimizing memory management and fixing memory leaks.
  • Working with OOP principles and higher-order functions to write reusable code.

A good C++ developer needs a solid understanding of the C++ programming language and the ability to take advantage of the functionality provided by the Standard Library to write robust and maintainable code.

Sample public questions

20 min

Your company is analyzing malware which targets numerical record files.

The malware uses a sliding window over the array of numbers in a file, and tries to match the following pattern:

Tl, -, -, X, -, -, -, Tr

The entire window is moved so that 'X' passes through all the values and is compared to the numbers at the 'Tl' and 'Tr' locations, which are positioned at a constant offset to 'X'.

The malware has the following rules:

  • If the value at the 'Tl' or 'Tr' position of the pattern is bigger or equal to the value at the 'X’ position, the malware replaces the value at 'X' with 0.
  • If the value at the 'Tl' or 'Tr' offset is out of bounds, then the value at 'X' is only compared to the other existing value.
  • The record is processed in two stages: first, all the positions that should be set to 0 are located, using the original values for comparison. Only after all positions have been identified do they get set to 0.

For example, if the values in a record file are the following:

{1, 2, 0, 5, 0, 2, 4, 3, 3, 3}

The expected values after the malware runs are:

{1, 0, 0, 5, 0, 0, 0, 3, 3, 0}

In this example, both '2's, the '4' and the last '3' were replaced by 0.

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

30 min
2D Array

A game grid represents water and land masses. The grid contains a true value where it's water and false where it's land.

A boat can go to the next tile in the left or right directions, or move twice in the top and bottom directions. All the tiles in the path must be inside the grid and contain water.

Implement the canTravelTo function, which accepts a grid matrix, starting and destination coordinates (row and column), and returns a boolean indicating whether a boat can travel between the two points in one step.

Valid movements

In the image above, the ✓ represent the only valid movements from the boat's position, and the ✕ represent unreachable destinations due to land presence.

For example, the following code:

Grid gameMatrix {
    {false, false, true, true, false},
    {false, false, true, false, false},
    {false, false, true, true, false},
    {false, true, false, true, false},
    {false, false, true, false, false}

std::cout << canTravelTo(gameMatrix, 2, 2, 0, 2) << std::endl;
std::cout << canTravelTo(gameMatrix, 2, 2, 2, 1) << std::endl;
std::cout << canTravelTo(gameMatrix, 2, 2, 2, 3) << std::endl;
std::cout << canTravelTo(gameMatrix, 2, 2, 4, 2) << std::endl;

Should print:


For jobseekers: get certified

Earn a free certificate by achieving top 25% on the C++ 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

56 more premium C++ questions

Non Zero, Babushka Doll, Max Sum, Unique Numbers, Moving Total, Increment, Crop Ratio, Internal Nodes, Segment, Chain Link, Tiles, Friend, Fire Dragon, Battery, Weighted Average, Paper Strip, Node, Kilometer Converter, Function Cache, Veterinarian, Platformer, Hobbies, Out of Range, String Occurrence, Worker, Stories, Username, Window Manager, Document Store, Read Write Execute, Procedural Generator, Limits, Ship, Date Transform, Book Sale, Construction Game, Babushka Doll, Planet Search, Shipping, Patient Class, Unique Product, Chemical Machine, Stack to Vector, Language Teacher, Sort Params, Flight Connections, Read First Line, Circuit Simulator, Vectors, Calories Burned, Airport Networks, Digital Flasks, Company Stock, Archive, Flimsy Ladder, Paragraph.

Skills and topics tested

  • C++
  • Bug Fixing
  • Language
  • Memory Management
  • Algorithmic Thinking
  • Unordered Map
  • Unordered Set
  • Arrays
  • Pointers
  • Integer Division
  • Tree
  • Arithmetic
  • Linked List
  • Vector
  • Graphs
  • Higher Order Function
  • Interfaces
  • OOP
  • Exceptions
  • Recursion
  • Inheritance
  • Method Overriding
  • Hash and Equals
  • Queue
  • Data Structures
  • Iteration
  • Map
  • Stream
  • Strings
  • Dynamic Programming
  • Regex
  • Random
  • Conditions
  • Sorting
  • Abstract Class
  • Complexity
  • Stack
  • Pass by Reference
  • AI Code Review
  • Conditional Statements
  • Loops
  • Destructors

For job roles

  • Back-End Developer
  • C++ 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?