The interviewing process took about 4 weeks. There were 2 technical phone interviews followed by an on site visit that consisted of 6 technical in person interviews. They focus almost exclusively on your ability to manipulate data structures, design good object oriented code and solve basic/intermediate puzzles.
Given an arbitrary list of points and a point x, interpolate it's y value based on the two closest points to it in the list.
Given a Singly Linked List write the code to reverse it in place.
Given two Singly Linked Lists how do you find where they intersect. What if you can design the nodes? What if you can't design the nodes?
Design an in memory file/directory system. You must be able to open, modify and delete files/directories.