Google Software Engineering Interview Questions

Updated Oct 23, 2014
Updated Oct 23, 2014
965 Interview Reviews

Interview Experience

Interview Experience

48%
33%
17%

Getting an Interview

Getting an Interview

34%
32%
15%

Interview Difficulty

3.5
Average

Interview Difficulty

Hard

Average

Easy

965 Candidate Interview Reviews Back to all interviews

Sort: Popular Date Difficulty

188 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. 67 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. 3 people found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Interview Details

    Phone screen, I applied online for the position and the very next week a recruiter emailed me to set up an interview. An interview was set up 4 or 5 days later.

    Interview Questions
    No Offer
  3.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Interview Details

    A friend inside Google reference me and get an on-site interview shortly after a HR phone screen. The onsite interview is 4 rounds and questions are not difficult. However, the whole process is pretty exhaustive.

    Interview Questions
    No Offer
  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

    The process took 3+ monthsinterviewed at Google.

    Interview Details

    The interview process was handled in a very profesionnal manner throughout. It's great to know that your recruiters will accommodate your schedule (e.g. give you a few weeks to prepare if you need that time) and keep you updated at every stage.

    Although I originally applied for a non-engineering job (given my background), I got contacted by a recruiter who asked if I was willing to apply on the software engineering track with a focus on my niche skills. Since it didn't hurt to try and actually learn about computer science fundamentals, I gave it a shot.

    I was interviewed by 6 people total (1 phone screen + 5 onsite interviews in a single day with lunch in the middle). Over the course of the process, I was in contact with 2 recruiters, one for the phone screen stage, one for the on-site stage.

    Some of the interviewers seemed to be aware of my niche skills and had obviously been selected to interview me based on the match between their skills and mine. Some of the interview questions did reflect that concentration but most didn't and were focused on CS fundamentals, algorithms and data structures.

    Overall, it was fun and challenging.

    Interview Questions
    • The most unexpected question I had to answer had to do with some research I did more than 10 ago as part of my PhD dissertation.   Answer Question
    No Offer
    Positive Experience
  6.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

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

    Interview Details

    Got contacted by a recruiter after submitting a resume on a recruiting fair. Took ~3 weeks. Interviews were scheduled quickly. Recruiter was very helpful and accommodating. While they have a reputation of harder questions, these were not hard, but they make you write code on paper and they type it in a compiler which is slightly unusual.

    Interview Questions
    • The questions were ok, nothing crazy unexpected, but the interviewers were unhelpful and didn't give much feedback   Answer Question
    No Offer
  7.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Interview Details

    Phone interview starts directly with technical questions. The acknowledge it involves is about the array of string, of array of integer. Therefore it is simple for the algorithms part, but tedious for the coding part, many corner case to consider. The interview may give you some hint, buy it is not positive I guess, they really want people who are writing code every day.

    Interview Questions
    No Offer
    Positive Experience
    Easy Interview
  8. 1 person found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

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

    Interview Details

    I was contacted by a recruiter on LinkedIn. She set up an initial phone "interview" with me to find job openings at Google that were suitable for my background. The recruiter was very nice and helpful. She informed me about the interview stages and how to prepare for them. The initial stage was a technical phone interview which would involve coding in Google docs. I gave her my availability and the interview was set up.

    Take as much time as you need to prepare for the technical phone interview. It is best to be prepared than to rush into it. I wasn't well prepared, so I didn't make it to the next stage.

    Interview Questions
    • Agreed to an NDA, so I cannot disclose. But it was a graph related question, very similar to the graph related questions on hiredintech.   Answer Question
    No Offer
    Neutral Experience
    Average Interview
  9.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied through a recruiter – interviewed at Google.

    Interview Details

    Reached by a recruiter. She was nice and provided me with a detail list of prep material. The technical interview did not go well. The interviewer had a strong accent and we didn't understand each other half of the time.
    The first question is easy--find common elements in 2 sets. He asked me about time complexity. I answered correctly but there came the communication barrier. He did not hear me correctly and I wasted a lot of time explaining my thought.
    Then next question is about scalability. What if the sets are very large(10TB)? I did not prepare for that.
    The third question is a brain teaser: if 1000 couples are to give birth to male and female babies(50% change each), and they would keep giving birth until they have a girl, what's the boy to girl ratio in 20 years. I got this one.
    Finally reverse bits of an integer.

    Interview Questions
    No Offer
    Average Interview
  10.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

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

    Interview Details

    It took few weeks,somebody called me for first time and after some general chatting he sent me an email to have technical phone interview.
    Questions were not that hard but the interviewer had very bad accent and breakage in the voice.The call quality were very low and I hardly could understand the questions.
    The interviewer was not helpful.

    Interview Questions
    No Offer
    Negative 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.