Google

www.google.com

Google Software Engineer Interview Questions

Updated Jan 29, 2015
Updated Jan 29, 2015
1,122 Interview Reviews

Interview Experience

Interview Experience

51%
31%
17%

Getting an Interview

Getting an Interview

47%
24%
13%

Interview Difficulty

3.5
Average

Interview Difficulty

Hard

Average

Easy

1,122 Candidate Interview Reviews Back to all interviews

Sort: Popular Date Difficulty

320 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."

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. 6 people found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

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

    Interview Details

    The interview itself went pretty well, all of the interviewers were extremely nice and police, although no one came across as super amped or stoked about Google.

    I think about two weeks had passed before someone called me to tell me that I did really well and that an offer was coming.

    From there, it went really downhill from my perspective. It's 6 months later, and I'm still waiting for that offer. I took about 2 months to slot me for a team that they thought would be a good fit, and since then I get a call on average every 2 weeks that goes something like:

    "We're really sorry this process is taking so long, we'll have an offer out to you at the latest by Friday."

    I lost count of how many times I've gotten a call like that. It's been "any day" for months on end, which makes my current job mostly kind of awkward from my perspective.

    Interview Questions
    • Most difficult question was a recursive pathing algorithm.   Answer Question
    No Offer
    Negative Experience
    Average Interview
  2.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    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.   Answer Question
    No Offer
    Positive Experience
    Difficult Interview
  3.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied through college or university. The process took 2+ monthsinterviewed at Google.

    Interview Details

    The interview was over the phone, and I was interviewed by three software engineers, 45min each. They all asked coding problems. Only the first interviewer asked about my work, why I wanted to work at Google, what can I do at Google, etc. All three interviewers, at the end, asked me whether if I had a question for them. I coded on Google Doc, which the recruiter sent the link via email. The interview time is on each Google Doc.

    Interview Questions
    • Write a code that returns the deepest node in a binary tree. If the tree is complete, having two same depth of node, return the rightmost node.   Answer Question
    No 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. The process took 3+ monthsinterviewed at Google.

    Interview Details

    One recruiter found me on LinkedIn. And then she ask me to send my resume to her. Here are the procedure of interviews.
    First comes one phone interview.Then after that comes to one on-campus interview. And finally one onsite interview.

    Interview Questions
    • What's your favorite product in Google? Do you have any feedback?   View Answer
    No Offer
    Neutral Experience
    Difficult Interview
  6.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

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

    Interview Details

    Submitted the resume and got email from HR, arrange phone interview. The interview has two part, with each one 45 min. The first part, they went through my resume and asked some coding problems, the second part, directly asked the coding problems.

    Interview Questions
    No Offer
    Average Interview
  7.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied through a recruiter – interviewed at Google.

    Interview Details

    Was contacted by a recruiter about a position at Google. Then had a technical skills phone interview where I wrote out code on my personal computer while the interviewer "watched" remotely. Then was brought onsite for a technical interview comprised of five rounds of ~45 minute interviews. Also included a break for lunch.

    Interview Questions
    • As per the agreement I'm unable to say what the questions were. They can be tough but they really are fair Computer Science questions.   Answer Question
    No Offer
    Positive Experience
  8.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied through college or university. The process took 4 weeksinterviewed at Google.

    Interview Details

    The interviewer is late and do one questions about hashmap via google doc for 30 min. Didn't discuss a lot about my old school project. The question is not tricky at first but he added more requirement as to go.

    Interview Questions
    • The technical question is not difficult, just find repeated elements inside a set. Complexity is asked.   Answer Question
    No Offer
    Neutral Experience
    Average Interview
  9.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Interview Details

    For each intern application, there are 3 rounds of phone interview. I got the phone call from NY office which focuses on distributed system and infrastructure. I expected no design problem, however, I was impeded by a design problem. This is probably unfair for a student without any work experience.

    No Offer
  10.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied through college or university. The process took 2 weeksinterviewed at Google.

    Interview Details

    I was contacted by a university recruiter via email. She asked some information and arranged a phone screen for me. Phone screen was easy, DFS and BFS questions. After that, it's on-site interview, which covered 4 45 minutes 1 to 1 interviews. Questions mainly covers data structure, algorithm and oop design.

    Interview Questions
    No Offer
    Neutral Experience
    Average 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.