Skip to content

AlexCS1337/CodingExerciseDec2024

Repository files navigation

CodingExerciseDec2024

Coding Exercise December 2024

Depencies: cmake (for logs and tests), vcpkg (for installing c++ pakages), vcpkg will install spdlog and gtest

Compile Threading examples with:

g++ -std=c++11 -pthread filename.cpp -o outputfilename

Be sure to change CMAKE_TOOLCHAIN_FILE in CMakePrsets.json and VCPKG_ROOT in CMakeUserPResets.json to where your directories may be located.

  • The Main Goals/Concepts Demonstrated in this Repository:

    • OOD: specifically the key concepts of Inheritance, Abstraction, Polymorphism, Encapsulation. Demonstrated with simple examples.

    • Templates: What are they and why are they important. Demonstrated using simple examples.

    • Collections: Use of common collection classes like vector, list, map, set etc. The differences between each, advantages, disadvantages, when to use each etc. With code examples.

    • Threading: Why do we need this? Demonstrated via a simple 2-thread example app. Issues with threading, demonstrating shared resource locking and access etc.

    • Exception Handling and error logging: What is it and how to implement? Demonstrated by example, preferably with nested exception handling etc. Another example with a logging framework.

    • Testing: The various types of tests and when to apply each, advantages and disadvantages of each etc. Demonstrating by adding tests to some of the previous examples.

About

Coding Exercise December 2024

Resources

Stars

Watchers

Forks