Google Software Engineer Interview Questions

Updated Oct 13, 2014
Updated Oct 13, 2014
159 Interview Reviews

Interview Experience

Interview Experience

75%
15%
9%

Getting an Interview

Getting an Interview

38%
26%
18%

Interview Difficulty

3.7
Average

Interview Difficulty

Hard

Average

Easy

159 Candidate Interview Reviews Back to all interviews

Sort: Popular Date Difficulty

181 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. 64 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 (6)
    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. 5 people found this helpful  

    Software Engineering Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

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

    Interview Details

    Met Google at campus career fair. Signed up for interview.

    Had two on-campus interviews - one on algorithms, one on data structures. Both interviews were about 45 minutes long and pretty much launched right into the problem. There wasn't much small talk beforehand. I did the coding on a sheet of paper.

    After that, had a phone interview which was more informal - just a discussion of my technical background and projects.

    Interview Questions
    • Problem 1: Effectively boiled down to: "Find the ith largest integer in an array of integers". The solution was order statistics (http://en.wikipedia.org/wiki/Selection_algorithm)

      Problem 2: Given a simple cellular automaton. Asked to design a data structure to represent it using the least amount of memory I could. Then asked to implement an algorithm to make the automaton take a step (following a set of rules) and make it as efficient as possible.
        Answer Question
    Negotiation Details
    No negotiation
    Accepted Offer
  3.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Interview Details

    Interview process is fairly normal, but recruiters can be fairly slow with responding. The host-matching process can take an excruciating amount of time, so be aware of that. Most recruiters are decent in their speed at replying emails, but there were some windows of time that took a bit too long.

    Accepted Offer
  4. Is this helpful? The community relies on everyone sharing – Add Anonymous Interview Review
  5. 2 people found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied online. The process took 4+ weeksinterviewed at Google.

    Interview Details

    Applied online without referral. Recruiter reached out to me. I filled a questionnaire to indicate my interests. Got two phone interviews. They were not very hard. After the phone interviews, you learn in a few days if you have passed. Then, you are in a pool and wait for someone to be interested in you. If you know people at the company, definitely let them know so that they can inform their friends that you are looking for an intern host. If someone is interested, a host interview is set-up. This is usually non-technical and only to see if you are interested in the project. If no one comes up after some time, they defer your application to next internship season. Next time, you directly enter the pool without any additional interviews.

    Recruiter is also a key person. Sometimes, they look out for you, sometimes they don't care.

    Interview Questions
    • Nothing unexpected. Typical questions that you can find in "Cracking the coding interview" or "Programming interviews exposed".   Answer Question
    Accepted Offer
    Positive Experience
    Average Interview
  6.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

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

    Interview Details

    Referred by an employee in MTV. HR called me soon, and scheduled two 45-miniute online interviews for me. The HR was very nice, for I was in Beijing and applied for an internship in MTV that time, in order to help me perform well in the interview, she scheduled the engineers from Canada to interview me, that helped me a lot, because the time zone of Canada office was better for me to take the interview on form.
    The interviews went well, and the interviewers were nice and patient. The coding problems they asked were mainly about algorithm and data structure, and some of my project experiences were asked in detail two.
    I think the most challenging thing in the interviews was that I should describe my thought in English to the interviewers, it is very important to have a good communication with interviewers.

    Interview Questions
    • There were no questions particularly difficult, but what I did not expect was that the second interviewer asked me a problem of segment tree.   Answer Question
    Reasons for Declining

    I was matched to a test post, but I did not like it.

    Declined Offer
    Average Interview
  7. 5 people found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Interview Details

    Couple of emails exchanged with the HR, followed by the phone interview with a software engineer. Did not make it through the first round, should have prepared better. The wiggle problem, given an array of integers arrange them such that alternate elements are large and small.(2,5,3,6,...)

    Interview Questions
    • The wiggle problem, given an array of integers arrange them such that alternate elements are large and small.(2,5,3,6,...)   View Answers (4)
    Accepted Offer
    Average Interview
  8. 3 people found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied through college or university – interviewed at Google in August 2014.

    Interview Details

    Recruiter was very helpful, but the whole process can take a few weeks. Usually 4-5 technical interviews about algorithms and data structures. Each one gave a problem with a specific question but it develops several concepts. Be sure to think outloud and start from something simpler if you are stuck. Pretend the interviewer is your colleague. Spend some time beforehand practicing code on a site like hackerrank.com so that you are comfortable writing code on command.

    Interview Questions
    • One of the reviewers was a bit cocky. Stay calm in situations like that, ignore whatever is bothering you, and just address the question at hand.   Answer Question
    Accepted Offer
    Neutral Experience
    Difficult Interview
  9. 1 person found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Interview Details

    Interview was easy. Technical questions are no harder than the average company, but they really talk up their interview process to the candidates before the interview. Sent an email with "tips" that was longer than 1000 words

    Declined Offer
  10.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied through a recruiter – interviewed at Google in July 2014.

    Interview Details

    Had a initial phone screen which consisted of coding interview session on google doc and one object oriented system design question.
    Onsite interview consisted of 5 interviews. All consisted of coding questions and design questions.
    I also had interview with hiring manager later something like host matching phase which happens for internship.

    Interview Questions
    • Nothing unexpected. Questions tested programming skills and overall thinking process.   Answer Question
    Accepted Offer
    Positive 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.