Google

  www.google.com
Work in HR? Unlock Free Profile

Google Software Engineer Interview Questions & Reviews

Updated Aug 15, 2014
All Interviews Received Offers

Getting an Interview  

35%
23%
15%

Interview Experience  

47%
34%
18%

Interview Difficulty  

Average Difficulty
884 candidate interviews Back to all interview questions
Relevance Date Difficulty
in

No Offer

Neutral Experience

Easy Interview

Software Engineer Interview

Software Engineer

I applied online and the process took 1 week - interviewed at Google in March 2014.

Interview Details The first phone interview consists of making the interviewee comfortable with some banter.
Then Some technical questions which lead into a coding question in a google doc.
Once finished you should walk through one or two sample questions.

Don't fret if you don't know a library name, but get the syntax of your language correct.
Make sure you have a solid knowledge of basic data structures and algorithms.
Always cater for corner cases.
Knowing about how threadding and distributed computing is always a benefit, but it depends largely upon your interviewer.

Interview Question – Code a hashmap which you would be happy to place into a production environment.   Answer Question


No Offer

Negative Experience

Average Interview

Software Engineer Interview

Software Engineer
Sydney

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

Interview Details I was contacted by a recruiter from google india. Had 2 phone interviews. But the recruitment process was really slow and the recruiter replied very late. i got the last reply after 4 months of the 2nd phone interview. It was really frustrating to wait for such a long period..

Interview Question – There are n integers in disk. Memory has m space. how to sort the data efficiently.   View Answers (2)


2 people found this helpful

Accepted Offer

Positive Experience

Average Interview

Software Engineer Interview

Software Engineer
Sydney

I applied through a recruiter and the process took 2 weeks - interviewed at Google in October 2013.

Interview Details Process was expedited due to another offer. I went from a single phone interview to an inhouse interview with potential future team members. Recruiters were all helpful, and the internal company paperwork took up the majority of the process.

Negotiation Details – Have competing offers.


1 person found this helpful

No Offer

Positive Experience

Average Interview

Software Engineer Interview

Software Engineer
Sydney

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

Interview Details Contacted by recruiter for a initial phone interview. Later a week, i got a call from a person in Google sydney office. He was very polite and trying to get best out of me by giving hints. Interview went well. One puzzle and one simple problem. I used java to solve it. But later one week, they had mentioned, though interviewer were impressed with your accomplishments, they felt my experience was not strong match for current requirement.

Interview Question – Suppose that you earn 100% annual interest (APY) on $1 initial deposit. How long before you'll be as rich as Bill Gates ($63 billion)?

Given a number, e.g., 314159, as an array [3,1,4,1,5,9], increment it: change it to [3,1,4,1,6,0].
  View Answers (11)


No Offer

Positive Experience

Very Difficult Interview

Software Engineer Interview

Software Engineer
Sydney

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)


No Offer

Neutral Experience

Difficult Interview

Software Engineer Interview

Software Engineer
Sydney

The process took 4 months - interviewed at Google in January 2011.

Interview Details I was contacted in September via linkedin. I sent the recruiter my CV and haven't heard from them for a month. After contacting them again the recruiter scheduled me for a phone screening. Just a week after the first phone screening I was scheduled for another one which I took a month later. Both phone screenings lasted exactly 1 hour. On the phone I talked to junior/average Engineers, who asked quite simple questions about Data Structures. After the second interview I was invited for the 1:1 meeting. Again there were some delays in organising the interview and I ended up going to Sydney in January.

I was interviewed by 4 people, with increasing difficulty. The questions weren't too hard, consisting of coding, estimation and design questions. I did struggle in understanding a simple question and ended up spending a lot of time discussing the task. The impression from the interview was good, but two weeks later I got a rejection. No information was provided.

Generally, you need to prepare for the interview in overall. Don't just focus on learning algorithms. Rehearse behavioural parts before going to the 1:1.

Interview Question – Estimate the total storage size of GMAIL   View Answer


2 people found this helpful

No Offer

Positive Experience

Difficult Interview

Software Engineer Interview

Software Engineer
Sydney

I applied online and the process took 3 months - interviewed at Google in April 2011.

Interview Details The interview process usually consists of 2 phone interviews and 4 onsite interviews. Additionally I have done two post onsite phone interviews. The latter interviews were focused on scalability questions and coding skills. The process was quite good. Recruiters were responsive and supportive. Generally Google test three areas: Algorithms, Scalability and Coding. I have got positive feedback on Algorithms and Scalability. The negative part was the Coding skills part.

