Google Software Engineering Interview Questions

Updated Sep 2, 2015
1,445 Interview Reviews

Interview Experience

Interview Experience

54%
29%
15%

Getting an Interview

Getting an Interview

45%
35%
12%
6
1
0
0

Interview Difficulty

3.5
Average

Interview Difficulty

Hard

Average

Easy

1,445 Candidate Interview Reviews Back to all Interviews

Sort: Popular Date Difficulty

Helpful (586)  

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

Interview Questions

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

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

    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. Helpful (18)  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Neutral Experience
    Average Interview

    Application

    I applied through a recruiter. The process took 2 weeks. I interviewed at Google.

    Interview

    I was contacted by a recruiter who set up a technical phone interview for me. The interview question was average in difficulty, I didn't cover a corner case and when I asked the interviewer to add code to cover a specific corner case, he said I was out of time. I didn't get to move on to a second interview. I feel my answer was good enough for screening purpose (you'd assume first phone interview is the screening interview). Anyway, I would say as humans, talking over the phone while coding, we might not be in the best state to cover all the cases especially if it's just the screening call.

  4. Is this helpful? The community relies on everyone sharing – Add Anonymous Interview Review


  5. Helpful (1)  

    Software Engineer Interview

    Anonymous Interview Candidate in Mountain View, CA
    Declined Offer
    Positive Experience

    Application

    The process took 2 weeks. I interviewed at Google (Mountain View, CA).

    Interview

    A Google recruiter emailed me out of the blue. After three times of declining (1 month) since I wasn't that interested, I was contacted again so I thought "heck, sure, I'll take an interview". One week later the flew me to Mountain View for the on site. (Gotta admit Google is very generous about the whole travel arrangements! Free hotels, flights, meals, car rentals, etc) The whole experience was very pleasant for the most part. Got the offer 1 week later. The entire process, from initial phone screen to when the offer was made, took two weeks. One thing I'd like to call out and hopefully someone from Google recruiting/interviewing committee would take note is that they perhaps could do a better job at training their interviewers, not just from a technical standpoint but also from other nom-technical ones, especially on "normal" common sense and human interactions. I know we here are all nerds and as such could be a little awkward, which I totally understand. But one particular interviewer made me extremely uncomfortable during the interview since he kept staring at me like there had been something weird on my face and made excessively long eyes contact. I had to look away multiple times. Even when I was explaining my solution which is ON THE WHITE BOARD, he still stared at my face. The person's questions were good and had indept follow-up. So while I'd say he is a good technical interviewer, I still couldn't get over the awkwardness. This is no doubt thr weirdest interview I've ever had. Another minor thing I forgot to mention is that Google make you stay with your host at ALL TIMES. Even when you need to go to the bathroom which could be right next door, the host would follow you and stand at the door waiting for you, which is a bit awkward when you're a woman and your host is not.

    Interview Questions

    • Signed NDA so no details here. But I can tell you if you review fundamental CS concepts(sorting,graphs, trees,etc) you should be fine. Just make sure you really understand what you are doing. I don't think they would ask you crazy questions on obscure data structures. Just basics problem solving skills. Also try to be original and honest when it comes to nom-technical questions, such as "why Google?". Don't try to be unique and make up some weird reason. Just tell the truth.   Answer Question

    Reasons for Declining

    Wasn't sure I want to make a switch yet still love my current job

  6. Helpful (15)  

    Software Engineer Interview

    Anonymous Employee in New York, NY
    Accepted Offer
    Positive Experience
    Difficult Interview

    Application

    I applied online. The process took 1+ week. I interviewed at Google (New York, NY).

    Interview

    Applied online and got back from a recruiter within an hour. Had a conversation with the recruiter a week after and he said I can go straight to the onsite for interviews. I was interviewing many other places parallel so I scheduled the onsite two weeks after the day I spoke with the recruiter but they don't seem to care how quickly you take the onsite so choose time to give yourself enough time to prepare. There were five onsite interviews with one lunch with a developer (I heard that the lunch is not an interview). I had to write solutions on whiteboard for all of questions so be prepared. I never heard of any of questions they asked but studying leetcode and interview books helped me figure out ways to solve algorithm questions. All of the interviewers were nice and the interview felt like I'm solving a real work problem with a coworker. Think about time complexity and efficiency at all time when you come up with a solution. It took less than 2 weeks to get an offer. Think this can be different for different people.

    Interview Questions

  7. Helpful (2)  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Positive Experience
    Difficult Interview

    Application

    I applied online. The process took 1 day. I interviewed at Google.

    Interview

    Applied online and was notified two days later that in the coming weeks I will have an in person interview while Google will be on my university campus. Two separate 50 minute interviews with two different engineers. Asked typical interview questions, one which caught me off guard.

    Interview Questions

    • Write a function to add a set {x, y} to a set of disjoint sets in a certain pattern.   Answer Question
  8.  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Positive Experience
    Difficult Interview

    Application

    I applied through a recruiter. The process took 4 weeks. I interviewed at Google.

    Interview

    Ran into the foobar program while searching for a programming related term. After passing several levels, was asked if I'd like a recruiter to contact me. Recruiter followed up and asked for resume. Some time later, was invited for an on-site interview. On-site interview was very well structured a consisted of several coding tests conducted by separate Google employees.

    Interview Questions

  9. Helpful (1)  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Negative Experience
    Easy Interview

    Application

    I applied online. The process took a week. I interviewed at Google.

    Interview

    The recruiter called me and setup an initial phone interview. The interviewer called me and introduced himself. He was difficult to understand because of his heavy accent. Then he asked me a simple problem and asked me to immediately code it on the online whiteboard. The online whiteboard editor was really horrible and i struggled to type my code in. After I somehow finished typing(all the while not giving me a break to think about the problem but to keep typing and talking), he asked me its performance. Then i suggested the use of a different data structure to get better performance. Basically the interview was horrible and not what you expect from google. On top the problem was an easy one, which needed some time to think before coding(which was not encouraged). Not what you expect from the best company in the world.

    Interview Questions

  10.  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Positive Experience
    Easy Interview

    Application

    I applied online. The process took 2 days. I interviewed at Google in August 2015.

    Interview

    Phone interview. 2 questions, quite simple. Print every tree paths from root to leaf. Just use recursion way to do that. And the second one is to print good number.

    Interview Questions

    • Asked about time and space complexity about tree paths question.   Answer Question
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.

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.