Valgrind

  1. Типичные ошибки при использовании памяти: утечки, выход за границу массива, использование неинициализированных значений. Их возможные последствия.
  2. Ошибки в многопоточных приложениях: "состояние гонки" (data races), "тупики" (deadlocks). Их возможные последствия.
  3. Инструменты для поиска ошибок при использовании памяти и многопоточных ошибок.

Git

  1. Введение в системы управления версиями (VCS)
  2. Отличия централизованных VCS от распределённых.
  3. Концепции распределённых VCS.
  4. Характерные черты Git как DVCS.
  5. Способы синхронизации репозиториев.
  6. Модели взаимодействия разработчиков.