CuDeeB Revision

C++ All you need to know.

C++ has been either the or a top programming language for over a decade. With an unrivalled code base coverage and a decreasing number of high level programmers, wages are good and the work is interesting.
CuDeeB's C++ question set is substantial, built upon many years of experience from multiple question authors. Learn the entire question set before an interview, and you can be confident you'll know what you need to when you need to know it.

Subject Coverage

The C++ question set currently has 248 questions, split over the following 59 topics:

  • Casting : Syntax and use of casting: dynamic, static, const, reinterpret, c-style etc...
  • Coding Practice/Starter : Collection of C++ questions with built in compilation.
  • CV Qualifiers/Functions : Using const and volatile in function parameters. Defining and calling.
  • CV Qualifiers/General : Const and volatile in general C++ use
  • Functions/Function Pointers : The syntax of function pointers in traditional C++.
  • Functions/Overloading : The syntax and rules of C++ function overloading. Function signatures.
  • IPC/Sockets/General : Server sockets, client sockets, API functions.
  • Libraries/Environment : C++ std library environment related functionality.
  • Multithreading/C++11/async and future : Multithreading features async and future in C++11
  • Multithreading/C++11/Basic : Basic C++ multithreading using STL in C++11.
  • Multithreading/C++11/Basic2 : More basic C++ multithreading using STL in C++11.
  • Namespaces : Namespaces and some use cases in C++
  • OOP/Access Modifiers/Old Style : Deprecated form of variable redecleration in derived classes.
  • OOP/Advanced/Accessing Privates : How to access private member variables from outside of a class.
  • OOP/explicit : General use of the explicit keyword.
  • OOP/Friend : The friend keyword in C++. General use, inheritance, some odd use cases.
  • OOP/Inheritance : General questions on class inheritance in C++.
  • OOP/Initializer List : Initializer lists in class definitions.
  • OOP/Object Initialisation : Object initialization syntax. Initializing via copy, assignment etc...
  • OOP/Virtual Functions : Questions of the various aspects of virtual class members.
  • Operators/Logical : Logical operator topics in C++. Short circuiting, overloading and so on.
  • Operators/Overloading/Arithmetic : Overloading C++ arithmetic operators.
  • Operators/Overloading/Logical : Overloading of C++ logical operators.
  • Operators/Overloading/NewAndDelete : Overloading C++ new and delete operators.
  • Operators/Overloading/Streams : Implementing/overloading C++ stream operators.
  • Operators/Type Identification : C++ features for type identification.
  • Pointers and References/General : Pointers and references, including differences between them.
  • Preprocessor/Macros : General rules for using macros.
  • Preprocessor/Macros/Functions : Using the pre-processor by writing macro functions
  • Static : The static keyword in C++ and its various roles.
  • STL/Algorithms/Basics : Basic use of STL algorithmic features. Sorting, predicates etc...
  • STL/Algorithms/Binding : Using STL binding to modify existing operations in a simple way.
  • STL/Auto Pointers : C++98 automatic pointers. See C++11 topic for later versions.
  • STL/Containers/Basics : STL container basics.
  • STL/Containers/deque : The ins and outs of an STL deque. Performance, use, etc...
  • STL/Containers/list : Using an STL list effectively. Comparison with other STL containers.
  • STL/Containers/map and muiltimap : std::map and std::multimap syntax and general use.
  • STL/Containers/map and muilti_map : std::map and std::multimap syntax and general use.
  • STL/Containers/set : Example uses and of course the essentials of using an STL set.
  • STL/Containers/stack : Using the std::stack container adapter.
  • STL/Containers/vector : Questions on std::vector and comparisons with other STL container types.
  • Streams/cin and cout : Basic use and additional formatting options for stream input and output.
  • Streams/FileIO : Basic syntax of using C++ streams for file input and ouput.
  • Templates : Template functions, specialization, template type deduction and associated topics.
  • UNIX/Tools/gdb/General : How to debug C++ applications using gdb on UNIX-like operating systems.
  • v11/constexpr : Use of constexpr keyword in C++11.
  • v11/Constructors : New functionality introduced to constructors in C++11.
  • v11/Default and Delete : Using default and delete to control compiler generated class code.
  • v11/Lambdas : Syntax, capture types, capture defaults, and other lambda related questions.
  • v11/Move/Assignment Operator : How to use, and implement a move assignment operator.
  • v11/Move/Constructor : How to use, and implement a move constructor for your classes.
  • v11/Move/Value Categories : Understanding the concepts: lvalue, rvalue, prvalue, etc...
  • v11/override and final : Using the override and final keywords to make your intentions clear.
  • v11/Range Loops : The syntax of a range loop, and how to make your classes work with them.
  • v11/std::initializer_list : Convenient syntax for initialization of multiple class instances.
  • v11/STL/Containers/unordered maps : Understanding and using C++ hash maps.
  • v11/STL/Smart pointers/Basics 1 : Understanding C++11 STL smart pointer constructs.
  • v11/Trailing Return Type : Trailing return types: syntax and purpose.
  • v11/Type Inference : Syntax and use of auto and associated topics.

Level of Proficiency

Ranges in difficulty up to expert level. Good coverage of C++98 and C++11. C++14/C++17/C++20 all in review and will be released soon.

Try C++ intermediate for free ...

Try out the CuDeeB revision system immediately. If it works for you, register for free later.

C++ - Guest revision session

C++11 - Try it out for free.

Try out the CuDeeB revision system immediately. If it works for you, register for free later.

C++11 - Lambdas and more

The Author

The author of this question set has over 20 years C++ commercial programming experience, a year or two in 3D Graphics, then sold out to the world of finance.