Google Software Engineer Interview Questions | Glassdoor

Google Software Engineer Interview Questions

Updated Jun 21, 2018
2,786 Interview Reviews

Experience

Experience
60%
26%
14%

Getting an Interview

Getting an Interview
34%
30%
21%
12
2
1
0

Difficulty

3.4
Average

Difficulty

Hard
Average
Easy

2,786 Candidate Interview ReviewsBack to all Interviews

Filter

Sort: PopularDateDifficulty

Filter

Sort: PopularDateDifficulty

Helpful (1904)  

Software Engineer Interview

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

Application

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

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

    Software Engineer Interview

    Anonymous Employee
    Accepted Offer
    Positive Experience
    Difficult Interview

    Application

    I applied online. I 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 (587)  

    Software Engineer Interview

    Anonymous Interview Candidate in Mountain View, CA
    No Offer
    Positive Experience
    Average Interview

    Application

    I applied through an employee referral. The process took 4+ weeks. I interviewed at Google (Mountain View, CA) in July 2015.

    Interview

    The interview went seemingly smoothly, except for a couple quirks in the code on the whiteboard. The questions were way easier than I expected. The interviewers were not intimidating at all and did not try to make the process stressful. I felt like I passed and according to HR, the overall feedback was positive. My application went to the hiring committee which, in turn, rejected the offer.

  3.  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Neutral Experience
    Average Interview

    Interview

    The interview process takes course over a few a weeks. Coding Sample, Two coding sessions on google docs, matching. I have no idea what else to say but good luck

    Interview Questions

    • What programmings languages you know and your familiarity with them   Answer Question

  4. Helpful (1)  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Positive Experience
    Difficult Interview

    Interview

    The interview process was very smooth but difficult. The interview itself was hard because of the interviewers thick accent. The recruiter was super friendly and accommodating I felt like they wanted to hire me.

    Interview Questions


  5. Helpful (3)  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Negative Experience
    Easy Interview

    Application

    I applied through an employee referral. I interviewed at Google.

    Interview

    I interviewed May 2018.

    The interview process was reasonably straight forward - two phone screens that asked purely technical questions. These were not particularly difficult; however explaining your solution and thought process over the phone was somewhat taxing. I am reasonably sure that my first interviewer didn't quite understand what I was thinking, hence the need for the 2nd phone screen. At this point, I was transferred to a different recruiter for my onsite evaluation.

    After passing the 2nd phone screen, I was flown out the Mountain View for an onsite interview. I signed up for the interview prep session, held every Friday. The recruiter informed me that it would be a mock interview style class, however the presented repeated lots of information given to me from the recruiter, or what you could find online. There was one technical problem given to us, then students volunteered and told the class their solution - this was no reflection of coding on the whiteboard interview style. Honestly, this was probably a waste of time.

    The onsite interview was 5 rounds plus lunch. Each round was exactly the same, 2-3 technical questions with a solution that could be coded on the whiteboard. I didn't find any of the questions particularly challenging, they were probably leetcode medium level questions and definitely shorter than most coding questions online. Some of the interviewers were easy to work with - it seemed like there was a correlation between how long they were at the company and how smooth the interview went. One guy was clearly sick and would awkwardly laugh throughout the interview. He left without any salutation and didn't ask any personal questions. Another interviewer had less than two years experience, he had two questions prepared one of which was already asked during my phone screen... (hmmm nice planning google) I told him that and he was clearly thrown off. The last interviewer was unfamiliar with my requested coding language (python) and didn't understand lots of the built in methods that were being used.

    The recruiter called me back a couple days later and told me my interview was "borderline" and we would not proceed in the hiring process. She mentioned that I was not receptive of the feedback during the interviews; however I got all the technical questions correct. When I requested more interviews, she checked with someone and replied that they wouldn't help my application. My best guess is she was lying through her teeth - if my interview was truly "borderline". Also, the recruiter would never send me this information in writing in an email, she would send an email and ask to call me. This was both inconvenient and sketchy, its almost as if they didn't want to have a paper trail. I'm not certain, but there may have been some kind of hidden agenda. If they didn't like how I behaved, why would they encourage me to apply again? When I asked if I could leave my feedback on the interview process, my recruiter told me that I would be able to fill out a survey that would be sent to me in an email. Its been a month and I still haven't received this email.

    Overall, I was dissatisfied with the process. Although there was excellent communication, I think there could have been a bit more transparency and planning on their end. I get it, Google is big and HR is huge and is going through growing pains, but I was sketched out by some of their shady tactics and poor planning. If google was really looking for top candidates, they could spend a little more time evaluating candidates instead of telling them to simply 'reapply in 6-12 months'. Unfortunately, the flipside of this is that its tiring for candidates to prepare and complete the interviewing process. If you interview 3-4 times and still don't get the job, you probably aren't cut out for Google, but I've heard of multiple instances where very qualified candidates need to interview multiple times before getting an offer. The process produces waste and false negatives, but seems to work for them.

    Also, if you are driving to the Mountain View campus, be wary of parking. I spent upwards of 30 minutes after getting off 237 to find parking. This is really bad traffic at the freeway exit and the roads near google. I ended up parking down the street at Microsoft and running to make my 10am interview. Interviewer beware!!

    Interview Questions

    • The questions were straight forward with minimal to no tricks. Practice makes perfect, understand DS and algorithms. Then practice until you start visiting different websites and seeing the same problems. Cracking the code + appendix covers most everything, then its up to you to apply those techniques in real problems. Most of my problems were with tries, practicing with tries really helped complete all the problems. Same formula over and over, get problem, match relevant data structure(s), then create one or more loops to populate the data structure(s). Possibly, do some sort of analysis at the end to product the final answer.

      At the same time, find a language that you are comfortable with and master it, know all the built in functions. If you are at the point where you don't need to look up built in functions, then you are ready.   Answer Question

  6.  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Positive Experience
    Difficult Interview

    Application

    I applied through college or university. I interviewed at Google.

    Interview

    On campus and onsite interviews. Software engineers interviewed me for all of those. The HR person was responsive and helpful and had a great experience at the interview as well.

    Interview Questions

    • Lots of technical questions including dynamic programming   Answer Question

  7.  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Positive Experience
    Average Interview

    Application

    I applied through college or university. I interviewed at Google.

    Interview

    the first phone then on site, onsite location is in Santa Monica LA. not prepare so well so finally failed. The whole process is not so hard , I wait about 7 days then the hr tell me in email that i am failed

    Interview Questions

    • 1.first question is the calculator
      2.longest substring without repeating characters
      3.design a voter system
      4.coin change   Answer Question
  8.  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Neutral Experience
    Average Interview

    Application

    I applied in-person. The process took 4+ weeks. I interviewed at Google in June 2018.

    Interview

    1. Contacted by HR, got direct onsite since I interviewed with them before.
    2. Onsite: medium to hard leetcode problems. I could solve first three without much trouble. I struggled a bit in 4th and 5th and suspect they were deal breaker

    Interview Questions

    • 1. Partition a DNA sequence e.g.AATTGGCC sequence with respect to a substring (e.g. TT)
      2. Wordladder
      3. Fnding whether two persons are related in a family tree. Each person has two parents and they are related if one of their parents to related to one of the parents of other person
      4. Augmented binary tree to find kth largest node   Answer Question

  9. Helpful (2)  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Neutral Experience
    Difficult Interview

    Application

    I applied online. I interviewed at Google.

    Interview

    Coding challenge, phone interview, on site interview. The coding challenge was pretty difficult. Definitely need to review algorithms and practice Hackerrank problems. Didn't get to the phone interview. There were two questions total.

    Interview Questions


Don't Miss Out On a Job You Love
Upload a resume to easily apply to jobs from anywhere. It's simple to set up.