I interviewed with HPR onsite. It is your standard combination of both coding and conceptual technical problems.
HPR appears to be a great company with solid business fundamentals and growth opportunities that solves difficult and exciting problems in capital markets infrastructure and risk management. Both their engineers and managers are technically competent and fun to talk to.
They are looking for a few main areas of competency:
* C programming ability
* algorithms and data structures (in C only)
* high performance software (think low latency, cache aware code that handles massive amounts of data)
* computer networking fundamentals
* computer architecture fundamentals
The above is unsurprising given the domain they work in. If you are aiming for a lead position, you need in-depth and *demonstrated* ability in each of those key areas of competency. If you haven't worked in those areas professionally or haven't in a while, a shift in goals or extra preparation is necessary.
What was surprising however, was the extreme focus on the C language. If your current day job is writing C++, avoid saying something like "here's how I would approach this in C++, in C it is done like this" during the coding questions. Doing so is perceived negatively. Also, avoid talking extensively about non-C software design if you've got relevant experience in C. To be honest, I'm surprised that they don't screen for C programming ability with a design-oriented take-home coding challenge for candidates that aren't currently writing pure C as their day job. Note that this is coming from someone with plenty of pure C experience in the past.