Interview Questions

  • C++ versus Java.
    Reverse a singly lined list.
      View Answers (2)
  • How to add a counter to www.google.com to track the billionth user.   View Answers (4)
  • You have a 64bit interger counter set to 0. How long it will take to overflow the counter given that you are incrementing it at 4Ghz speed.   View Answers (7)
  • Comparisons of trees and hash tables.
    What are the tradeoffs of using one versus another.
      View Answers (2)
  • Quickly estimate 2^64 without using a pen/papar.   View Answers (7)

No Offer

Negative Experience

Difficult Interview

Software Engineer Interview

Software Engineer
Sydney

I applied through college or university and the process took a day - interviewed at Google in June 2008.

Interview Details There were 3 interviews scheduled in the morning. The flight from Melbourne to Sydney was also booked for the same morning. The flight got delayed and I reached Sydney only at the time the interview was to start. I reached their office which was very difficult to locate as it was on the top floor of a building with IBM on it.
Interviews were doable, but I was exhausted after having woken up really early and not having eaten much in the flight and having had to rush from the airport. First interview was really bad as I had a tough time concentrating. After lunch there were 2 more interviews and I did well in bot of them. But I knew I had blown it with the first one. I didn't know they had a policy of flying people in the previous evening for early morning interviews. Kinda felt cheated.

Interview Questions

  • Reverse the bits in a 32 bit integer. Write C code for that.   View Answer
  • Non programming. The mouse in the maze problem. Shortest paths to reach outside.   Answer Question
  • Given a web system which gets disconnected, how would you debug it. Also where would you add resources to maximise throughput given some constraints.   Answer Question
  • Given a statement which took an integer, incremented it by 1 and then branched to another location which you provide, implement addition of two numbers multiplication, etc using just that statement (or command).   Answer Question

97 people found this helpful

Accepted Offer

Positive Experience

Difficult Interview

Software Engineer Interview

Software Engineer
Mountain View, CA (US)

I applied through an employee referral and the process took 4 weeks - interviewed at Google in April 2014.

Interview Details Direct onsite because I interviewed in the past and did well that time. From the time I sent my resume to interview day: 2 weeks. From interview day to offer over the phone: 2 weeks.

The syllabus for the interviews is very clear and simple:
1) Dynamic Programming
2) Super recursion (permutation, combination,...2^n, m^n, n!...etc. type of program. (NP hard, NP programs)
3) Probability related programs
4) Graphs: BFS/DFS are usually enough
5) All basic data structures from Arrays/Lists to circular queues, BSTs, Hash tables, B-Trees, and Red-Black trees, and all basic algorithms like sorting, binary search, median,...
6) Problem solving ability at a level similar to TopCoder Division 1, 250 points. If you can consistently solve these, then you are almost sure to get in with 2-weeks brush up.
7) Review all old interview questions in Glassdoor to get a feel. If you can solve 95% of them at home (including coding them up quickly and testing them out in a debugger + editor setup), you are in good shape.
8) Practice coding--write often and write a lot. If you can think of a solution, you should be able to code it easily...without much thought.
9) Very good to have for design interview: distributed systems knowledge and practical experience.
10) Good understanding of basic discrete math, computer architecture, basic math.
11) Coursera courses and assignments give a lot of what you need to know.
12) Note that all the above except the first 2 are useful in "real life" programming too!

Interview 1:
Graph related question and super recursion

Interview 2:
Design discussion involving a distributed system with writes/reads going on at different sites in parallel.

Interview 3:
Array and Tree related questions

Interview 4:
Designing a simple class to do something. Not hard, but not easy either. You need to know basic data structures very well to consider different designs and trade-offs.

Interview 5:
Dynamic programming,
Computer architecture and low level perf. enhancement question which requires knowledge of Trees, binary search, etc.

At the end, I wasn't tired and rather enjoyed the discussions. I think the key was long term preparation and time spent doing topcoder for several years (on and off as I enjoy solving the problems).

Conclusion: "It's not the best who win the race; it's the best prepared who win it."

Negotiation Details – You can and should negotiate politely. You are in a stronger position if you have another offer, but even otherwise, you should ask for more of every type of payment!


27 people found this helpful

Accepted Offer

Neutral Experience

Software Engineer Interview

Software Engineer

Interviewed at Google

Interview Details I am student at IIT Guwahati and take up Google interview. Total 5 rounds held prior final HR round and finally got selected for Google US. The final evaluation was done by google US. The questions are mostly algorithmic

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 who said that their interview experience was positive, neutral or negative.

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