##c++weakness revealed by QnA IV#+projects

See also

Relative to java/c#, c++ questions are more low-level (often using non-OO constructs). This is generally my strength.

I used to feel confident I can see patterns in tech interview questions and figure out what specific types of knowledge is required at a certain seniority. I was fairly successful with java/SQL/c#, but less so with c++. Based on the past questions i’m trying to make out the patterns.

=======weaknesses revealed by interviews. Probably need more GTD experience. Subset of these are both tough and high-leverage  — mostly QQ category.

  • couldn’t describe my vol fitter project as a c++ project
  • couldn’t describe my B2bTrading engine as c++ project
  • any threading code I wrote for coding  tests I couldn’t implement in boost::thread
  • STL useful tricks (like swing) — Shanghai, synechron, Jap, WQ
  • specific threading constructs/techniques — sapient, jump, SCB
  • boost common lib — jump, Jap NumericTech, synechron,
  • firm grasp of language features (like rvalue ref) — 3Arrow, bbg
  • how to handle heap (smart)pointer as a field
  • essential class-based techniques/constructs (eg ref counting) — Miami, espeed, nQuant,
  • c++11 features – DRW, 3arrow
  • initializing common data structures like arrays, vectors, classes — needed in a lot of coding challenges
  • implementation details of singleton, factory, pimpl, ref-counted string
  • [lg] mem management/optimization (like heap-only classes) — barc-mtg, nQuant
  • [lg] socket — nquant
  • (No one tested me on MI, advanced template, etc)
  • ====These are harder to self-study — too specialized and no pointers
  • [lg] template beyond merely using existing libraries
  • linux (instrumentation) tools like truss, LD_library_path — jump, Miami, nQuant
  • [lg] essential/deeper know-how (signals, OOM, stack size) not expected of a junior developer …– jump, Japanese, nQuant, 3Arrow, barc-mtg
  • [lg] extreme low-level optimization (CPU cache, custom-RTTI, byte alignment, placement new) ..– Miami, nquant, jump
  • =========much-needed zbs not quizzed by IV
  • headers …
  • static object – one-definition rule
  • pre-processor tricks
  • makefiles, continuous build
  • linker troubleshooting, nm commands etc
  • pthreads
  • debuggers,
  • memory leak detectors,
  • debugging — harder than java
  • random crashes


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s