Google Software Engineer Interview Questions

Updated Jul 2, 2015
1,362 Interview Reviews

Interview Experience

Interview Experience

53%
30%
16%

Getting an Interview

Getting an Interview

60%
15%
12%

Interview Difficulty

3.5
Average

Interview Difficulty

Hard

Average

Easy

1,362 Candidate Interview Reviews Back to all Interviews

Sort: Popular Date Difficulty

Helpful (522)  

Software Engineer Interview

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

Application

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

Interview Questions

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 (77)  

    Software Engineer Interview

    Anonymous Interview Candidate
    Accepted Offer
    Positive Experience
    Difficult Interview

    Application

    I applied online – 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 (5)  

    Software Engineer Interview

    Anonymous Interview Candidate in New York, NY
    Accepted Offer
    Positive Experience
    Difficult Interview

    Application

    I applied online. The process took 1+ weekinterviewed at Google (New York, NY).

    Interview

    Applied online and got back from a recruiter within an hour. Had a conversation with the recruiter a week after and he said I can go straight to the onsite for interviews.
    I was interviewing many other places parallel so I scheduled the onsite two weeks after the day I spoke with the recruiter but they don't seem to care how quickly you take the onsite so choose time to give yourself enough time to prepare.
    There were five onsite interviews with one lunch with a developer (I heard that the lunch is not an interview). I had to write solutions on whiteboard for all of questions so be prepared.
    I never heard of any of questions they asked but studying leetcode and interview books helped me figure out ways to solve algorithm questions.
    All of the interviewers were nice and the interview felt like I'm solving a real work problem with a coworker.
    Think about time complexity and efficiency at all time when you come up with a solution.
    It took less than 2 weeks to get an offer. Think this can be different for different people.

    Interview Questions

  3. Helpful (1)  

    Software Engineer Interview

    Anonymous Employee
    No Offer
    Neutral Experience
    Average Interview

    Application

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

    Interview

    I was contacted by a recruiter who set up a technical phone interview for me. The interview question was average in difficulty, I didn't cover a corner case and when I asked the interviewer to add code to cover a specific corner case, he said I was out of time. I didn't get to move on to a second interview. I feel my answer was good enough for screening purpose (you'd assume first phone interview is the screening interview). Anyway, I would say as humans, talking over the phone while coding, we might not be in the best state to cover all the cases especially if it's just the screening call.

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


  5.  

    Software Engineer Interview

    Anonymous Employee
    No Offer
    Positive Experience
    Average Interview

    Application

    I applied through an employee referral – interviewed at Google.

    Interview

    Phone Screen consisting of basic algorithm questions, and a few questions about your background and if you clear it --a invitation onsite. Onsite consists of back-to-back algorithm rounds (4-6), with a lunch Break. Lunch is a good time to ask about working at Google. The process was very smooth and Google was very prompt in their responses.

    Interview Questions

    • The questions were what you expect of a standard programming interviews (DP, trees and other data structures). Make sure you have extensively reviewed algorithms before you attempt the interview.   Answer Question
  6.  

    Software Engineer Interview

    Anonymous Employee
    No Offer
    Positive Experience
    Average Interview

    Interview

    I received an email from HR and had a phone interview. A phone interview was consist of one technical question which was not very difficult but need some thinking to solve.

    Interview Questions

  7. Helpful (12)  

    Software Engineer Interview

    Anonymous Employee
    No Offer
    Negative Experience
    Difficult Interview

    Application

    I applied through a staffing agency – interviewed at Google.

    Interview

    A 3rd party staffer contacted me after a Google coding challenge. After getting to know what I was interested him, he found an open position for me and forwarded me to a Google staffer.

    The Google staffer set me up with a phone technical interview with another one of the employees.

    Interview Questions

    • Return the max k numbers from an unsorted integer array.

      Each number in the array is in the range [0, 10000).
       
      6 Answers
  8.  

    Software Engineer Interview

    Anonymous Employee
    No Offer
    Neutral Experience
    Difficult Interview

    Interview

    the process took me two months. First phone interview and then onsite. Three weeks after that, they called and said that I can be accepted to some other program. So I applied, but still get rejected. I was pretty sad about that.

    Interview Questions

  9. Helpful (1)  

    Software Engineer Interview

    Anonymous Employee
    No Offer
    Positive Experience
    Difficult Interview

    Application

    I applied through an employee referral. The process took a weekinterviewed at Google.

    Interview

    The recruiter is amazing, he helped me knowing the process clearly and move on the feedback positively. I just got a phone interview, first I had to introduce myself and one of my project. Then I was asked to code a difficult (for me) and took a lot of time to think of the question, of course, no on-site interview.

    Interview Questions

    • find and output the given number's shortest square sum.
      like input: 12=2^2+2^2+2^2 (not 3^2+1^2+1^2+1^2) output: {2 2 2}
       
      1 Answer
  10.  

    Software Engineer Interview

    Anonymous Employee in San Francisco, CA
    No Offer
    Positive Experience
    Average Interview

    Application

    I applied online – interviewed at Google (San Francisco, CA).

    Interview

    Had a phone interview, then flew in to their HQ. Friendly recruiters, the in-person interview was an intense battery of interviews with a range of personalities. Some were clearly sleep deprived and not paying much attention to the interview at all, others were very engaged and friendly. Overall I thought it was an enjoyable experience, and did not have trouble engaging with any of the problems offered during the interview process after looking through the helpful documentation that Google provides pre-interview.

    Interview Questions

    • Q: You are given a playlist of songs, can you create a system that lets you shuffle the songs (as in, no repeats and a constant random order every loop through the playlist), with options to go back and also to repeat the current song? Followup: How can you optimize for space?   Answer Question

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.