Google

www.google.com
Employer Engaged

Google Software Engineering Interview Questions

Updated Mar 1, 2015
Updated Mar 1, 2015
1,195 Interview Reviews

Interview Experience

Interview Experience

52%
30%
16%

Getting an Interview

Getting an Interview

48%
25%
12%

Interview Difficulty

3.5
Average

Interview Difficulty

Hard

Average

Easy

1,195 Candidate Interview Reviews Back to all Interviews

Sort: Popular Date Difficulty

354 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. 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
  2. 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
  3. 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
  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 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
  6. 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
  7.  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through a recruiter – interviewed at Google.

    Interview Details

    A recruiter contaced me via LinkIn and we had a short talk. I arranged the phone interview on one month later. He asked my most challenging project and what I've learnt from it. Then I was asked to write code and what is the time/space complexity.

    Interview Questions
    • transform(char*, size_t) delete all 'a's from the string   Answer Question
    • follow-up: delete all 'a's from the string and change 'b's t o'bee'   Answer Question
    No Offer
    Positive Experience
    Easy Interview
  8.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied online – interviewed at Google.

    Interview Details

    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.

    Accepted Offer
    Positive Experience
    Difficult Interview
  9.  

    Software Engineer Interview

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

    I applied through an employee referral. The process took 3+ monthsinterviewed at Google.

    Interview Details

    It was a long process. here is the timeline
    (day 0) submitted resume through employee
    (day 20) heard back and scheduled phone interview
    (day 35) phone interview
    (day 55) heard back and tried to schedule on-site interview
    (day 85) on site interview
    (day 115) got rejection

    leetcode website helped me a lot for preparation. on site interview had 5 interviewers. 4 of them were nice and kind but 1 of them was not. He doesn't say a good thing about any solution that is best or part or best. After learning about my thesis he said the problem is easy.

    Interview Questions
    • find sum of numbers in the given range on the given binary search tree   View Answer
    No Offer
    Neutral Experience
    Average Interview
  10. 3 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

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.