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
Sample Candidate Report

Sample Free Questions

Binary Search Tree


C++ Algorithmic thinking Data structures Public

A three-node binary tree.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


C++ Algorithmic thinking Searching Public

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


C++ Algorithmic thinking Public

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.

Use Free Questions On a Trial Plan

Premium Questions

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

Increment, Non Zero, Document Store, Crop Ratio, Increment, Babushka Doll, Chicken, Chain Link, Node, Battery, Hobbies, Out of Range, Tiles, Needle, Username, Internal Nodes, Entry, Window Manager, Moving Total, Max Sum, Unique Name, Paper Strip, Friend, Unique Numbers, Train, Archive, Platformer, Shipping, Weighted Average, Paragraph, Function Cache, Stack to Vector, Read Write Execute, Limits, Stories, Rare, Runner, Date Transform, Segment
C++ Language Bug fixing Memory management OOP Data structures Pointers Iteration Vector Exceptions Stream Strings Algorithmic thinking Searching Graphs Arithmetic Conditional statements Dynamic programming
Score Distribution
Pricing For Premium Questions