1. 25 questions (mandated by the hiring manager) on assorted general technology before the recruiter would send me the written test that I had to take before he could submit the resume.
2. Written test comprised five explain-in-detail-how-you'd-do-various-substantial-programming-tasks essay questions, and a build-this-piece-of-infrastructure programming assignment.
I checked afterward; I got all 30 questions right, and the code I worked did in fact meet the requirements. I had even gone the extra mile and provided full javadocs, etc.
The hiring manager passed.
The headhunter figured it might be because MS wants C++ or C# skills (I've never worked with C# and I took C++ off my resume years ago as I don't remember it after a 16 year absense). Note that neither of those was even listed on the job requirements.