Skip to content

Fundamentals Reading List

Venkatraman Srikanth edited this page Sep 2, 2018 · 1 revision

Reading List

OS Stuff

  • What are processes and threads
  • Inter-process communication - Shared memory
  • Processes and process management in *nix

Compiler Stuff

  • What are the different steps in compilation - Compiling, Linking, Loading
  • What is a linker, how does it work
  • Differences between static and dynamic linking
  • What is a makefile, what is CMake
  • What is LLVM, what is the Clang compiler

C++ Fundamentals

  • What is a pointer, what are lvalues and rvalues
  • What are templates, how template parameters differ from normal parameters
  • What are abstract and concrete classes, review basics of inhertance

Memory Management in C++

  • Modes of memory allocation - static and dynamic - stack vs heap allocation
  • What is RAII?
  • What are smart pointers?
  • Types of smart pointers - Unique, Shared, Weak
  • Move Semantics