Google Software Engineer Interview Questions | Glassdoor

Google Software Engineer Interview Questions

Updated Mar 23, 2017
2,453 Interview Reviews

Interview Experience

Interview Experience
60%
26%
13%

Getting an Interview

Getting an Interview
33%
31%
21%
11
1
0
0

Interview Difficulty

3.4
Average

Interview Difficulty

Hard

Average

Easy

2,453 Candidate Interview Reviews Back to all Interviews

Filter

Sort: Popular Date Difficulty

Filter

Sort: Popular Date Difficulty

Helpful (1416)  

Software Engineer Interview

Anonymous Employee in Mountain View, CA
Accepted Offer
Positive Experience
Difficult Interview

Application

I applied through an employee referral. The process took 4 weeks. I interviewed at Google (Mountain View, CA) in April 2014.

Interview

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

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!

Other Interview Reviews for Google

  1. Helpful (602)  

    Software Engineer Interview

    Anonymous Employee
    Accepted Offer
    Positive Experience
    Difficult Interview

    Application

    I applied online. I interviewed at Google.

    Interview

    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.

  2. Helpful (518)  

    Software Engineer Interview

    Anonymous Interview Candidate in Mountain View, CA
    No Offer
    Positive Experience
    Average Interview

    Application

    I applied through an employee referral. The process took 4+ weeks. I interviewed at Google (Mountain View, CA) in July 2015.

    Interview

    The interview went seemingly smoothly, except for a couple quirks in the code on the whiteboard. The questions were way easier than I expected. The interviewers were not intimidating at all and did not try to make the process stressful. I felt like I passed and according to HR, the overall feedback was positive. My application went to the hiring committee which, in turn, rejected the offer.

  3. Helpful (271)  

    Software Engineer Interview

    Anonymous Interview Candidate in Mountain View, CA
    No Offer
    Positive Experience
    Easy Interview

    Application

    I applied online. The process took 4+ weeks. I interviewed at Google (Mountain View, CA) in September 2015.

    Interview

    Awesome process. Very simple questions. Keep your nerves cool. Don't worry about very complex questions on the Internet. Do basics and you should be good. I screwed up two simple questions and not expecting offer. I will apply again next year .

  4. Is this helpful? The community relies on everyone sharing – Add Anonymous Interview Review


  5. Helpful (8)  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Positive Experience

    Application

    I applied through a recruiter. I interviewed at Google.

    Interview

    It's largely logistical: gathering info on your interests and ensuring the role matches them confirming your location preferences, work authorization, visa requirements understanding your decision timeline and desired start date; competing offers?

    Interview Questions

    • Given a time, your mission is to calculate the angle between the hour hand and the minute hand on an analog clock and return it in radians.
      The returned value should be written as a reduced fraction or, if the fraction's denominator is 1, as a regular number. There should be no multiplication sign in front of pi.  
      Answer Question
  6.  

    Software Engineer Interview

    Anonymous Employee
    Accepted Offer
    Positive Experience
    Average Interview

    Application

    I applied online. I interviewed at Google.

    Interview

    2 phone screens back to back. pretty professional and straightforward. a lot of interns have trouble in the host matching process but they said they were willing to extend me an offer before i got host matched

    Interview Questions

  7. Helpful (6)  

    Software Engineer Interview

    Anonymous Employee in Mountain View, CA
    Accepted Offer
    Positive Experience
    Difficult Interview

    Application

    I applied through a recruiter. I interviewed at Google (Mountain View, CA).

    Interview

    Skipped the phone screen and went straight to onsite interview. Recruiter wasn't in the office that day and there were a few logistical hiccups in the morning but otherwise went fine.

    Interview Questions

    • Given a 2D matrix find the path with the maximum product.   1 Answer
    • Design an algorithm for a Roomba cleaning bot.   Answer Question
  8.  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Positive Experience
    Average Interview

    Application

    I applied through a recruiter. The process took a week. I interviewed at Google.

    Interview

    The interviewer was friendly. I was given a problem to solve. I solved the problem and he appreciated few measures I took to reduce time complexity. I think my weakness was my nervousness. I was very scared as it was my first ever job interview. I realized I should have practiced before and hopefully had interviewing experience before. I directly jumped on coding and was not explaining the interviewer properly. Anyhow, I had a good learning experience and hope it helps me in future interviews.

    Interview Questions

    • The interviewer started with small talk and then a problem. He asked me to write an algorithm first and calculate it's time complexity. Then code it.   Answer Question
  9.  

    Software Engineer Interview

    Anonymous Interview Candidate in Seattle, WA
    No Offer
    Positive Experience
    Difficult Interview

    Interview

    Had 5 rounds onsite at the Kirkland campus after phone screen. All interviewers were nice and smart (except one who appeared rude). Glassdoor and leetcode helped. Was asked some questions on C++ internals.

    Interview Questions

    • 1. Strings
      2. Binary Search Tree
      3. Greedy
      4. Graph search
      5. 2D Matrix  
      Answer Question
  10. Helpful (1)  

    Software Engineer Interview

    Anonymous Interview Candidate in Mountain View, CA
    No Offer
    Neutral Experience
    Difficult Interview

    Application

    I applied online. The process took 3 weeks. I interviewed at Google (Mountain View, CA).

    Interview

    Did an all day interview at Google in CA. Had 5 interviewers grill me on questions ranging from graph theory to binary search tree algorithms. A lunch break where we got some good food and I had time to learn more about Google was nice. The interviews were sadly, mostly about them learning what algorithms you know versus your experience. Very little time to actually learn about where you might actually end up.

    Interview Questions

    • Implement the Java String.contains method and describe the speed of your implementation.   Answer Question
Don't Miss Out On a Job You Love
Upload a resume to easily apply to jobs from anywhere. It's simple to set up.