Google

www.google.com
Employer Engaged

Google Software Engineer Interview Questions

Updated Feb 24, 2015
Updated Feb 24, 2015
193 Interview Reviews

Interview Experience

Interview Experience

78%
14%
7%

Getting an Interview

Getting an Interview

42%
27%
15%

Interview Difficulty

3.6
Average

Interview Difficulty

Hard

Average

Easy

193 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. 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
  2. 2 people found this helpful  

    Software Engineering Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

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

    Interview Details

    1st round: 3 technical interviews
    2nd round: a bunch host matching interviews (I'm still on this phase)
    Update:
    So I had some host matching interviews, where basically we discussed my qualification and the projects, almost no technical questions. I liked all of them and I think they liked me too.
    Got matched with the one I like the best.

    Interview Questions
    • NDA, so I can just provide some vague info:
      1st technical interview: I solved 2 problems: binary tree related, look-up table / hash table
      2nd technical interview: I solved 1 problem: graph travel (DFS, BFS)
      3nd technical interview: I solved 1 problem: hash table related
       
      View Answer
    Accepted Offer
    Positive Experience
    Average Interview
  3.  

    Software Engineer Interview

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

    I applied through college or university. The process took 2+ monthsinterviewed at Google in January 2015.

    Interview Details

    3 Technical Phone Interviews, testing basic computer science knowledge.
    Multiple on-site interview with different project groups during project selection.
    Overall, very pleasant but matching with project groups may not be as fluid. Interviews did not seem too difficult - just be very vocal in thought process.
    Very slow getting any responses from HR.

    Interview Questions
    • -Basic data structures
      -Memory and time complexity
      -Unit testing
       
      Answer Question
    Declined Offer
    Neutral Experience
    Difficult 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 Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied online – interviewed at Google.

    Interview Details

    A phone screen followed by a day of technical interviews. I heard back soon after that. Google actually gives you some material to help you prepare for their interviews, so that you can do your best and they can get the most accurate sense of your ability. That's helpful considering that many topics may require a refresher from your undergrad days.

    Interview Questions
    • Nothing was tricky or unexpected. All the questions were straightforward traditional computer science questions.   Answer Question
    Negotiation Details
    Negotiated for a small pay increase and medium equity increase.
    Accepted Offer
    Positive Experience
    Difficult Interview
  6. 6 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 a recruiter. The process took 3 weeksinterviewed at Google.

    Interview Details

    This interview was tough, unlike my Microsoft interviews, I only got through 1 question per interviewer. The exception was one interview where I got through 2. When they say it's all about your thought process and not the answer, they really mean it. During one interview we walked through the process of solving the question together, then the last 5 minutes I programmed the solution. I actually thought it was over but a few days later, the recruiter submitted a package to the hiring committee to hire me.

    I really enjoyed the interview, if you get the chance to interview study graph theory.

    Interview Questions
    Negotiation Details
    They had a compensation board which they gave me the equivalent salary to a SWE II.
    Accepted Offer
    Positive Experience
    Difficult Interview
  7. 7 people found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied through a recruiter. The process took 7+ weeksinterviewed at Google in December 2014.

    Interview Details

    I got contacted by a recruiter through linked in. After a behavioral interview and a phone screen (topic: input sorting - see the interview question below) I was flown out to Kirkland to interview in person.

    The interview process there was pretty typical compared to what you see here - several interviews over the course of a day, each about an hour long along with an hour for lunch, and each covering one or two questions.

    The people were all pretty nice - I enjoyed talking with both my recruiters (the first recruiter, who did recruiting for multiple offices, and the second recruiter, who dealt only with the Washington area) although the salary negotiations were pretty annoying - be prepared to deal with tactics meant to push your salary lower than you would want otherwise (although the offer was pretty damn reasonable to begin with, so I can't complain).

    I'm not sharing any questions from the interview process here, as per the frequently mentioned NDA, suffice to say that you will receive ample information on what you need to prepare ahead of time. See other reviews for what your interview will look like - they're all pretty much on the ball.

    After the interview, you're run past a hiring committee, then submitted to VPs for approval, then salary negotiations, followed by the final offer.

    Interview Questions
    • (from the phone screen) given a set of inputs, sort them such that the proceeding digit alternates higher, then lower than the preceding digit (i.e. 1, 5, 2, 8, 5, 10, 1, 6, 2, 3, 1, 3, 2, 10)   Answer Question
    Negotiation Details
    I was able to negotiate salary & a stock bonus. The overall experience was pretty terrible - I received an only-ok (for Google) offer, and it was pretty arduous to push that number up any higher. Read Programming Interviews Exposed's section before you get to this stage (i.e. after you successfully complete interviews) for some good tips, although the most important tips I've seen are: 1. have a 3 numbers going in; what you'll accept at worst, what you want, and what you're going to present as your goal salary, and 2. make sure you don't consider anything non-negotiable during negotiations (i.e. potential bonuses, promotions, health benefits, peer salaries, etc) unless it's beneficial to you negotiating a higher salary.

    All in all, though, it's a pretty nice offer for the industry and even the region (94th percentile plus 120k-ish in equity over 4 years) so I can't be too mad.
    Accepted Offer
    Positive Experience
    Average Interview
  8. 1 person found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied through an employee referral. The process took 2 weeksinterviewed at Google.

    Interview Details

    I was referred by a friend to be an intern. I had 2 phone screen interviews, where I wrote code on a shared Google doc in real-time while talking to the interviewer, and was told I passed by my recruiter. I then filled out a questionnaire about internship preferences (location/languages/types of projects), and was told by my recruiter that I would be contacted if they found a fit for me. A week later I matched, and had a phone interview with my intern host.

    Google values intern performance very highly, so I worked hard all summer and had great relationships with my host and manager. When I applied to convert to full-time, I had 2 on-site interviews and a lunch informational interview (lunch interviewer does not write feedback). Google hiring committee only meets once a week, so I waited 2 weeks to hear I made it through hiring committee, and an additional week to go through executive committee & compensation to get my offer.

    I was told during orientation that roughly 70% of interns receive conversion (to full-time) offers.

    Interview Questions
    • My other interview questions aren't online, so I won't spoil those...
      But one was:
      Given an 8x8 chessboard, write a function to determine how many moves it would take for a bishop to go from a start location to an end location. Then write a function to determine how spaces it would move.
       
      Answer Question
    Negotiation Details
    I tried to negotiate more stock units, and they told me not unless I had a competing offer.
    Accepted Offer
    Positive Experience
    Difficult 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 in December 2014.

    Interview Details

    I applied to the general new graduate Software Engineer position online via the jobs website. I was asked to take an online coding assessment that was timed to 60 minutes. It was unscheduled, and they requested I complete it within 6 days.

    A recruiter got in touch about 1.5 weeks later to schedule a phone interview. The recruiter asked about my GPA, who I knew at Google (for a reference), and my transcripts. They also asked normal questions about my other interviews or deadlines, visa sponsorship, etc.

    The phone interview was about 35-45 minutes long. The interviewer called me late and did not introduce themselves, they just jumped immediately into the first question. They also asked me to type my thoughts and responses into the provided Google Doc instead of speaking out loud too much, so that they could have a record. The question asked was related to summed area tables for 2d matrices of integers. The interviewer did not seem impressed or friendly and immediately hung up after we discussed the single question.

    The recruiter got back to me one day after the phone interview to let me know that Google wanted me to fly to the Bay Area and interview in person. The travel setup was easy and they paid for flights, hotel, meals, etc.

    The in-person interview was made up of 4 hour-long interviews with a lunch interview in the middle. It took place in Mountain View on the Google main campus. The interviews were mostly one-on-one and I was asked coding questions on the whiteboard, questions about my resume, and questions that required analysis of existing/provided source code. Some of the topics were parallel execution, algorithms / tree data structures, image processing, and C and C++.

    About 2 weeks after the in-person interview my recruiter got back to me again to let me know that the team was ready to make an offer. The offer was good and the position was located in the Bay Area. I negotiated the signing bonus and stock grant upwards by a fairly significant amount using several other offers I had in hand.

    Interview Questions
    • Analyze parallel counting code to determine what possible sequences can be output.   Answer Question
    Reasons for Declining

    I decided that another team/company was a better fit for me. Google's offer was very high and I was able to negotiate using other offers on everything except base salary (signing bonus, stock grants, etc.)

    Declined Offer
    Neutral Experience
    Difficult Interview
  10.  

    Software Engineering Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied through a recruiter. The process took 3+ monthsinterviewed at Google in December 2014.

    Interview Details

    Applied online but did not get a response until I emailed my school's recruiter about an exploding offer.

    Had three back-to-back 45-minute phone interviews in the same day. These three interviews were completely technical in nature. Each interview consisted of one or two algorithmic questions.

    Heard back from recruiter a month later telling me I'd made it to the host matching stage. Had a phone debrief with my recruiter, then had several interviews with potential hosts. Host matching interviews were pretty laid back.

    Interview Questions
    • Given a license plate with four letters, form the shortest word you can that contains the four letters   Answer Question
    Accepted Offer
    Positive 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.