I applied through college or university. The process took 3 weeks. I interviewed at Microsoft (Shanghai, Shanghai) in Apr 2015
Interview
1 round online written-test, 4 programming problems in 3 hours, some of them are very hard.
2(+1) round online interview. Most of the time are spent on algorithm questions. Often they start with a easy problem then ask you to improve your solution.
If everything goes well, interviewees will be asked to take the 3rd round interview.
I applied through a recruiter. The process took 3 days. I interviewed at Microsoft (Redmond, WA) in Jan 2011
Interview
6 people interviewed me. Took about 8 hours. Talk to the main manager at the end. Not sure why I wasn't offered the job. How to test a random number generator.
I applied online. The process took 3 weeks. I interviewed at Microsoft (Zürich) in Jan 2015
Interview
Erstes Skype-Gespräch (30 min) mit einem Personaler in Irland, ganz allgemeine Fragen: Warum wollen Sie die Stelle haben? Erzählen Sie mir etwas über sich! Schildern Sie mir eine Situation, in der Sie eine Herausforderung meistern mussten! Haben Sie sich zuvor schon einmal für eine Stelle bei Microsoft beworben?" Er sagte, die Tätigkeit sei sehr arbeitsintensiv und verlange hohe Fachkompetenz; er wollte mein aktuelles Gehalt wissen und wie viel ich jetzt anstrebe. MS zahlt für Zürich und für diese Tätigkeit überdurchschnittlich viel - ich schätze 20 % mehr als im Durchschnitt. Er erklärte mir auch den weiteren Ablauf des Bewerbungsverfahrens: 3 weitere Gespräche mit Fachleuten über Skype, danach erhält man ein Angebot - oder auch nicht. Bewirbt man sich von außerhalb der Schweiz, ist für ein Angebot kein persönliches Treffen erforderlich.
Zweites Gespräch mit der Leitung des Entwicklerteams, um zu prüfen, ob man gut ins Team passt: Erzählen Sie mir von einem Projekt, an dem Sie gearbeitet haben! Welche Funktion hatten Sie? Welche Herausforderungen in puncto Entwicklung gab es? In was für einer Teamumgebung arbeiten Sie? Diskussion über diverse Technologien usw. Er beschrieb das Social-Listening-System, an dem sie aktuell arbeiten, sowie die Teamstruktur. Dann noch einige Fachfragen zur prototypischen Vererbung in Javascript. Bei der Gelegenheit kann man gut Fragen stellen zum Management, zu Produkten und zur Teamumgebung, denn die 2 folgenden Gespräche finden mit hochrangigen Entwicklern statt.
Bei diesen Gesprächen wird es mit Programmieraufgaben sehr viel fachspezifischer. Bei einer Aufgabe sollte ich eine Webseite aufrufen, während der Prüfer meine Tastatureingaben in Echtzeit verfolgte. Bei der anderen sollte ich meinen gesamten Bildschirm über Skype zugänglich machen und wählen, in welcher Umgebung ich arbeiten will - das kann Javascript, Java, C# oder sonstwas sein. Ein paar Fragen zu CSS-Selektoren, welche Javascript-Objekte und -beziehungen ich für bestimmte Szenarien wählen würde, und ein paar schriftliche Aufgaben zu rekursiven und nicht-rekursiven Algorithmen mit Schwerpunkt auf Codequalität, zum Beispiel Eingabevalidierung, Fehlerbehandlung, Effizienz, Grenzfälle usw.
Interview questions [1]
Question 1
Erzählen Sie mir von einem Projekt, an dem Sie gearbeitet haben