I had 2 phone screens followed by a on-site interview in Seattle. The phone screens were pretty standard - binary trees problem, 1 object oriented design problem, coding problem. The onsite interview was slightly tougher than phone screen but not very much. I had 2 split interviews where 1 interview would ask questions while the other make notes. This was my bar raiser interview. Though the question was tough, they were looking at how I approached the question, clarifications asked and use of standard algorithms to fit to the problem. Most of their questions were tough but nothing crazy- simple problems but require proper coding, tricky algo problems (pseudo code), few design problems.
It is tiring by the end of the day. My mind was almost shut off during the last interview, but the interviewer was kind enough to acknowledge it and give additional time. Most the interviewers were extremely cordial and explained their questions clearly. They were ready to accept different approaches to answers. I really enjoyed the whole process.