Work in HR or Recruiting?
Google
www.google.com Mountain View, CA 5000+ Employees
Work in HR? Complete Your Profile

290 interview experiences Back to all Google Interview Questions & Reviews

Google Software Engineer Interview

Posted Mar 01, 2012 23 of 25 people found this helpful

Accepted Offer – Interviewed on Mountain View, CA (US) Jan 2012 – Reviewed Mar 01, 2012

Interview Details You're not going to find my actual interview questions here, I signed an NDA and do take it seriously. On the other hand there's plenty of these kind of questions on this site and others. If you can work toward a solution on a good percentage of these, you should send in your resume.

The recruiting process is quite slow, involving several stages. I was first contacted by a recruiter, we talked for about 15mn and established a profile of my skillset. This is basically "how would you rate yourself at such and such tasks". The recruiter was very nice and really seemed to be trying to understand where I was coming from, and what I could offer to the company. Two weeks later, I had a 45mn phone interview with a software engineer who asked actual coding questions. This was done over a google notebook document, so he could see what I was typing in realtime. I felt that those questions were easier than what I was expecting (we had an extra 15mn at the end, which we used to chat informally about what it's like to work at google) . Several weeks after this, I was invited to interview onsite (mountain view). This was the most grueling stage, five back-to-back 45mn 1-on-1 interviews filled with coding problems of varied difficulty (with a lunch break at one of the restaurants, where the food is free... they'll try to find someone with interests similar to yours to babysit you). Some of the questions were not very hard, and were basically checking that I knew what I said I knew. Some questions were quite hard, and I had to really pause, think (and explain my thought processes), attack the problem as I could, then try to find better ways to solve it. When I got a bit stuck, some interviewers asked pointed questions (which you really have to take as hints), and some others would just let me sweat on my own. Each interview had basically one to three questions/problems, some incrementally more complex, building on the previous one, some completely disconnected from one another. This was very stressful to me, probably more than it should have been. If you can keep a cool head and a smile, you're halfway there, the other half is actually giving good solutions. Now it's not like the difficult questions are VERY difficult, they're just difficult enough that you have to work for it. If you are a pretty good programmer, know your CS basics (expecially complexity analysis) and are able to write code on a whiteboard without getting lost, there's no reason not to make it. The language you actually use didn't seem to matter, although if you chose C++, you should really know STL, if you chose javascript, you should really know your string and array classes, and so on.

Be aware that there are many stages of review once you're done interviewing, and that google has an incredibly high rate of false negatives. You may have done well in an area for which you're not being considered, you may have been boxed into a profile which isn't accurate, and so on, so don't jump to conclusions even if you feel you did really well. Some of my friends who I would *definitely* rate as better programmers than I am have failed for no good reason, even after being told by their recruiter that they did a good job, so be aware of that.

One advice I'll give: do not embelish your resume, don't say you're an expert at something unless you are, you *will* be probed. If they're interested in you, your references, degrees and previous professionnal experience will be thoroughly checked. Don't be too modest either, I know of someone who didn't pass the first non-technical interview because he rated himself too low on some things. Be honnest, and If you'd honnestly not rate yourself higher than a 6 or 7/10 at something, don't apply for a position that depends on it.

Another advice: brush up! Go back to your CS basics and do a good number of problems of the kind you'll find here. A month training on algorithms could definitely make the difference between making it and not.

I had to wait for over a month before getting an actual answer. The recruiter was not always keeping me informed about the process but to be fair, there's only so many times one can apologize for the time it's taking. Also, the way potential hires find their ways to an actual team is a bit peculiar. Basically once they know they want you, they still need to find a team that likes your profile, so you may not know until some time which team you may end up with at the end of the process. On the other hand, this gives the recruiter a chance to actively try to find a good fit for you.

Total time between being contacted and getting an offer: about 3 months. YMMV.

In retrospect I had a pretty good experience with the whole thing. Even if it was frustrating at times, I felt like the recruiter was really working toward getting me hired.

Interview Question – Algorithms, complexity analysis, CS basics, thinking on your feet, whiteboard coding. Know your stuff.   Answer Question

Negotiation Details – I basically did not negociate, as I felt that the offer they made me was very fair.

Other Details - The process took 3 months.

  • Overall Positive Experience

  • Difficult Interview
Helpful Interview?  
Yes | No
Problem with this interview?

Your response will be removed from the review – this cannot be undone.