C++ 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 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
A playlist is considered a repeating playlist if any of the songs contain a pointer to a previous song in the playlist. Otherwise, the playlist will end with the last song which points to NULL.
Implement a function isInRepeatingPlaylist that, efficiently with respect to time used, returns true if a playlist is repeating or false if it is not.
For example, the following code prints "true" as both songs point to each other.
Song* first = new Song("Hello");
Song* second = new Song("Eye of the tiger");
first->next(second);
second->next(first);
std::cout << std::boolalpha << first->isInRepeatingPlaylist();
As part of a data processing pipeline, complete the implementation of the makePipeline method:
- The makePipeline 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 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 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);
and then calling func(3) should return 5.
For jobseekers: get certified
Earn a free certificate by achieving top 25% on the C++ 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.
47 more premium C++ questions
Non Zero, Babushka Doll, Max Sum, Shipping, Unique Numbers, Moving Total, Increment, Crop Ratio, Stack to Vector, Internal Nodes, Segment, Chain Link, Tiles, Language Teacher, Friend, Book Sale, Fire Dragon, Battery, Weighted Average, Paper Strip, Node, Kilometer Converter, Unique Product, Archive, Function Cache, Veterinarian, Platformer, Hobbies, Date Transform, Out of Range, String Occurrence, Worker, Stories, Username, Window Manager, Document Store, Paragraph, Read Write Execute, Vectors, Animal Hierarchy, Sort Params, Flight Connections, Read First Line, Patient Class, Procedural Generator, Limits, Ship.
Skills and topics tested
- C++
- Bug Fixing
- Language
- Memory Management
- Algorithmic Thinking
- Arithmetic
- Unordered Map
- Unordered Set
- Arrays
- Pointers
- Integer Division
- Complexity
- Stack
- Vector
- Tree
- Linked List
- Inheritance
- OOP
- Graphs
- Sorting
- Higher Order Function
- Interfaces
- Exceptions
- Recursion
- Method Overriding
- Destructors
- Hash and Equals
- Queue
- Data Structures
- Iteration
- Map
- Regex
- Strings
- Stream
- Dynamic Programming
- Abstract Class
- Pass by Reference
- Random
- Conditions
For job roles
- Back-End Developer
- C++ 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