An important software engineering skill to have is to be able to fix and resolve bugs within a code base. The common AV NMP task tests your ability to read and debug C++ compile time errors as well as resolve some runtime errors too. Attached to this project is a broken code base. It's your task to fix each of the bugs in it.
We have provided useful resources at the bottom (particularly for some of you who might be unfamiliar with C++ and CMake)
Currently the CMakeLists.txt is practically empty. It is your task to add the necessary dependencies to file so that you are able to build an executable that compiles main.cpp. Below I have outlined some of the questions in the code base.
-
Question 2 , 4, 8, 9, 10, 11
Fix any syntax errors or invalid parameters
-
Question 3
Fix the input for function()
-
Question 6
Template static assert uses invalid function names
-
Question 7
This question has 2 parts. At the end of the 5 threads running the value should be 5000 but its is not. You need to fix the race condition.
-
Extension Tasks (Question 1).
Include google tests into the CMakeFile and get it compiling. You might need to install it if you don't have it already. The second part is to move the "testerFunction()" as a google test using the correct google tests ASSERTS
Let the AV team know if there are any problems. Best of luck.
https://www.learncpp.com/ (Use this as a resource for this unfamiliar with C++)
https://en.cppreference.com/w/cpp/language
Intro to git: https://opensource.com/article/18/1/step-step-guide-git
Introduction to CMake: https://cliutils.gitlab.io/modern-cmake/ (there is a section on Googletests as well)