Google
4.2 of 5 2,092 reviews
www.google.com Mountain View, CA 5000+ Employees

Google Software Engineer Interview Questions & Reviews

Updated Apr 16, 2014
All Interviews Received Offers

Getting the Interview 

34%
21%
16%

Interview Experience 

45%
35%
18%

Interview Difficulty 

800 candidate interviews Back to all interview questions
in

No Offer

Negative Experience

Very Difficult Interview

Software Engineer Interview

Software Engineer
Santa Monica, CA

I applied through a recruiter and the process took a day - interviewed at Google in March 2010.

Interview Details – This was the second phone interview, the first being with a recruiter. I spoke with an engineer at google and he asked me some general c++ questions (malloc/polymorphism/virtual functions/etc) and then gave me a problem to write an algorithm for (find the next in a sequence of numbers). The interviewer gave me some hints along the way, but unfortunately I was stuck for a good 10 minutes on one of his hints that turned out to be a misunderstanding between us. I verbalized everything I was doing along the way to try to make things as clear as possible. I didn't get the answer correct in the end. He told me how to see where the sequence goes, but I don't understand how he would decide to use that approach. I feel like i would have no problem writing the algorithm but i don't know how he arrived at the solution. It wasn't a very positive experience overall.

i don't expect to be asked for an in-person interview.

Interview Question – you have a sequence where each number is a multiple of 2 or 5 (so: 2^i * 5^j). he gave the beginning of the sequence as 1,2,3,4,5,8,10,16... and asked me to find an algorithm to calculate the next number in the sequence.   View Answers (15)

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

5 people found this helpful

No Offer

Negative Experience

Very Difficult Interview

Software Engineer Interview

Anonymous Interview Candidate
Santa Monica, CA

I applied through a recruiter and the process took 3 months - interviewed at Google in February 2010.

Interview Details – Recruiter started off professional. Originally contacted by someone in Mtn View and then transferred to someone in Santa Monica.

Phone interview was intense, but I did my best. I felt like I got most of the questions wrong. My interviewer walked me through any incorrect answers and overall it was a pleasant experience. The interviewer was very good. Most of my questions were about searching and sorting, about half of them were the stupid questions from their database. He asked a good 10-15 questions during our phone call but most were short. Unlike most people, for some reason I was not asked any coding questions.

The on-site interview was a disaster.

1. It started with a discussion of my thesis topic which was fine. Expect them to understand your topic no matter how esoteric or specific it is.
2. A second interviewer asked about my thesis. He did not like my topic at all claiming that it doesn't scale well. Well, excuse me for not having access to Google's data! Then proceeded to ask some dumb questions (specific to Java) from their database. Finally, I started coding on the board. If I did something wrong, he was very misleading in the "hints" that he was trying to give; he could not articulate what the problem was with my code.
3. I had lunch with my phone interviewer. It went fine, but Google food is not all it is cracked up to be. The others that I met during lunch seemed stressed out, but friendly.
4. No comments on next interviewer as he was pretty good.
5. HORRIBLE interviewer. Very arrogant, very condescending, very intimidating. He asked a very esoteric question that was very confusing and required me to read a manual before attempting to answer the question.
He was very rude and mean to me and made it clear that he did not want to be there. I really just wanted to walk out of the room.
6. At this point I was shot. This interviewer asked me a question and while I was coding, I did something wrong. She said the problem was giving her a "headache" so we would move on to something else, just like that. The next question was better and was more pleasant.

My recruiter told me to use whatever language I was most comfortable with. I specifically asked if I could use Python and she said "yes". I know Java, C and C++ but they are not my everyday languages. To my dismay, most of the questions were phrased "Used Java" or "Use C, C++ or Java" or "use C or C++". One of my interviewers did not even know Python. My first recruiter KNEW point blank that Python was my everyday language and said that was perfect for this interview. Apparently, I should have never even been recruited since I do not program in Java/C/C++ as an everyday thing. I was also told that the interview is about how you "think" which is not at all true. You need to know very specific things about algorithms, design patterns, and object-oriented programming, so read books before the interview.

I was told that I would hear within a week. I never did. I had to call the recruiter and she pretended that she was going to tell me my result that day anyway.

The recruiting process is wrought with bad information and too much power is given to the recruiters. Until they get this right, they will continue to hire the mediocre people that I have read so much about.

Interview Questions

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

6 people found this helpful

No Offer

Neutral Experience

Very Difficult Interview

Software Engineer Interview

Anonymous Interview Candidate
Los Angeles, CA

I applied online and the process took 2 weeks - interviewed at Google in November 2012.

Interview Details – Contacted by a recruiter, first passed a challenging 45 min phone screen, and then had then on site with 5 interviewers. It was about 60% algorithm questions, 30% design questions and 10% math. Not a single question was asked about my previous experience or knowledge. My feeling is that Google designs their interviews for Computer Science grad students, ie advanced courses or knowledge in algorithms will be far more helpful than 15 years of being an expert in your working field to get you a job at Google.

Interview Question – Beware that Google will ask random math questions during interviews. I got hit by a tricky algebra question that I had trouble with. I even got a calculus question. Again, this just shows that they're targeting people from academia who still remember all their advanced math.   Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

No Offer

Positive Experience

Very Difficult Interview

Software Engineer Interview

Anonymous Interview Candidate
Sydney (Australia)

I applied online and the process took 2 days - interviewed at Google in April 2008.

Interview Details – Phone interview asked standard code related questions, about object oriented code, defensive
programming, etc. did well at that. one to one interview was similar but more in-depth

Interview Question – how many golf balls could you fit into that building?   View Answers (2)

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

No Offer

Neutral Experience

Very Difficult Interview

Software Engineer Interview

Software Engineer

I applied online and the process took a day - interviewed at Google in March 2009.

Interview Details – I found the internship position of Google on its website, and filled the form including many aspects of my information. After about half a month, I received an email which schedules a phone interview. The email clearly said that the interview was purely technical, and it is true since after introducing himself, the interviewer assigned me an algorithm question. He was patient and nice, but the questions are very hard for me.

Interview Question – Given a directory with lots of files, find the files that have the same content (the file names are different).

I think file format is not considered, since when I said the size of the file with the same content should be the same, the interviewer did not deny it.
  View Answers (2)

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

2 people found this helpful

No Offer

Negative Experience

Very Difficult Interview

Software Engineer Interview

Anonymous Interview Candidate

I applied through a recruiter and the process took 4+ weeks - interviewed at Google in July 2010.

Interview Details – So a Google recruiter calls me and I get all excited. I'm fairly happy with my current employer, but, after all, it's Google. I talk to the recruiter and we discuss a few things like where I would like to work, etc. I ask them:
- "Are you looking for any particular background - web, databases, storage, networking?"
- "Oh, no no, we're just looking for generally smart people."

Ok fair enough. Recruiter 1 hands me off to Recruiter 2. Recruiter 2 then hands me off to Recruiter 3 who's, finally, local to my area. Cool.

Step 1: Phone interview. I talk to a "person who is around my level". They ask me to write some code using Google Docs. Pretty easy.

Step 2: Round 1. Two one-hour sessions. Both times I'm given some code printouts (in language of my choice) and asked deeply technical questions. The first hour is in the form of "this code does not work, why? Ok you found a bug, fix it. Ok now when we run this, it does this, why?"... and so forth. The second hour, there's a lot more code and two interviewers at once. I was told that one of them is a "junior interviewer". The problem is, they interrupt each other asking questions as I'm trying to solve things on the board. As I try to explain a solution to interviewer 1, interviewer 2 randomly jumps in: "so what do you think the running time is?" Nice way to stress one out... At the end of that, they tell me it's ok to be a little stressed out.

Step 3: Round 2. Three one-hour sessions. Now, each time, I am not given much and asked to write code on the board. I felt like I did OK with interviewers 1 and 2 but interviewer 3 was very difficult to communicate with. He would describe a board game puzzle in a very silent manner and then not really ask a question. Several times I had to ask him "uhh, I guess you would like me to write a function that does XYZ?" And then get a very subtle nod back. I wrote some stuff but couldn't tell if he was impressed, indifferent, or expected something else completely. In any case, I feel like that was the part I blew.

Note that at no point were my experience, past employment accomplishments, management skills, personality, interests, or career goals ever discussed.

Step 4: Wait for two weeks. After a week I emailed the recruiter and the response was "Sorry, one of the people who interviewed you had not submitted their feedback yet". I showed that to some very senior developers in my network who laughed and said "dude, that's a good sign that the organization is slowly rotting".

Step 5: Get rejection voicemail. The reason being that I'm "not quite the right fit for the engineering roles we have open". Fair enough. "We're generally looking for smart people" came to mind. Thanks a lot Google! :)

Step 6: Two weeks later get a phone call from Google Recruiter 4 who wants to talk to me about employment opportunities at Google! No joke! I told her I'm not "generally smart".

Interview Question – Given a set of shapes in 2D space, and a coordinate pair, write a routine that returns true if any of the shapes overlap the coordinate pair.   View Answers (3)

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

1 person found this helpful

Accepted Offer

Positive Experience

Very Difficult Interview

Software Engineer Interview

Software Engineer

I applied through a recruiter and the process took 2 months - interviewed at Google in September 2010.

Interview Details – I got an initial indication of interest e-mail from a recruiter at Google who had my resume on file from a while back. He asked me a couple standard non-technical questions, and then set up a phone interview.

My phone interview consisted of a couple sanity checks (e.g. "What does static mean in C++?") followed by one very tough technical question which lasted the entire interview.

That went well, so they brought me onsite, where I had 5 technical interviews, all 45 minutes each. They always seemed to run up to the limit/a couple minutes over, I think they should consider making the time longer. In the middle of the day I had lunch with an engineer for an hour who fielded whatever questions I had, but they don't provide feedback, so feel free to ask anything.

Each interview pretty much followed the same format -- they presented the question, asked me to go, I would say something like "Well the naive way to do it is ___, but let's look for the better way", but they would ask me to code the naive way anyway (usually). Then they would ask me how inefficient it is, how to improve it, and then ask me to code that. They wanted code (or pseudo code, if there were only a couple minutes left) in almost all situations -- they write it all down or just take a picture. At the end, each one turns it around to see if you have any questions for them.

My recruiter gave me status updates along the way, letting know what my status was, and it took about 3 weeks to hear back.

People: a couple interviewers seemed grumpy, like they didn't want to be there -- I didn't like that. But everybody, including the grumps, were really excited about their job, and really liked all their benefits/perks/freedom/situation in general.

Advice: the interviews are tough! Expect at least a couple months to review if you're rusty; study lots of books like CLRS; do a **lot** of practice problems (TopCoder is a very good resource); practice problems on the white board (I found this especially useful); bring in your own skinny white board markers -- the ones in the interview rooms are fat and hard to write with; be prepared to talk through your solution; bring several questions for all the interviewers (even just "how do you like your job?"); for things like quicksort/mergesort/merge/binary search, you should be able to write that in your sleep while you're drunk. Finally: google for "google interview questions". I was only asked one question that I had seen online, but preparing for the others helped me for the new ones I got.

Interview Question – You're given a string, and you want to split it into as few strings as possible such that each string is a palindrome.   View Answers (13)

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

2 people found this helpful

No Offer

Positive Experience

Very Difficult Interview

Software Engineer Interview

Software Engineer
Bangalore (India)

I applied through college or university and the process took 2 days - interviewed at Google in September 2012.

Interview Details – They take on-campus written and shortlist candidates from it.
They also seek good academics for shortlisting criteria.
There are 5 rounds of Interviews in Google . If you go through all , you have fair chances of selection.
They call you at their office for interviews (all at their expense)

the five rounds can be in any order and every round is shortlisting round after first two interviews.

They basically check your skills in various domains like Data Structures , Algorithms, Coding , Designing, Projects you have done and much more. They start from basics and move to extreme difficult questions.
Every round is of fixed time 45-50 minutes.
They see your thinking process not the solutions for difficult questions. Just give your best and involve your Interviewer during solving your problem.

Interview Question – LCA of 'k' given nodes in an arbitrary tree having N nodes?   View Answers (2)

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

No Offer

Positive Experience

Very Difficult Interview

Software Engineer Interview

Software Engineer
Hyderābād (India)

I applied through an employee referral and the process took 2 months - interviewed at Google in December 2012.

Interview Details – First of all you need to have a reference in Google wihout reference you are not even in for first round

Interview Question – You cannot expect what questions they will ask and you   Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

1 person found this helpful

No Offer

Neutral Experience

Very Difficult Interview

Software Engineer Interview

Software Engineer
Saint Louis, MO

The process took 3 weeks - interviewed at Google in February 2011.

Interview Details – The interview consisted of 2 phone interviews, each an hour in length. After getting past these, I was flown to Mountain View for a 6 hour interview that consisted of 5, 1 hour interviews with a different person and 1 hour for lunch. The phone screens were scheduled about 2 weeks apart, each was very technical. The onsite interview focused on programming problems with one of the interviewers asking me questions about my experience. All the people I met with were very nice.

Interview Questions

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response
RSS Feed Embed
Interviews for Top Jobs at Google

Worked for Google? Contribute to the Community!

The difficulty rating is the average interview difficulty rating across all interview candidates.

The interview experience is the percentage of all interview candidates that said their interview experience was positive, neutral, or negative.

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

Glassdoor is your free inside look at Google Software Engineer interview questions and advice. All 800 interview reviews posted anonymously by Google employees and interview candidates.