Google

www.google.com
Employer Engaged

Google Software Engineer Interview Questions

Updated Mar 2, 2015
Updated Mar 2, 2015
1,203 Interview Reviews

Interview Experience

Interview Experience

52%
31%
16%

Getting an Interview

Getting an Interview

48%
25%
12%

Interview Difficulty

3.5
Average

Interview Difficulty

Hard

Average

Easy

1,203 Candidate Interview Reviews Back to all Interviews

Sort: Popular Date Difficulty

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

Interview Questions
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. 3 people found this helpful  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied online – interviewed at Google.

    Interview Details

    There are 3 phone calls, each for about 45 min, which are made in the same day. All three phone calls are very technical. One question on system design, one on data structure, and one on algorithm. Google docs is used to write code. The reviewer will ask you write some tests and intentionally leave sth unspecified.

    Interview Questions
    • Implement a data structure to support dynamic insertion, deletion of intervals. Overlapping intervals should be merged.   Answer Question
    No Offer
    Positive Experience
    Average Interview
  2. 8 people found this helpful  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through a recruiter. The process took a weekinterviewed at Google.

    Interview Details

    I only had two phone interviews. First one was fairly easy: What is the time complexity of quick sort? Inserting into a binary tree? The second one was a coding problem.

    Interview Questions
    • You are given an n by n array filled with '0's, and you have to set randomly X number of '1's in that array. Looping and generating x random number doesn't work as you might get the same random number (especially as X gets closer to n*n, collisions will become more likely in which case you'll loop for a very long time before filling all the '1's). All positions must have the same probability to get selected, and the array might be huge.   View Answers (11)
    No Offer
    Positive Experience
    Difficult Interview
  3. 4 people found this helpful  

    Software Engineer Interview

    Anonymous Employee in Mountain View, CA
    Anonymous Employee in Mountain View, CA
    Application Details

    I applied through a recruiter – interviewed at Google.

    Interview Details

    Two round phone interview, the second one is kind of wired, I cannot hear the engineer clearly and he had heavy accent. Also he called very late, much later than the scheduling time. The two questions were not about data structure or algorithms. If you know the answer, you get it, if not, you are screwed (basically means there is no progress to the solution). I spend 30 minutes understand the first question, I told him to clarify again and again but he just told me that is all you have. I didn't know what should I do or what should I write. So after 30 minutes we skipped the first question. Overall the interviewer is not very good at English and remain silent most of time during interview, not so helpful.

    Interview Questions
    • Implement a function using two existing functions, but in the end I still didn't know what I know about these functions and what should I add. Second one is more like brain teaser. Questions were not about any hard algorithms or data structures, so I ranked easy; they are just tricky. I personally think the questions are not suitable for a software engineer position.   View Answer
    No Offer
    Negative Experience
    Easy Interview
  4. Is this helpful? The community relies on everyone sharing – Add Anonymous Interview Review


  5.  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied online – interviewed at Google.

    Interview Details

    Applied online and received an email about setting up two technical interviews which were back to back. Scheduled the interviews and received questions about data structures and algorithms in my chosen language. Heard back a week or so later they were not moving forward.

    Interview Questions
    • Questions about data structures and algorithms in my preferred language.   Answer Question
    No Offer
    Neutral Experience
    Average Interview
  6.  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through other source – interviewed at Google.

    Interview Details

    We talked on the phone and we mostly talked about coding which I wasn't all to good with but I told them that I would brush up on it and work at the best of my ability

    Interview Questions
    No Offer
    Positive Experience
    Difficult Interview
  7. 6 people found this helpful  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through a recruiter. The process took 2 weeksinterviewed at Google in February 2015.

    Interview Details

    The recruiter contacted me via email. We set the time and data for a technical phone interview up in the email. The recruiter also sent a list of websites and great resources to let you know what to review and to expect. During the interview, he directly moved to the technical part. The technical problem took about 45 minutes, and at the end there is the Q&A where the interviewer answers any question you might have about the company in general.

    Interview Questions
    • Four Questions Asked:
      1. To find a longest palindrome in a string.
      2. What is a HashSet ? Difference between HashSet and TreeSet.
      3. Given a list List<x> and a function f: x -> y, convert the list to map i.e. Map<x, y>
      4. What happens in the background (whole procedure) when you type a URL till the page is displayed ?
       
      View Answer
    No Offer
    Positive Experience
    Average Interview
  8.  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through a recruiter – interviewed at Google.

    Interview Details

    2 phone interviews. Didn't make it past the second. Neither question asked was very difficult. First was about string manipulation, second involved fib sequence. Both interviewers were helpful and I thought I did well, but not as well as some of my peers evidently. Make sure to analyze runtime and run through test cases.

    Interview Questions
    • Signed a NDA, so I can't discuss, but first phone interview was on string manipulation and the second involved the fibonacci sequence.   Answer Question
    No Offer
    Positive Experience
    Average Interview
  9. 1 person found this helpful  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied online. The process took 2+ monthsinterviewed at Google.

    Interview Details

    2 Hangout interviews. First, DS question (sliding window) and second, couple of Java and OO questions. Interviewers were very helpful and caring. They also asked about the projects I did in the past. Overall, very positive experience!

    Interview Questions
    Declined Offer
    Positive Experience
    Average Interview
  10.  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through a recruiter. The process took a dayinterviewed at Google.

    Interview Details

    I prepared by reading many parts of Skienna’s algorithm design manual, and watching MIT algorithm lectures. I was already good at algorithms considering my previous class performances so I was just brushing up my knowledge. I spent particular attention to Graph theory following the advice of steve-yegge Blog post on the same topic. Solved as many algorithm problems as I could (I would say I spent a total of 30 hours preparing before my interview over one month), especially graphs because I figured graphs were important at google and if I could dazzle them with my ability to do graph problems then I was in.

    The day started gray to begin with and went downhill from there. The recruiter got there 15 minutes later than our meeting time and meanwhile I went from being mildly nervous to almost hysteric. When we met the first interviewer who was visibly annoyed because of the delay (or maybe that was just my perception), the recruiter blamed me for being late. That’s right. I was so shocked, it took me some seconds to actually figure out he really was saying this and after that I didn’t know what to do to make it right (pathetic, I know).

    I had five interviews back to back and one additional lunch interview in between. During my first interview it was as if I had a block in place of my brain, I must have asked the poor engineer 10 times to explain the question to me. It was as if he was talking gibberish. I could not focus, I was too nervous and pissed off at the recruiter. Needless to say, I could not write even one single line of code, mainly I stared at the whiteboard. I still don’t remember what the question was actually. I was so embarrassed.

    No algorithm question was ever asked. Yes, you heard it right. Not even something involving binary tree or search; nothing. There was one design question and three coding question.

    In short, there were things that were under my control. I didn’t do any whiteboard coding (big mistake) and didn’t have time for mock up interviews (another big mistakes). Given all that happened at the beginning to unhinged me (I am skipping something else that happened on the morning of the interview), had I practiced solving questions on the whiteboard and had I done mock up interviews I should have been able to handle it beautifully. The engineers who did the interviews, were all so nice and smart. The recruiters, oh well.

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