Got the email from HR said I was referred by an employee and arranged a phone interview with me. Just a few simple questions, why do you want to come to microsoft etc.? Then she arranged another phone interview with one of their engineers, he asked several questions related to my resume and the projects I've worked on. Finally we set up a shared board and he asked several simple algorithms problems and ask me to write the code directly on the shared board (he can see what I type instantly).
After the phone interview, I got the on-site interview invitation in 2 days. And I did a 5 round 1:1 personal interview. There're various kinds questions, most of them are algorithm problems.