Search test library by skills or roles
⌘ K

About the test:

The CPP Python Online Test uses scenario-based MCQs to evaluate candidates on their understanding of C++ and Python programming languages and their ability to use them for software development. The test assesses candidates on their knowledge of C++ and Python syntax, language features, and standard libraries, as well as their ability to write and debug code in both languages. It also evaluates their familiarity with object-oriented programming (OOP) concepts and principles, data structures and algorithms, and memory management in C++.

Covered skills:

  • C++ Fundamentals
  • Data Types
  • Functions
  • File Handling
  • Data Structures
  • Database Integration
  • Python Fundamentals
  • Control Statements
  • Object-Oriented Programming
  • Exception Handling
  • Algorithms

9 reasons why
9 reasons why

Adaface C++ & Python Assessment Test is the most accurate way to shortlist C++ Developers



Reason #1

Tests for on-the-job skills

The C++ & Python Test helps recruiters and hiring managers identify qualified candidates from a pool of resumes, and helps in taking objective hiring decisions. It reduces the administrative overhead of interviewing too many candidates and saves time by filtering out unqualified candidates at the first step of the hiring process.

The test screens for the following skills that hiring managers look for in candidates:

  • Proficient in C++ fundamentals
  • Familiar with Python fundamentals
  • Solid understanding of data types
  • Ability to effectively use control statements
  • Experience with writing and using functions
  • Knowledge of object-oriented programming principles
  • Proficient in file handling operations
  • Ability to handle exceptions and errors
  • Understanding of data structures
  • Familiarity with algorithms
  • Experience with database integration
Reason #2

No trick questions

no trick questions

Traditional assessment tools use trick questions and puzzles for the screening, which creates a lot of frustration among candidates about having to go through irrelevant screening assessments.

View sample questions

The main reason we started Adaface is that traditional pre-employment assessment platforms are not a fair way for companies to evaluate candidates. At Adaface, our mission is to help companies find great candidates by assessing on-the-job skills required for a role.

Why we started Adaface
Reason #3

Non-googleable questions

We have a very high focus on the quality of questions that test for on-the-job skills. Every question is non-googleable and we have a very high bar for the level of subject matter experts we onboard to create these questions. We have crawlers to check if any of the questions are leaked online. If/ when a question gets leaked, we get an alert. We change the question for you & let you know.

How we design questions

These are just a small sample from our library of 10,000+ questions. The actual questions on this C++ & Python Test will be non-googleable.

🧐 Question

Medium

ZeroDivisionError and IndexError
Exceptions
Solve
What will the following Python code output?
 image

Medium

Session
File Handling
Dictionary
Solve
 image
The function high_sess should compute the highest number of events per session of each user in the database by reading a comma-separated value input file of session data. The result should be returned from the function as a dictionary. The first column of each line in the input file is expected to contain the user’s name represented as a string. The second column is expected to contain an integer representing the events in a session. Here is an example input file:
Tony,10
Stark,12
Black,25
Your program should ignore a non-conforming line like this one.
Stark,3
Widow,6
Widow,14
The resulting return value for this file should be the following dictionary: { 'Stark':12, 'Black':25, 'Tony':10, 'Widow':14 }
What should replace the CODE TO FILL line to complete the function?
 image

Medium

Max Code
Arrays
Solve
Below are code lines to create a Python function. Ignoring indentation, what lines should be used and in what order for the following function to be complete:
 image

Medium

Recursive Function
Recursion
Dictionary
Lists
Solve
Consider the following Python code:
 image
In the above code, recursive_search is a function that takes a dictionary (data) and a target key (target) as arguments. It searches for the target key within the dictionary, which could potentially have nested dictionaries and lists as values, and returns the value associated with the target key. If the target key is not found, it returns None.

nested_dict is a dictionary that contains multiple levels of nested dictionaries and lists. The recursive_search function is then called with nested_dict as the data and 'target_key' as the target.

What will the output be after executing the above code?

Medium

Stacking problem
Stack
Linkedlist
Solve
What does the below function ‘fun’ does?
 image
A: Sum of digits of the number passed to fun.
B: Number of digits of the number passed to fun.
C: 0 if the number passed to fun is divisible by 10. 1 otherwise.
D: Sum of all digits number passed to fun except for the last digit.

Medium

Overloading
OOPs
Solve
What will the following C++ code output?
 image

Medium

Exceptions
Exceptions
Solve
What will the following C++ code output?
 image

Easy

Namespaces
Solve
What will the following C++ code output?
 image

Medium

Struct Class
Solve
What will the following C++ code output?
 image

Easy

