# C++ Algorithms Online Test

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

Jobseekers: Get a Certificate

Companies: Try First, Pay Later

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

## Merge Names

10min
-
Easy
-
CODE

C++ Arrays Public

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.

## Binary Search Tree

15min
-
Easy
-
CODE

C++ Algorithmic thinking Recursion Tree Public 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.

## User Input

15min
-
Easy
-
CODE

C++ Inheritance OOP Public

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();