The interview consisted of a Take-Home Assignment, an hour-long Phone Interview, and a 3hr On-Site Interview.
The takehome was interesting; really tested your understanding of OOP principles and your ability to write accurate and efficient algorithms. They provided a data sample similar to what they work with every day. They gave 3 days to complete the takehome.
The phone screen was with HR and was more about learning your interest in the position and the company. You certainly want to show how much you've researched the company.
The onsite was loooong lol. There was a panel with about 5 engineers - discussed mostly your background, experience, interest in the position, etc. There was a pairing exercise (on a laptop) in the language of your choice and also a whiteboarding session in your chosen language. They were concerned less about the "correctness" of the code, and more about your ability to communicate what you were coding and why you chose certain methods over others. They asked about alternative ways to do what you were coding.