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.