At first I was enrolled into their internal employee referral system, thanks to help from my friends. 1 month later I was told that my resume didn't raise any interest and I thought I have been rejected. But days after that another recruiter contacted me. The entire process from phone interview arrangement, on-site interview to final feedback lasts another 1 month.
I had 1 phone interview with simple C++ question. And for the on-site interview I met 5 interviewers at Redmond site. It started with a brief conversation with the recruiter. After that the first interviewer took me to lunch and then just interview me after lunch. All the interviews are conducted in a meeting room. There's one 30min break in the afternoon, and for that break I had to exit the office area and just wait and relax at the reception lobby. The difficulty of the interview questions are slightly above average, but fair enough for this position.
Because C++ has not been my working language for 2 years, one of my friend who works at Microsoft suggested me to interview with my working language instead. But just in case I still practiced C++ for some days before on-site. And I was right, because all of the interviewers asked me to use C++ for white board coding.
I was also told that Microsoft usually replies fast after interview, and that's true for my case. Just 1 week after on-site the recruiter called me and told me that they will not continue the process. He also told me that my biggest flaw was the fluency of C++. Despite they're aware of the fact that C++ has not been my working language for 2 years, from hindsight it seems to me that Microsoft really emphasize on the proficiency of C/C++/C# despite other qualification, which I'll definitely take extra care before my next application to Microsoft.