Combine with https://bintanvictor.wordpress.com/wp-admin/post.php?post=24064&action=edit ? no need… Don’t spend too much time! I keep this list only as motivation and reward, but I don’t want a long list. I want heavy-hitters only, non-exhaustive.
Note “Take-up/Conquest” mean … I now feel as competent as my interviewers on that topic.
Note QQ means … hard topics unneeded in any project.
- RAII+swap(), the killer combination, in the sports sense of “kill”
- ADL
- [3] sfinae
- [3] crtp
- covariant return type and virtual ctor i.e. clone()
- static_assert? Non-trivial for those uninitialized with TMP
- [3] alternative to virtual functions
- singleton thread-safety
- [3] heap memory mgmt strategies
- [3d] make_shared benefits and limitations (Scott Meyers)
- [3] shared_ptr concurrency
- [d] Common mistakes involving shared_ptr
- weak_ptr vs raw ptr
- unique_ptr ownership transfer, reset^release
- factory returning smart pointers
- [d] emplace employing perfect forwarding
- [d] naturally occurring temp objects vs const ref and RVO
- [3] just when std::move() is needed .. see email to CSY
- std::move usage (outside big4)
- [d] rval objects vs rvr
- [3] placement new
- [3] MI using Abstract Base Classes
- [3] TCP congestion control
- TCP OOS control
- reinterpret_cast
- non-blocking socket functions
- — topics to be conquered
- [3] TCP resend
- TCP buffer sizing
- std::forward()
[3=top-33 favorite topics among ibank interviewers]
[d=reached some depth of understanding]