Registration Queue
Logic
Queues
Solve
We want to register students for the next semester. All students have a receipt which shows the amount pending for the previous semester. A positive amount (or zero) represents that the student has paid extra fees, and a negative amount represents that they have pending fees to be paid. The students are in a queue for the registration. We want to arrange the students in a way such that the students who have a positive amount on the receipt get registered first as compared to the students who have a negative amount. We are given a queue in the form of an array containing the pending amount.
For example, if the initial queue is [20, 70, -40, 30, -10], then the final queue will be [20, 70, 30, -40, -10]. Note that the sequence of students should not be changed while arranging them unless required to meet the condition.
⚠️⚠️⚠️ Note:
- The first line of the input is the length of the array. The second line contains all the elements of the array.
- The input is already parsed into an array of "strings" and passed to a function. You will need to convert string to integer/number type inside the function.
- You need to "print" the final result (not return it) to pass the test cases.

For the example discussed above, the input will be:
5
20 70 -40 30 -10

Your code needs to print the following to the standard output:
20 70 30 -40 -10

Medium

Visitors Count
Strings
Logic
Solve
A manager hires a staff member to keep a record of the number of men, women, and children visiting the museum daily. The staff will note W if any women visit, M for men, and C for children. You need to write code that takes the string that represents the visits and prints the count of men, woman and children. The sequencing should be in decreasing order. 
Example:

Input:
WWMMWWCCC

Expected Output: 
4W3C2M

Explanation: 
‘W’ has the highest count, then ‘C’, then ‘M’. 
⚠️⚠️⚠️ Note:
- The input is already parsed and passed to a function.
- You need to "print" the final result (not return it) to pass the test cases.
- If the input is- “MMW”, then the expected output is "2M1W" since there is no ‘C’.
- If any of them have the same count, the output should follow this order - M, W, C.
🧐 Question🔧 Skill

Medium

ZeroDivisionError and IndexError
Exceptions

2 mins

Python
Solve

Medium

Session
File Handling
Dictionary

2 mins

Python
Solve

Medium

Max Code
Arrays

2 mins

Python
Solve

Medium

Recursive Function
Recursion
Dictionary
Lists

3 mins

Python
Solve

Medium

Stacking problem
Stack
Linkedlist

4 mins

Python
Solve

Medium

Overloading
OOPs

2 mins

C++
Solve

Medium

Exceptions
Exceptions

2 mins

C++
Solve

Easy

Namespaces

2 mins

C++
Solve

Medium

Struct Class

2 mins

C++
Solve

Easy

Registration Queue
Logic
Queues

30 mins

Coding
Solve

Medium

Visitors Count
Strings
Logic

30 mins

Coding
Solve
🧐 Question🔧 Skill💪 Difficulty⌛ Time
ZeroDivisionError and IndexError
Exceptions
Python
Medium2 mins
Solve
Session
File Handling
Dictionary
Python
Medium2 mins
Solve
Max Code
Arrays
Python
Medium2 mins
Solve
Recursive Function
Recursion
Dictionary
Lists
Python
Medium3 mins
Solve
Stacking problem
Stack
Linkedlist
Python
Medium4 mins
Solve
Overloading
OOPs
C++
Medium2 mins
Solve
Exceptions
Exceptions
C++
Medium2 mins
Solve
Namespaces
C++
Easy2 mins
Solve
Struct Class
C++
Medium2 mins
Solve
Registration Queue
Logic
Queues
Coding
Easy30 minsSolve
Visitors Count
Strings
Logic
Coding
Medium30 minsSolve
Reason #4

1200+ customers in 75 countries

customers in 75 countries
Brandon

With Adaface, we were able to optimise our initial screening process by upwards of 75%, freeing up precious time for both hiring managers and our talent acquisition team alike!


Brandon Lee, Head of People, Love, Bonito

Reason #5

Designed for elimination, not selection

The most important thing while implementing the pre-employment C++ & Python Test in your hiring process is that it is an elimination tool, not a selection tool. In other words: you want to use the test to eliminate the candidates who do poorly on the test, not to select the candidates who come out at the top. While they are super valuable, pre-employment tests do not paint the entire picture of a candidate’s abilities, knowledge, and motivations. Multiple easy questions are more predictive of a candidate's ability than fewer hard questions. Harder questions are often "trick" based questions, which do not provide any meaningful signal about the candidate's skillset.

Science behind Adaface tests
Reason #6

1 click candidate invites

Email invites: You can send candidates an email invite to the C++ & Python Test from your dashboard by entering their email address.

Public link: You can create a public link for each test that you can share with candidates.

API or integrations: You can invite candidates directly from your ATS by using our pre-built integrations with popular ATS systems or building a custom integration with your in-house ATS.

