Most companies prefer strong critical thinking and basic knowledge over extensive knowledge and medium critical thinking, because software development needs constant learning. So its important to be really cracked at modern C++ language features and the standard library.
I suggest the following critical path, a chronological sequence of resources that have helped me quickly come upto speed in a short span of time :
Books and videos
Fundamentals.
- Cherno’s C++ playlist by Yan Chernikov, Software engineer and youtube creator
- C++ Move Semantics by Nicolai M. Josuttis.
- Concurrency in Action by Anthony Williams.
Specialized books.
Generic programming.
- Template Metaprogramming with C++ by Mariuz Bancilla.
Memory Management.
- C++ Memory Management by Patrice Roy.
Multithreaded and asynchronous programming.
- Asynchronous Programming with C++ by Javier Reguera-Salgado and Juan Antonio Rufes.
Technical Interviews
- getcracked.io - One of the best collections of clever C++ interview puzzles maintained and updated by CodingJesus that truly test C++, OS and computer architecture concepts at deeper-level.
Blog-rolls worth reading
- cppstories - Excellent blog worth following for explorative learning with really cool toy examples by Bartlomiej Filipek (or Bartek) from Krakow, Poland
- andreasfertig.com
- sandordargo.com