This is a very difficult interview process so the keyword here is preparation. The skills test is very SPECIFIC, not high level concepts. You'll be asked to pick a language (C,C++,Java) so pick the one you know THOROUGHLY. Also another interviewee posted about using brainbench.com tests as preparation. DO IT. A majority of the questions are off this site but you have to pay 200 bucks for a full year subscription. I for one know if I hadn't take the brainbench tests, there is no way I would have passed. The phone interview wasn't any better (Know your data structures, time complexities, and algorithms). Also, be aware of brain teasers. I thought I did horrible on the phone interview but I still got called for an on-site interview. On-site: THEY WILL GRILL YOU! At least that's what they did to me. Best advice is to study from careercup.com and hope they ask those kinds of questions, but in my case they didn't. They asked about balancing binary trees and I knew then itself I wouldn't get the offer and I was right. To me, I felt it was asked on purpose just to screw me since not even Microsoft asked me that kind of question. Other thoughts: the office is incredible looking with all the modern art, I have never seen an office building like that before. No cubicles, just rows of computers with people so it sort of looked like the world war 2 films where they show rows of women helping out in the factories. Also my on-site interview was only ONE interview by 2 r&d recruiters. Others seem to have received several interviews throughout the day, so I don't how they decide that.