invite candidates
Reason #7

Detailed scorecards & benchmarks

View sample scorecard
Reason #8

High completion rate

Adaface tests are conversational, low-stress, and take just 25-40 mins to complete.

This is why Adaface has the highest test-completion rate (86%), which is more than 2x better than traditional assessments.

test completion rate
Reason #9

Advanced Proctoring


Learn more

About the C++ & Python Online Test

Why you should use Pre-employment C++ & Python Test?

The C++ & Python Test makes use of scenario-based questions to test for on-the-job skills as opposed to theoretical knowledge, ensuring that candidates who do well on this screening test have the relavant skills. The questions are designed to covered following on-the-job aspects:

  • Understanding and applying C++ fundamentals
  • Implementing Python fundamentals for code development
  • Manipulating data types in C++ and Python
  • Utilizing control statements efficiently
  • Creating and using functions in C++ and Python
  • Implementing Object-Oriented Programming concepts
  • Working with file handling in C++ and Python
  • Handling exceptions and errors effectively
  • Using various data structures in C++ and Python
  • Analyzing and implementing algorithms

Once the test is sent to a candidate, the candidate receives a link in email to take the test. For each candidate, you will receive a detailed report with skills breakdown and benchmarks to shortlist the top candidates from your pool.

What topics are covered in the C++ & Python Test?

  • C++ Fundamentals

    C++ Fundamentals refers to the knowledge and understanding of the basic concepts and features of the C++ programming language. This includes topics such as variables, operators, control flow, loops, and functions. It is important to measure this skill in the test to assess the candidate's familiarity with the foundational principles of C++, as it forms the basis for more advanced programming concepts.

  • Python Fundamentals

    Python Fundamentals involves having a good grasp of the fundamental concepts and syntax of the Python programming language. This includes concepts such as variables, data types, control statements, and functions specific to Python. It is crucial to measure this skill in the test as Python is widely used in various domains, and a strong understanding of its fundamentals is essential for effective coding in Python.

  • Data Types

    Data Types in programming refer to the different categories of data that can be used in a program, such as integers, floats, strings, and booleans. Understanding data types is important as it helps programmers effectively manage and manipulate data throughout the program. This skill is measured in the test to evaluate the candidate's knowledge in handling different data types and their associated operations.

  • Control Statements

    Control Statements are used to control the flow of execution in a program based on certain conditions. This includes statements such as if, else, and switch statements. Measuring this skill in the test allows recruiters to assess the candidate's ability to write logic and make decisions within a program based on specific conditions.

  • Functions

    Functions in programming are blocks of code that perform a specific task. They allow code reuse, modularity, and improve overall program organization. Testing this skill helps determine the candidate's proficiency in creating and using functions, as well as understanding concepts such as parameters, return values, and scope.

  • Object-Oriented Programming

    Object-Oriented Programming (OOP) is a programming paradigm that revolves around the creation and manipulation of objects. It involves concepts such as classes, objects, inheritance, and polymorphism. Assessing this skill in the test helps recruiters evaluate the candidate's knowledge and proficiency in leveraging OOP principles to design and implement efficient and scalable software solutions.

  • File Handling

    File Handling refers to the ability to read from and write to files using programming languages. It involves concepts such as opening, closing, reading, and writing to files. Measuring this skill in the test is important as file handling is a common task in many programming scenarios, and the ability to work with files accurately and efficiently is essential for developing robust applications.

  • Exception Handling

    Exception Handling is a mechanism in programming that allows for graceful handling of errors and exceptional situations. It involves using try-catch blocks to catch and handle exceptions. Evaluating this skill in the test helps recruiters assess the candidate's ability to anticipate and manage errors, ensuring that their programs can handle unexpected situations without crashing or producing incorrect outputs.

  • Data Structures

    Data Structures refer to the ways in which data is organized, stored, and manipulated in a program. This includes structures such as arrays, lists, stacks, queues, and trees. Testing this skill allows recruiters to gauge the candidate's familiarity with different data structures and their associated algorithms, which are vital for efficient data management and manipulation in a wide range of programming scenarios.

  • Algorithms

    Algorithms are step-by-step procedures or methods used to solve specific problems. They involve efficient and logically structured solutions to perform various operations. This skill is measured in the test to assess the candidate's knowledge and understanding of algorithm design and analysis, which are essential for optimizing program performance and solving complex computational problems.

  • Database Integration

    Database Integration refers to the ability to interact with databases through programming languages. This includes tasks such as connecting to databases, executing queries, and retrieving or modifying data. Evaluating this skill in the test helps recruiters gauge the candidate's proficiency in integrating applications with databases, which is crucial for developing software solutions that require persistent data storage and retrieval.

  • Full list of covered topics

    The actual topics of the questions in the final test will depend on your job description and requirements. However, here's a list of topics you can expect the questions for C++ & Python Test to be based on.

    C++ syntax
    Input and output stream
    Variables and data types
    Conditionals
    Loops
    Functions and parameters
    Classes and objects
    Inheritance and polymorphism
    File input/output
    Exception handling
    Arrays
    Linked lists
    Stacks and queues
    Searching algorithms
    Sorting algorithms
    Recursion
    Pointers
    Memory management
    Command line arguments
    Templates
    STL containers
    STL algorithms
    Regular expressions
    Lambda functions
    Multi-threading
    Database queries
    SQL integration
    Database connectivity
    Database transactions
    Python syntax
    Data types and variables
    Strings and string manipulation
    Lists and tuples
    Dictionaries and sets
    Conditionals and loops
    Functions and modules
    File handling
    Exception handling
    Object-oriented programming
    Inheritance and polymorphism
    File input/output
    Working with JSON
    Regular expressions
    Virtual environments
    Decorators
    Generators
    Recursion
    Algorithms
    Data structures
    Database integration
    SQL queries
    Database connectivity
    Database transactions

