# C++ Algorithms Online Test

##### TestDome skill assessments are used by more than 3,700 companies and 450,000 individual test takers.

Jobseekers: Get a Certificate

Take a Practice TestCompanies: Try First, Pay Later

Sign Up To Use This TestThe C++ Algorithms online test assesses candidates' algorithmic thinking skills and their ability to implement algorithms using C++.

It's an ideal test for pre-employment screening. A good developer will be able to design and implement algorithms that are both correct and efficient. Computational complexity is important not only when scaling applications but when creating responsive, maintainable, and efficient code.

This online test requires candidates to analyze or design an algorithm using C++ as the programming language.

##### Recommended Job Roles

##### Sample Candidate Report

##### Sample Free Questions

**Binary Search Tree**

*Public questions*(free account) are common interview questions. They are great for practicing, or if you want to filter candidates using the classic problems.

Binary search tree (BST) is a binary tree where the value of each node is larger or equal to the values in all the nodes in that node's left subtree and is smaller than the values in all the nodes in that node's right subtree.

Write a function that, **efficiently** with respect to time used, checks if a given binary search tree contains a given value.

For example, for the following tree:

- n1 (Value: 1, Left: null, Right: null)
- n2 (Value: 2, Left: n1, Right: n3)
- n3 (Value: 3, Left: null, Right: null)

Call to *contains(n2, 3)* should return *true* since a tree with root at n2 contains number 3.

**Two Sum**

*Public questions*(free account) are common interview questions. They are great for practicing, or if you want to filter candidates using the classic problems.

Write a function that, when passed a list and a target sum, returns, **efficiently** with respect to time used, two distinct** **zero-based indices of any two of the numbers, whose sum is equal to the target sum. If there are no two numbers, the function should return (-1, -1).

For example, *findTwoSum({ 3, 1, 5, 7, 5, 9 }, 10)* should return a *std::pair<int, int>* containing any of the following pairs of indices:

- 0 and 3 (or 3 and 0) as 3 + 7 = 10
- 1 and 5 (or 5 and 1) as 1 + 9 = 10
- 2 and 4 (or 4 and 2) as 5 + 5 = 10

**Sorted Search**

*Public questions*(free account) are common interview questions. They are great for practicing, or if you want to filter candidates using the classic problems.

Implement function *countNumbers* that accepts a sorted vector of unique integers and, **efficiently** with respect to time used, counts the number of vector elements that are less than the parameter *lessThan*.

For example, for vector *v* containing *{ 1, 3, 5, 7 }*, *countNumbers(v, 4)* should return 2 because there are two vector elements less than 4.

##### Premium Questions

The premium question library contains our unique, hand-crafted questions. We offer a refund if you find any of them answered online.

##### Questions

Function Result, Increment, Non Zero, Document Store, Crop Ratio, Increment, Babushka Doll, Chicken, Paragraph, Chain Link, Node, Stack to Vector, Battery, Hobbies, Out of Range, Weighted Average, Tiles, Needle, Date Transform, Username, Limits, Read Write Execute, Internal Nodes, Entry, Window Manager, Moving Total, Rare, Max Sum, Unique Name, Paper Strip, Friend, Unique Numbers, Stories, Train, Runner, Archive, Platformer, Shipping, Segment##### Skills

C++**The testing process:** Using std::vector to solve problems requiring dynamically sized arrays.

**Motivation:**Vectors are C++'s implementation of a dynamic array. A vector provides the random access lookup speed of a fixed size array, with the additional benefit of being easily resized at run time. Every C++ developer should be familiar with the std::vector and it's features.

##### Score Distribution

##### Fully Customizable Tests

##### 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**

##### Very smooth, well supported, great for assessing candidates

Very Prompt and helpful support when needed, we were looking to work with a third party to write and set up new tests, testdome was able to quickly set up and support a method to do this, allowing us to start testing candidates straight away.

**George Offer, Guided Solutions**

##### Easy to use and efficient for testing developers of different levels

It provides us an opportunity to set our own timing policy, to choose from variety of questions from different areas and with difficulty gradation. Also it is great that TestDome provides free of charge tests for candidates to prepare and check how online IDE works. And support is always ready to help:)

**Alexandra Bulka, WorkFusion**

##### On the TestDome Blog

#### Screening Applicants: The Good, the Bad and the Ugly

Since we’re all biased and we use incorrect proxies, why not just outsource hiring to experts or recruitment agencies? After all, they’ve been screening people for many years, so they must know how to do it right?

Not really. I was surprised to discover that many experts disagree with each other. Everybody praises their pet method and criticises the others. Many of these methods look legitimate, but are based on...

##### How TestDome Works

##### The TestDome Advantage

##### Flexible Pricing

No monthly subscription or setup fee. No minimum contract period. You only pay for the candidates you test.

View Pricing##### Not exactly what you're looking for?

Related C++ Programming Tests: