I got the opportunity through a staffing firm. The interview consists of 3 sections, each section takes approximately 1 hour:
1. Met with two senior engineers. Technical questions related to C++, data structures and algorithms
2. Met with hiring manager and another senior engineer. Technical questions and introduction to the job
3. Met with senior manager. Questions about my past experience and technical questions
In all the sections I was asked to write code on paper to solve small algorithm problems. It's very important to be able to write high quality code.
I received the offer 2 days after the interview.