I used to feel I have so much learning(absorption) capacity, but now I feel in my finite career I can’t really master and remember all the tough c++ topics.
Practical solution — Classify each difficult c++topic into one of
- QQ: high impact on QnA interview, probably the only type of high-leverage tough topic. Largely textbook knowledge. As such I’m basically confident I can learn all the basics on my own (perhaps slower than Venkat), provided I know the topics.
- including “coding questions” designed really for knowledge test, rather than algorithm thinking
- eg: HFT, Venkat…
- high impact on algo coding IV? No such topic. These coding IV are not about knowledge in tough topics!
- ZZ: high impact on GTD zbs — inevitably Low leverage during job hunt
- 00: no high impact on anything
Q: Is there a tough topic in both QQ and ZZ? I don’t know any.
I think 00 will be the biggest category:
-  template wizardry;
-  template specialization
-  MI;
-  operator overloading;
-  pthread
- [QQ] move semantics
- [QQ] boost common lib
- [QQ] optimization tricks. Remember MIAX and SCB IV by Dmitry
- [QQ] singleton implementation — not really tough
- [QQ] pimpl — not really tough
- [QQ] op-new/malloc (interacting with ctor)
- [QQ] memory layout
- [QQ] specific threading constructs
- [QQ] smart ptr details
- [QQ] ptr as a field
- [QQ] implement auto_ptr or ref-counting string
- [QQ] UDP — not really tough
- [QQ] select()
- [QQ] multicast
- [ZZ] IDE set-up
- [ZZ] compiler/linker/makefile details
- [ZZ] debuggers
- [ZZ] crash analysis, like segmentation fault