C++ Online Test
TestDome skill assessments are used by more than 7,000 companies and 450,000 individual test takers.
For Jobseekers
Practice your skills and earn a certificate of achievement when you score in the top 25%.
Take a Practice TestFor Companies
Test how candidates think, strategize, and problem solve so you can interview the best.
Sign Up to Offer This TestTestDome Skill Assessments
Used by over 450,000 jobseekers
Trusted by over 7,000 companies
Premium questions with real-world problems
The C++ online test assesses candidates' knowledge of programming in the C++ language and their ability to leverage commonly used parts of the C++ Standard Library.
It's an ideal test for pre-employment screening. A good C++ developer needs to be able not only to solve problems using C++ but also recognize when to leverage the functionality provided by the Standard Library to write robust and maintainable code.
This online test requires candidates to solve coding problems in C++ and find and fix bugs in a C++ program.
TestDome is trusted by businesses large and small
Practice your skills.
Sign up for a trial plan.
Free Sample Questions for C++ Test
Our sample questions are free for companies to use on a trial plan. See more about our premium questions for paid plans below.
Merge Names
Implement the unique_names method. When passed two vectors of names, it will return a vector containing the names that appear in either or both vectors. The returned vector should have no duplicates.
For example, calling unique_names(std::vector<std::string>{"Ava", "Emma", "Olivia"}, std::vector<std::string>{"Olivia", "Sophia", "Emma"}) should return a vector containing Ava, Emma, Olivia, and Sophia in any order.
User Input
User interface contains two types of user input controls: TextInput, which accepts all characters and NumericInput, which accepts only digits.
Implement the following methods:
- add on class TextInput - adds the given character to the current value
- getValue on class TextInput - returns the current value
- add on class NumericInput - overrides the base class method so that each non-numeric character is ignored
For example, the following code should output "10":
TextInput* input = new NumericInput();
input->add('1');
input->add('a');
input->add('0');
std::cout << input->getValue();
Pipeline
As part of a data processing pipeline, complete the implementation of the makePipeline method:
- The method should accept a vector of functions, and it should return a new function that accepts one parameter arg.
- The returned function should call the first function in the makePipeline with the parameter arg, and call the second function with the result of the first function.
- The returned function should continue calling each function in the makePipeline in order, following the same pattern, and return the value from the last function.
For example,
std::vector<std::function<int (int)>> functions;
functions.push_back([] (int x) -> int { return x * 3; });
functions.push_back([] (int x) -> int { return x + 1; });
functions.push_back([] (int x) -> int { return x / 2; });
std::function<int (int)> func = makePipeline(functions);
calling the func(3) should return 5.
Practice your skills.
Pick the number of tests you need.
Pass/fail grouping
Our tests are designed to put candidates into either the pass group or the fail group so you can find the best candidates faster.
Full customization
We have pre-built tests and questions, but you can customize them however you like. Change the pass/fail scores, time requirements, and more.
Cheating protection
Use tests that solve real-world problems, with no answers that can be easily found online. Because we test performance and skills (not information), we allow the use of online resources, just like in real life. Copy/paste prevention and online proctoring via webcam prevent cheating.
Candidate reporting
Get an overview into the percentage of passes and fails. Then dive deeper into the results of your top candidates to select who goes onto the next phase of hiring.
Learn more
Sign up for a trial plan.
Premium Questions for C++ Test
TestDome offers a premium questions library with 1000+ unique, hand-crafted questions whose answers can’t be found online. If you spot an answer somewhere online, we’ll give you a refund.
Question Names
These premium questions are included in this pre-built test and can be added to any multi-skill test. Please sign up for a paid plan to view the questions in detail.
Non Zero, Document Store, Babushka Doll, Out of Range, Tiles, Needle, Max Sum, Shipping, Read Write Execute, Limits, Runner, Segment, Archive, Chain Link, Date Transform, Veterinarian, Hobbies, Internal Nodes, Node, Paragraph, Platformer, Stack to Vector, Ship, Unique Product, Unique Numbers, Username, Weighted Average, Window Manager, Book Sale, Friend, Function Cache, Stories, Moving Total, Kilometer Converter, Increment, Paper Strip, Goose, Crop Ratio, BatteryCovered Skills
Testing of these skills is covered in this pre-built test because they’re closely related. On our paid plan, you can easily create your own custom multi-skill tests.
C++Recommended Job Roles
These are the job roles that we recommend for the C++ online test.
Take or Offer the C++ Online Test
For Jobseekers
Take a Practice TestFor Companies
Sign Up to Offer This TestHow TestDome works
1. Choose or create a test
2. Share your test via URL or email
3. Review overall results and pass/fail grouping
4. Dive deeper into individual results
Excellent support & free concierge service
We offer fast, hands-on support for any question or concern you might have. If you want help with building a custom test or inviting candidates, we’ll handle everything for you.
Contact Support for any questions or to request our free concierge service.
