HR Interview (~15? mins), Technical Interview (45 mins), Onsite Interview (2hrs technical + discussions with 2 HR staff).
In terms of overall structure of interview (not the questions themselves), the interview process was very standard. You should expect some typical behavioral interview questions.
The technical interviews had an unusual emphasis on knowledge of syntax instead of knowledge of programming concepts. I'm not saying it's unacceptable to do that, but be prepared for these interviews as they were not like any of my other software engineer interviews.
There were some math questions, and my choice of two from C/C++, Java, Web Dev of which I chose the former two.
Questions touched on
-Pigeonhole Principle
-NFAs/DFAs
-Basic Set Theory
-Probability/Counting
-Virtual Functions
-Structs, Classes
-Pointers, References
-Stacks
-Arrays
-Basic OOP concepts (inheritance, encapsulation, recursion, polymorphism)
-Storage Classes
-Inline Functions
-How NULL differs in different languages
-JRE and JDK
-Garbage Collection/Memory Management
-Definitions/Import (Typedef, Meaning of #, <>, "")
-Scope
-Searching/Sorting algorithms
-Call by Value vs by Reference
-Break vs Continue
-Exception Handling
A lot of questions where you are presented with egregiously erroneous or incorrect code and expected to be able to tell what they do and how certain fixes would change that.
They gave a few examples of code where a lot of variables were given the same name in different scopes/different classes that form some hierarchy and then asked what a test driver accessing variables by those names would do.
I later found by testing by hand that I did not completely answer these correctly, but I don't know why they would penalize me for not being able to answer questions about something I could figure out in a few minutes if I were on a computer at the time.
It is at least my opinion that there was too much emphasis on questions where I was not asked to write any code or design an algorithm. Obviously a programmer should also have knowledge of the basics, but is the goal to find someone who can regurgitate definitions from a textbook or someone who writes code?