msft has two rounds. 1st round is usually on-campus. Recruiters usually come to campus multiple times throughout the year. It's always not a big deal if you miss once - because they'll always come back again in a month or so.
1st round is half an hour. Usually 5 min behavioral and the rest is tech. Depends on how fast you are and the actual recruiter, the number of questions being asked could range from 1 to 5.
It takes about 1-3 weeks to hear from the recruiter about the result of the 1st round. Then they'll schedule an on-site interview with you. Usually you can choose four dates in the next coming month and they'll finalize one. They'll fly you to seattle (or other location you chose) and take care of all expense (hotel, transporation, meals etc).
The on-site interview takes one-full day from around 8:15am to roughly 4pm. The actual length varies depends on your performance. Usually you'll be interviewing with two groups, one in the morning and one in the afternoon and there's a lunch interview in between. You'll meet 2-3 interviewers from each group. If you really screw up your morning interview there could be a chance that your afternoon interviews will be cancelled (they'll tell you your next interviewer is sick or something). You'll get an offer from the group only if all interviewers say yes and if one or more says no you won't get one. So that means you still have two chances (two groups).
Each interview is 1on1 (95% of the time taking place in the interviewer's office) and takes about 1 hour. The interview consists of short behaviral questions and majority is about tech questions. You will be writing code on whiteboard. At the end of each interview, the interviewer will bring you to your next interviewer. They will exchange about questions already asked to you and your performance. If you make your way to see the dev manager in the end - the last interviewer, that means you are doing a decent job. If you don't even get to see the manager that means 99% likely you are already out.
In the past it usually takes about 1 week after your on-site interview to hear about the result (could be longer if you don't get an offer). But now they expedite that to immediate result - you'll be asked to return to building 19 (it was optional in the past). And if your recruiter wants to see you that means you'll be hearing about an offer. And if you are told you can leave and wait for result, that possibly indicates a negative answer.
Now they are experimenting new interview process which is more similar to Cisco's, which consists of 4 interviews which only take half a day, plus some site-seeing and presentations.
The compensation is 80k (Software Development Engineer @ 89) base plus up to 20% bonus (realistically, less than 10%) plus stock options. Standard benefits - 401k, free insurance (health, dental, vision), ESPP and other misc stuff. It's lower b/c cost of living is a lot cheaper than bay area and the tax is a lot lower too. Relocation is 5k.
You have 2 weeks to accept or decline the offer.