Google

  www.google.com
  www.google.com

Google Software Engineer Interview Questions

Updated Nov 26, 2014
Updated Nov 26, 2014
1,032 Interview Reviews

Interview Experience

Interview Experience

49%
32%
17%

Getting an Interview

Getting an Interview

31%
31%
16%

Interview Difficulty

3.5
Average

Interview Difficulty

Hard

Average

Easy

1,032 Candidate Interview Reviews Back to all interviews

Sort: Popular Date Difficulty

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

    Software Engineer Interview

    Anonymous Interview Candidate in New York, NY
    Anonymous Interview Candidate in New York, NY
    Application Details

    I applied online. The process took 4 weeksinterviewed at Google in August 2014.

    Interview Details

    My interview and hiring process was extremely tiring but satisfactory. I dropped out of college and cancelled my plans to study in an university because I wasn't learning anything there. I studied and mastered computer science alone at home within 2 months. Although I am just 19, I decided to apply for Google and I wouldn't care if I got rejected really. I applied online and quite suprisingly; they replied back the next day to set-up an phone interview. They asked a few question and then told me "Alright, we'll call you again next week." And when they did that the next week, they invited me for an on-site interview. I met some interesting people there, and most of them were amazed due to the fact that I dropped out of college but had the abilities and in-depth knowledge of a Harvard-graduate software engineer, also because I am just 19. Some guy named Paul came to me and asked me a brain-teasing question about algorithms and I gave him back a cheesy, but informative answer and he told me "You're probably going to get accepted."

    During the on-site interview, they asked me long questions and gave me difficult tests/tasks on:
    1. Recursions
    2. Dynamic Programming
    3. Graphs
    4. Data Structures
    5. Problem-solving query test
    6. Array and Tree
    7. Computer architecture (binary search, low level enhancement...etc)

    They gave me some stuff related to graphs and recursion to build over, it was mind-boggling like hell. But that doesn't mean I didn't enjoy it. I like challenges, and Google managed to give me those....a LOT of those.

    The interviewer's name was Caleb, and he said that I fulfill the criteria of a Google software engineer, and thus; they hired me immediately. Caleb was a fun person, I enjoyed being interviewed by him. He also said that I am the YOUNGEST software engineer in the history of Google, I felt really proud at that time. He gave me lots of compliments after the interview like "You're an exceptional person" - Google interviewers are extremely nice and respectful, you don't need to be nervous around them.

    Interview Questions
    • You dropped out of college, and you're just 19. Do you think you can handle Google at this age?   View Answers (9)
    Negotiation Details
    Tiring but satisfactory. I negotiated a $190,000 per-year salary and an $5k starter bonus.
    Accepted Offer
    Positive Experience
    Difficult Interview
  2. 2 people found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied through an employee referral. The process took 2+ monthsinterviewed at Google.

    Interview Details

    I was contacted due to an open-source software I created in a very specific area. After two phone interviews that were closely related to topics close to my software I was invited to an on-site interview. The questions I got there were mostly general algorithmic questions, i.e. to write functions for a given task, such as "What is a deadlock. Give a code example that might cause one" and also about modifications and filtering of raw buffer data using bit operators.

    Most of it was out of my comfort zone as my expertise and the prospective job is in a very different areas so I had to improvise a lot, especially for the deadlocks and buffer data questions. There was surprising little questions concerning the area of why I thought I was invited.

    One of the questions I totally got lost and were not able to read that the interviewer tried to tell me to take a different approach. Also I did not take the chance after the interview to ask for the actual solution which might have spun a fruitful reflection about my admittedly silly attempts.

    I haven't yet gotten an answer for now I'll set it to "No offer" as that reflects what my gut feeling tells me.

    Interview Questions
    • A square matrix of size n^2 and random entries from 0 ... n^2, find the longest sequence of consecutive neighbours (i.e. top, left, bottom, right entries).   View Answer
    • Find the n-th digit of a number which is constructed by concatenation of all natural numbers.   View Answer
    No Offer
    Average Interview
  3. 1 person found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Interview Details

    Applied online. Two phone interviews and onsite interview. Phone interviews jumped directly to the coding problems but not very hard. Just basic algorithms. Four rounds onsite interview, not very hard. The atmosphere in google in really good.

    Interview Questions
    No Offer
    Positive Experience
    Average 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 online – interviewed at Google.

    Interview Details

    Telephone interview: It was little weird - the first question had to do with topological sorting, which I was able to solve and code. The second question was about max length pairs of words in a dictionary, which I was able to answer too. The problem - the interviewer didn't understand what I was talking! He made me explain things again and again, even though I had written them down on the shared doc. He was satisfied with my answer at last, the same answer that I was telling him from the beginning, and asked me to code it. He also mentioned at the end of the interview that I will be getting a call for the next interview soon. However, they called in a couple of days to tell me that they won't be moving forward with the process.

    Interview Questions
    • Nothing very difficult, though the graph question was good.   Answer Question
    No Offer
    Negative Experience
    Average Interview
  6.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Interview Details

    Write a Java function, printTree(), which prints a given tree with hierarchy. The argument of printTree is a stream of pairs of string values. Each string found anywhere in the input represents a unique node.
    Each item in the stream is a pair indicating a parent/child relationship in the tree. The first element in the pair is the parent. The second element in the pair is the child.Each parent can have many children. A generic class pair<T,U> is required to implement

    Interview Questions
    • I never thought generics implementation will be asked and I haven't done that for a while, which took me about 10 min to do the generics implementation   Answer Question
    No Offer
    Average Interview
  7.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Interview Details

    A recruiter contacted me through Linkedin, and process took about 2 weeks. First talked with a recruiter, and then had a technical phone interview with one of Google's software engineer. Interviewer was very proud about working at Google, and when he asked me for any questions I have, he wanted get a question about Google.

    Interview Questions
    • It wasn't a difficult question. Just one of the questions from cracking the coding interview book   Answer Question
    No Offer
  8.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Interview Details

    applied online, contacted by recruiter. The onsite consisted of 4 rounds of technical interviews and lunch. The interviewers were friendly and helpful. The hiring process is efficient. Had to write code on whiteboard and code needed to be working code.

    Interview Questions
    Accepted Offer
  9. 3 people found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Interview Details

    1 HR interview, introducing basic interview process. Just need to answer some simple questions about your resume. After that, they will give you an email describing all the things you need to master before the tech interview. Including the site, type of questions, and so on.
    2 Tech interview. Solve an algorithm problem.
    1) Traverse a binary search tree. Find the sum of this tree.
    2) Return all the subset of size k whose sum will be n

    Be sure to use topcoder, it's a wonderful site with great tutorial. And, even better, it gives you practice room which you can test your code to see your code's performance.
    However, my suggestion is that you start with google doc, because that's how you will really use in an interview. Only after you have finished coding in your google doc, you copy and paste your answer into your topcoder practice room system, and use that to test your answer. You should also do this within the time limit, which is not 45 minutes, because the real interview will leave some time for you to ask questions and some chat at the beginning.

    So it would be appropriate if you could solve the problem within 30 minutes, the problem will not be too hard, but it definitely needs strong preparation.

    Interview Questions
    • second question because that's require a lot of performance consideration.   Answer Question
    No Offer
  10.  

    Software Engineering Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied through an employee referral. The process took 4+ weeksinterviewed at Google.

    Interview Details

    I got recommended by a Google employee. The recruiter came to me in a week and went me through the interview process. He asked me to pick 4/5 2-hour period on workdays to get two phone screen, each 45 mins. They have a google doc for each interviewer to write code on.
    On the day of my interview, the first interviewer didn't contact me. So I shoot an email to the recruiter. He called me in 30 mins to update the information. The interviewer was late or something so his interview will be after my originally second one. At that time, I got the call from one interviewer. The question he asked is basically how to find the point closest to given points on a grided plane. I didn't do well and the phone was not clear. The second one was nice. Question was about binary tree and palindrome. Easy stuff. Got rejected in two weeks.

    Interview Questions
    • How to locate the point with the minimal distance to all the given points. Which should be done by a connected graph as all the points on the grid can only move up and down. I tried to answer the question but the interviewer kept asking me is this the global minimum. I don't know!!!   View Answers (3)
    No Offer
    Neutral Experience
    Difficult 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.