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
Screen real C++ skills, flag human or AI assistance, and interview the right people.
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
A megastore offers three types of discounts, which are represented as DiscountType enum.
Implement the getDiscountedPrice method 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:
std::cout << MegaStore::getDiscountedPrice(12, 100, MegaStore::DiscountType::Weight);
should print:
82.0
A turn-based strategy game has a grid with water and land. The grid contains a true value where it's water and false where it's land.
The player controls a boat unit with a particular movement pattern. It can only move to fixed destinations from its current position as shown in the video below:
The boat can only move in a direct path through water to the possible destinations, so a destination will become unreachable if there is land in the way.
Implement the canTravelTo function, that checks whether a destination is reachable by the boat. It should return true for destinations that are reachable according to the pattern above, and false for unreachable or out of bounds destinations which are outside the grid.
For example, consider the following code:
vector<vector<bool>> gameMatrix = {
{false, true, true, false, false, false},
{true, true, true, false, false, false},
{true, true, true, true, true, true},
{false, true, true, false, true, true},
{false, true, true, true, false, true},
{false, false, false, false, false, false},
};
cout << canTravelTo(gameMatrix, 3, 2, 2, 2) << endl; // true, Valid move
cout << canTravelTo(gameMatrix, 3, 2, 3, 4) << endl; // false, Can't travel through land
cout << canTravelTo(gameMatrix, 3, 2, 6, 2) << endl; // false, Out of boundsThe following image shows valid and invalid destinations when the boat is in the position (3, 2):

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.
Ready to interview?
Use these and other questions from our library with our
Code Interview Platform.

71 more premium C++ questions
Non Zero, Max Sum, Unique Numbers, Increment, Crop Ratio, Internal Nodes, Segment, Tiles, Friend, Fire Dragon, Battery, Weighted Average, Paper Strip, Kilometer Converter, Function Cache, Veterinarian, Hobbies, Out of Range, String Occurrence, Worker, Stories, Username, Window Manager, Document Store, Read Write Execute, Limits, Ship, Book Sale, Unique Product, Stack to Vector, Language Teacher, Sort Params, Read First Line, Vectors, Archive, Paragraph, Procedural Generator, Node, Calories Burned, Babushka Doll, Date Transform, Platformer, Chemical Machine, Seasonal Tourism, Candies, Shipping, Patient Class, Automated Forklift, Flimsy Bridge, Parking Allocation, Planet Search, Ecological Experiment, Circuit Simulator, Airport Networks, Chain Link, Moving Total, Flight Connections, Adventure Game, Price Trends, Pet Names, Weather Station, Fraud Detection, Mail Room, Automated Warehouse, Newest User, Validate Age, Construction Game, Christmas Lights, Company Stock, Digital Flasks, Jobs Time.
Skills and topics tested
- C++
- Bug Fixing
- Language
- Algorithmic Thinking
- Unordered Map
- Arrays
- Pointers
- Integer Division
- Tree
- Arithmetic
- Vector
- Graphs
- Higher Order Function
- Interfaces
- OOP
- Exceptions
- Inheritance
- Method Overriding
- Hash and Equals
- Queue
- Iteration
- Map
- Stream
- Strings
- Memory Management
- Dynamic Programming
- Regex
- Linked List
- Conditions
- Sorting
- Complexity
- Stack
- Pass by Reference
- Destructors
- Random
- Recursion
- Data Structures
- Video
- Abstract Class
- Unordered Set
- 2D Array
- Classes
- AI Code Review
- Conditional Statements
- Loops
For job roles
- Back-End Developer
- C++ 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



