Through a recruiter, set me up with an initial phone screening which consisted of me regurgitating mostly rote learning stuff. Nothing in there that you couldn't have read of MSDN or any reference book.
Two onsite interviews which lasted about 2hrs each. First with the development team members, had some fairly easy questions pulled of Google (mildly naive things). All interviewers were former grad students that had never worked anywhere else and honestly believed that they worked at the greatest place on earth. Their questions spoke volumes about the level of quality expected (which was none).
Second interview was a video conference with managers in New York. This was just stupid. Mostly the people I "met" were more interested in talking about themselves than interviewing me. Basically just sat quietly and let them interview themselves.
If I hadn't been as burnt out as I was at that point after my previous job I wouldn't have accepted their offer (nor gone in for that second interview).
They accepted what salaries I asked for.