Google

  www.google.com
  www.google.com

Google Software Engineer Interview Questions

Updated Dec 14, 2014
Updated Dec 14, 2014
1,047 Interview Reviews

Interview Experience

Interview Experience

50%
32%
17%

Getting an Interview

Getting an Interview

31%
30%
17%

Interview Difficulty

3.5
Average

Interview Difficulty

Hard

Average

Easy

1,047 Candidate Interview Reviews Back to all interviews

Sort: Popular Date Difficulty

265 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. 101 people found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate in New York, NY
    Anonymous Interview Candidate in New York, NY
    Application Details

    I applied online. The process took 4 weeksinterviewed at Google in August 2014.

    Interview Details

    My interview and hiring process was extremely tiring but satisfactory. I dropped out of college and cancelled my plans to study in an university because I wasn't learning anything there. I studied and mastered computer science alone at home within 2 months. Although I am just 19, I decided to apply for Google and I wouldn't care if I got rejected really. I applied online and quite suprisingly; they replied back the next day to set-up an phone interview. They asked a few question and then told me "Alright, we'll call you again next week." And when they did that the next week, they invited me for an on-site interview. I met some interesting people there, and most of them were amazed due to the fact that I dropped out of college but had the abilities and in-depth knowledge of a Harvard-graduate software engineer, also because I am just 19. Some guy named Paul came to me and asked me a brain-teasing question about algorithms and I gave him back a cheesy, but informative answer and he told me "You're probably going to get accepted."

    During the on-site interview, they asked me long questions and gave me difficult tests/tasks on:
    1. Recursions
    2. Dynamic Programming
    3. Graphs
    4. Data Structures
    5. Problem-solving query test
    6. Array and Tree
    7. Computer architecture (binary search, low level enhancement...etc)

    They gave me some stuff related to graphs and recursion to build over, it was mind-boggling like hell. But that doesn't mean I didn't enjoy it. I like challenges, and Google managed to give me those....a LOT of those.

    The interviewer's name was Caleb, and he said that I fulfill the criteria of a Google software engineer, and thus; they hired me immediately. Caleb was a fun person, I enjoyed being interviewed by him. He also said that I am the YOUNGEST software engineer in the history of Google, I felt really proud at that time. He gave me lots of compliments after the interview like "You're an exceptional person" - Google interviewers are extremely nice and respectful, you don't need to be nervous around them.

    Interview Questions
    • You dropped out of college, and you're just 19. Do you think you can handle Google at this age?   View Answers (12)
    Negotiation Details
    Tiring but satisfactory. I negotiated a $190,000 per-year salary and an $5k starter bonus.
    Accepted Offer
    Positive Experience
    Difficult Interview
  2. 1 person 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
  3. 2 people found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied online. The process took 2 weeksinterviewed at Google.

    Interview Details

    I applied online. The process takes 1~2 weeks.
    First phone screen with hr and it was smooth since not any technical questions.
    Second phone technical interview with senior engineer, the questions are basic and simple but I was too nervous so I kept getting stuck. With some hints I finally solved the problem awkwardly but I knew I did bad.
    One week later I got a phone call from hr said they were not going to move forward with my interview.

    No Offer
    Positive Experience
    Easy Interview
  4. Is this helpful? The community relies on everyone sharing – Add Anonymous Interview Review


  5.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied online – interviewed at Google.

    Interview Details

    Very Tedious. Two rounds of phone interview before onsite interview where I heard that it is more than 5 interviews and a special lunch with a person who will not be in your team.

    Interview Questions
    • It was not very difficult, but you definitely need to brush up and study a lot before you attempt the interview. It is hard to crack if you don't have detail fresh on your mind.   Answer Question
    No Offer
  6. 1 person 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. 3 people found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Interview Details

    A recruiter contacted me through Linkedin, and process took about 2 weeks. First talked with a recruiter, and then had a technical phone interview with one of Google's software engineer. Interviewer was very proud about working at Google, and when he asked me for any questions I have, he wanted get a question about Google.

    Interview Questions
    • It wasn't a difficult question. Just one of the questions from cracking the coding interview book   Answer Question
    No Offer
  8.  

    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.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied online. The process took 4 weeksinterviewed at Google.

    Interview Details

    Applied online. My recruiter contacted me few days after. I had 2 phone interview with algorithmic questions. The questions were pretty straightforward and reviewing data structure will help you. They ask you to think about what kind of inputs you would use to test your code.

    No Offer
  10.  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Interview Details

    Recuriter setup phone interviews. An interviewer asked some C programming questions. It was not hard but I didn't give answer which the interviewer expected. Google interviews seem to be very proud as Google employees. After one week, I got email saying unfortunately I didn't pass the phone interview. Maybe I will try it next year again.

    Interview Questions
    • Not much hard but they expected answers they expected.   Answer Question
    No Offer

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.