What roles can I use the C++ & Python Test for?

  • C++ Developer
  • Python Developer

How is the C++ & Python Test customized for senior candidates?

For intermediate/ experienced candidates, we customize the assessment questions to include advanced topics and increase the difficulty level of the questions. This might include adding questions on topics like

  • Integrating databases with code development
  • Applying advanced concepts of C++
  • Implementing advanced concepts of Python
  • Designing and implementing complex data types
  • Optimizing code performance in C++ and Python
  • Working with multithreading and concurrency
  • Implementing secure coding practices
  • Debugging and troubleshooting complex issues
  • Performing code reviews and optimizations
  • Leading and coordinating development projects

The coding question for experienced candidates will be of a higher difficulty level to evaluate more hands-on experience.

Singapore government logo

The hiring managers felt that through the technical questions that they asked during the panel interviews, they were able to tell which candidates had better scores, and differentiated with those who did not score as well. They are highly satisfied with the quality of candidates shortlisted with the Adaface screening.


85%
reduction in screening time

C++ & Python Hiring Test FAQs

Can I combine multiple skills into one custom assessment?

Yes, absolutely. Custom assessments are set up based on your job description, and will include questions on all must-have skills you specify. Here's a quick guide on how you can request a custom test.

Do you have any anti-cheating or proctoring features in place?

We have the following anti-cheating features in place:

  • Non-googleable questions
  • IP proctoring
  • Screen proctoring
  • Web proctoring
  • Webcam proctoring
  • Plagiarism detection
  • Secure browser
  • Copy paste protection

Read more about the proctoring features.

How do I interpret test scores?

The primary thing to keep in mind is that an assessment is an elimination tool, not a selection tool. A skills assessment is optimized to help you eliminate candidates who are not technically qualified for the role, it is not optimized to help you find the best candidate for the role. So the ideal way to use an assessment is to decide a threshold score (typically 55%, we help you benchmark) and invite all candidates who score above the threshold for the next rounds of interview.

What experience level can I use this test for?

Each Adaface assessment is customized to your job description/ ideal candidate persona (our subject matter experts will pick the right questions for your assessment from our library of 10000+ questions). This assessment can be customized for any experience level.

Does every candidate get the same questions?

Yes, it makes it much easier for you to compare candidates. Options for MCQ questions and the order of questions are randomized. We have anti-cheating/ proctoring features in place. In our enterprise plan, we also have the option to create multiple versions of the same assessment with questions of similar difficulty levels.

I'm a candidate. Can I try a practice test?

No. Unfortunately, we do not support practice tests at the moment. However, you can use our sample questions for practice.

What is the cost of using this test?

You can check out our pricing plans.

Can I get a free trial?

Yes, you can sign up for free and preview this test.

I just moved to a paid plan. How can I request a custom assessment?

Here is a quick guide on how to request a custom assessment on Adaface.

customers across world
Join 1200+ companies in 75+ countries.
Try the most candidate friendly skills assessment tool today.
g2 badges
Ready to use the Adaface C++ & Python Test?
Ready to use the Adaface C++ & Python Test?
logo
40 min tests.
No trick questions.
Accurate shortlisting.
Terms Privacy Trust Guide

🌎 Pick your language

English Norsk Dansk Deutsche Nederlands Svenska Français Español Chinese (简体中文) Italiano Japanese (日本語) Polskie Português Russian (русский)
ada
Ada
● Online
Previous
Score: NA
Next
✖️