Two rounds phone screening. Simple questions like: Why I want to work for MS, what is class, what is object, example for polymorphism, encapsulation.
Onsite in Seattle, WA. Five rounds with Online Services Division.
First round: Again questions like: Why I want to work for MS, what products/services from OSD (online services division) I know/used. Interviewer told me much more about the company, services OSD provides etc...
Second round: Techical questions like: Lists vs Array, find loop in linked list, Binary Search Trees, etc...
Third round: Lunch + my ideas for improving services MS provides, light and easy part of interview process, very friendly
Fourth round: Much heavier techical interview: Dynamic programming, Data Stream algorithms.
Fifth round (some Manager was interviewer): Much about salary, when I can start, relocation specifics etc...