Microsoft's infamous "interview loop"- three one-hour-ish interviews with current MSFT employee's, followed by another interview with a general manager. Interview structure is nothing peculiar: standard algorithm construction on a white-board, general programming knowledge questions, prior group development experience, etc. If you only know Java, you're pretty applying for the wrong job. For those with significant C, C++, or even C# experience and are able to project an aura of certainty and competence, don't be too worried.