Templates, ownership, move semantics, testing, CMake, and a task-scheduler project.
Write function and class templates, constrain them with concepts, and understand deduction, instantiation, and readable compiler errors.
Understand lvalues, rvalues, move construction, and ownership, then replace manual new/delete with unique_ptr and shared_ptr.
Structure CMake targets and presets, add GoogleTest or Catch2, run sanitizers and static analysis, and manage dependencies explicitly.
Build a priority task scheduler with STL containers, custom comparators, time handling, serialization, and tests around ordering and failure cases.