Google Software Engineering Interview Questions

Updated Mar 25, 2015
Updated Mar 25, 2015
1,237 Interview Reviews

Interview Experience

Interview Experience

52%
30%
16%

Getting an Interview

Getting an Interview

47%
25%
13%

Interview Difficulty

3.5
Average

Interview Difficulty

Hard

Average

Easy

1,237 Candidate Interview Reviews Back to all Interviews

Sort: Popular Date Difficulty

387 people found this helpful  

Software Engineer Interview

Anonymous Interview Candidate in Mountain View, CA
Anonymous Interview Candidate in Mountain View, CA
Application Details

I applied through an employee referral. The process took 4 weeksinterviewed 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."

Interview Questions
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!
Accepted Offer
Positive Experience
Difficult Interview

Other Interview Reviews for Google

  1. 7 people found this helpful  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied online – interviewed at Google.

    Interview Details

    I participated in two phone interviews. I did not clear the second phone interview so I can't speak for the rest of the interview process. Each phone interview is accompanied with a google doc where you type in your code. In the first phone interview, I was asked to give an introduction of myself, then the interviewer asked me two technical questions. In the second phone interview, I was asked two technical questions. In three of the four questions I was asked to walk them through some test cases after writing the code.

    Interview Questions
    • Implement a class that can calculate the running average of a stream of input numbers up to a maximum of N numbers.   View Answers (5)
    • Implement string rotateString(string input, int amt)   View Answers (4)
    • Implement int strncmp(const char* s1, const char* s2, int n)   Answer Question
    • Implement a function that takes the set-wise subtraction of two sorted sets of integers. ie A = {1, 2, 3}, B = {3, 4, 5} => A - B = {1, 2}. There can be duplicates, in which case all duplicates should be removed should there be an occurrence in B. IE: {1, 2, 3, 3, 3} - {2, 3} = {1}.   View Answers (3)
    No Offer
    Positive Experience
    Average Interview
  2.  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through a recruiter. The process took 2+ monthsinterviewed at Google.

    Interview Details

    It took really long time, I went through 4 rounds interview. At last, they said they prepared to give me the offer, however, they needed one more round interview. The very last interview also went through smoothly. I completed every questions during interview. The interviewer also gave the positive feedback. But after two days waiting, they stopped my process. I really didn't get why this happened. If my performance was bad, I would feel better. But I solved every questions they give. It was a little bit unfair. I couldn't remind anything I did wrong. Really want to know why. Also they said I need to wait 12 month for reapply.

    Interview Questions
    • Some questions about deal with array. recursive, efficiency,   Answer Question
    No Offer
    Neutral Experience
    Easy Interview
  3. 5 people found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied online – interviewed at Google.

    Interview Details

    I first had a phone screen interview. After this, I was asked to come onsite for further interviews. I had 4 whiteboard and 1 lunch interview with the Youtube team. After this, I was told that my application is going through the Hiring Committee.

    Hiring committee asked my HR to find a team for me before giving any decision. I then had two phone interviews with different teams in Android. I informed my HR that I am interested in the first team. Next day, HR emailed me and said that this team no longer has an open position. I again went through the same process. This time, platform team was interested in talking to me. I gave 2 phone interviews wherein they made me write code. After their feedback, I was put through the Hiring committee again and this time I got a thumbs up from them. 1 week after that I was put through executive committee and got my offer.

    I had 7 other offers and my HR asked me about all of them before putting me through executive review. They gave me more than any other company I had offer from.

    Accepted Offer
    Positive Experience
    Difficult Interview
  4. Is this helpful? The community relies on everyone sharing – Add Anonymous Interview Review


  5.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied through a recruiter – interviewed at Google.

    Interview Details

    phone interview recruter found my resume in Hackthon resume bank and sent me an email.interviewer is nice but we had a bad signal and its really hard to hear clearly.

    Interview Questions
    • given a string write a function to return the index of the first elememt which is non-alphabat ordered   Answer Question
    Accepted Offer
    Positive Experience
    Easy Interview
  6. 6 people found this helpful  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied online. The process took 2+ monthsinterviewed at Google.

    Interview Details

    2 Hangout interviews. First, DS question (sliding window) and second, couple of Java and OO questions. Interviewers were very helpful and caring. They also asked about the projects I did in the past. Overall, very positive experience!

    Interview Questions
    Declined Offer
    Positive Experience
    Average Interview
  7. 4 people found this helpful  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied online – interviewed at Google.

    Interview Details

    There are 3 phone calls, each for about 45 min, which are made in the same day. All three phone calls are very technical. One question on system design, one on data structure, and one on algorithm. Google docs is used to write code. The reviewer will ask you write some tests and intentionally leave sth unspecified.

    Interview Questions
    • Implement a data structure to support dynamic insertion, deletion of intervals. Overlapping intervals should be merged.   Answer Question
    No Offer
    Positive Experience
    Average Interview
  8. 10 people found this helpful  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through a recruiter. The process took a weekinterviewed at Google.

    Interview Details

    I only had two phone interviews. First one was fairly easy: What is the time complexity of quick sort? Inserting into a binary tree? The second one was a coding problem.

    Interview Questions
    • You are given an n by n array filled with '0's, and you have to set randomly X number of '1's in that array. Looping and generating x random number doesn't work as you might get the same random number (especially as X gets closer to n*n, collisions will become more likely in which case you'll loop for a very long time before filling all the '1's). All positions must have the same probability to get selected, and the array might be huge.   View Answers (14)
    No Offer
    Positive Experience
    Difficult Interview
  9.  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through an employee referral – interviewed at Google.

    Interview Details

    Two technical interviews, each around 45 min, coding on Google docs.
    The first one, a very nice European, just one tree question. In the beginning I'm not clear with the problem description. So wrote a not efficient solution. Then we discussed the complexity with current codes. Then he followed up to ask me to improved current codes. I figure out there's one condition I didn't use. Finally I finish up the efficient solution, he asked me to refactor the codes and I did.
    The second one, an Indian, three technical questions. The phone is not quite clear. So he wrote the questions down on the Google docs. I finished them all.

    Interview Questions
    No Offer
    Positive Experience
    Average Interview
  10. 6 people found this helpful  

    Software Engineer Interview

    Anonymous Employee in Mountain View, CA
    Anonymous Employee in Mountain View, CA
    Application Details

    I applied through a recruiter – interviewed at Google.

    Interview Details

    Two round phone interview, the second one is kind of wired, I cannot hear the engineer clearly and he had heavy accent. Also he called very late, much later than the scheduling time. The two questions were not about data structure or algorithms. If you know the answer, you get it, if not, you are screwed (basically means there is no progress to the solution). I spend 30 minutes understand the first question, I told him to clarify again and again but he just told me that is all you have. I didn't know what should I do or what should I write. So after 30 minutes we skipped the first question. Overall the interviewer is not very good at English and remain silent most of time during interview, not so helpful.

    Interview Questions
    • Implement a function using two existing functions, but in the end I still didn't know what I know about these functions and what should I add. Second one is more like brain teaser. Questions were not about any hard algorithms or data structures, so I ranked easy; they are just tricky. I personally think the questions are not suitable for a software engineer position.   View Answer
    No Offer
    Negative Experience
    Easy Interview

Work at Google? Share Your Experiences

Google

 
Click to Rate
or

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.