Yes, I know the internet is littered with Google/Microsoft interview stories but I just thought I'd add mine. A couple of months ago I was contacted by a Google recruiter through LinkedIn asking me to answer a few questions if I am interested in position at Google. I replied telling him that I was glad to try and attached my resume. Later on, I was contacted by another recruiter that told me that my resume has passed the screening process and that she would like to schedule a phone interview. I got my first phone interview which was basically some sort of HR screening. She asked about my previous work at IBM and why I co-founded Khayal IE. I talked a lot about the physics engine we developed at Khayal. I also talked a lot about the game we produced and how we got it sponsored by Intel and TE Data (Egypt's largest ISP) by exploiting a market niche that nobody has approached before. She also asked me why I chose Google and about any ideas that I would have that might improve their products. She also asked what I would do in my 20-percent time at Google. Google has a concept called the "20-percent time" where you are free to work on something that you really passionate about in 20% of your work time. Some of Google's most successful products were a spin-off of this concept including Google Suggest, AdSense for Content and Orkut.
Days after, I received an email from the recruiter asking to schedule another phone interview. She told that the interview will be very technical in nature. I started brushing up my knowledge on Data Structures, and revised different algorithms. I have also read about some of the more advanced features of C++ like traits and functors. I sat down at the time scheduled for the interview nervously waiting for the phone to ring. And it did! The Google engineer asked me about my previous experiences and then asked me a couple of technical question which were:
- Given a large body of text, design and implement an anagram search engine.
- How would you find the integer square root of a number? (Typical answer goes here) Now how would you do it faster?
He asked me to implement the function over the phone. He had a shared Google Doc ready. I answered both questions correctly (I will write how I answered in a later post). He thanked me and said that the recruiter will contact me. Google usually has two technical phone interviews unless you did very well on your first attempt, I had one phone interview and then the recruiter called and told me that I have made it to the on-site interviews. I learnt that they were looking for candidates with fluent Arabic.
She also asked me to sign a NDA for the rest of the interview process. I went to the site on the interview day (the interviews were held in Egypt at Nile Hilton hotel). I had four interviews with four different Google Engineers each lasting around 1 hour. I will not be able to disclose the questions of course. But I think answered most of them pretty well.
Two weeks later, the recruiter contacted me. She told me that the interview team thinks I have amazing design skills. She told me that they are still looking for senior developers with 8+ years of experience fluent in Arabic to assemble the team. And that she will get back to me in 6-12 months!
I actually found her response quite confusing as I really didn't get if I was in after 6 months or not. If I am not, then why did they interview me in the first place if they were looking for 8+ years of experience (I have four under my belt). But maybe they are looking to hire the senior team members first. I don't know. But I think I will be waiting for their next call.