Google

www.google.com
Employer Engaged

Google Software Engineer Interview Questions

Updated Feb 25, 2015
Updated Feb 25, 2015
1,189 Interview Reviews

Interview Experience

Interview Experience

52%
31%
16%

Getting an Interview

Getting an Interview

47%
25%
12%

Interview Difficulty

3.5
Average

Interview Difficulty

Hard

Average

Easy

1,189 Candidate Interview Reviews Back to all Interviews

Sort: Popular Date Difficulty

351 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. 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
  2. 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
  3. 3 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. 6 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
  6. 2 people found this helpful  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Interview Details

    I only got as far as the technical phone screen as I coded most of the solution but got stuck at the boundary cases. I was asked about former projects.

    Interview Questions
    • Convert a sorted array of integers to a balanced binary search tree   View Answers (2)
    No Offer
    Negative Experience
  7.  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied online. The process took a weekinterviewed at Google.

    Interview Details

    1. Applied Online
    2. Heard back two days later - got phone interviews
    3. There were three back to back phone interviews 45min/each with 15min breaks
    4. One fairly difficult questions for each interview + brain teaser

    Interview Questions
    • Know your data structures, algos, and inheritance concepts   Answer Question
    No Offer
    Positive Experience
    Difficult Interview
  8.  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Interview Details

    Really technical! After making sure I am the right candidate to talk to, the interviewer started to type the description of an algorithm problem on Google Doc. It was my first phone interview so I was really nervous. Cannot remember much details but I know I didn't answer it well. The result is a rejection phone call.

    Interview Questions
    No Offer
    Neutral Experience
    Difficult Interview
  9.  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through an employee referral – interviewed at Google.

    Interview Details

    Applied online for a month with no reply, so I found a googler for recommendation. Got interviews in two weeks. Three interviews in a day. It's my fiist job interview so I was very nervous and insecure, but the interviewers were all very nice and patient.

    Interview Questions
    • A question about adjacency matrix, a question about permutation, a question about hashmap, a question about dynamic programming.   Answer Question
    No Offer
    Positive Experience
    Difficult Interview
  10.  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through an employee referral – interviewed at Google.

    Interview Details

    It was three rounds back to back of phone interviews. Each one is 45 minutes exactly. Interviewers are very nice. In the last five minutes I got to ask them as question.

    Interview Questions
    • Basic programming questions involving string manipulation, binary search, three traversal.   Answer Question
    No Offer
    Positive Experience

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.