Google Software Engineer Interview Questions

Updated Jul 3, 2015
1,365 Interview Reviews

Interview Experience

Interview Experience

53%
30%
16%

Getting an Interview

Getting an Interview

60%
15%
12%

Interview Difficulty

3.5
Average

Interview Difficulty

Hard

Average

Easy

1,365 Candidate Interview Reviews Back to all Interviews

Sort: Popular Date Difficulty

Helpful (5)  

Software Engineer Interview

Anonymous Employee in New York, NY
No Offer
Positive Experience
Difficult Interview

Application

The process took 2 weeksinterviewed at Google (New York, NY) in February 2009.

Interview

I was initially contacted by a Google recruiter through LinkedIn Inmail. I stated my preference to work in NYC on Google’s infrastructure software and a one-hour technical screening phone interview was scheduled. The phone interview covered Computer Science basics such as trees, hash tables, coding constructs, differences between Java and C++, and Design Patterns. At the end I was given a coding assignment to complete within 24 hours “to show my best work” and submit to Google.

The NYC on-site interview was scheduled 2 weeks later where I was interviewed by 5 different Engineers for 45-minutes each. Some asked me to design solutions to problems and code them (on a white board) in my preferred programming language. Others were open-ended problems where (I believe) I was expected to ask smart questions to define the problem and its solution.

Interview Questions

  • Create a fast cached storage mechanism that, given a limitation on the amount of cache memory, will ensure that only the least recently used items are discarded when the cache memory is reached when inserting a new item. It supports 2 functions: String get(T t) and void put(String k, T t).   1 Answer
  • Create a cost model that allows Google to make purchasing decisions on to compare the cost of purchasing more RAM memory for their servers vs. buying more disk space.   1 Answer
  • Design an algorithm to play a game of Frogger and then code the solution. The object of the game is to direct a frog to avoid cars while crossing a busy road. You may represent a road lane via an array. Generalize the solution for an N-lane road.   2 Answers

Other Interview Reviews for Google

  1. Helpful (1)  

    Software Engineer Interview

    Anonymous Employee in Mountain View, CA
    No Offer
    Negative Experience
    Difficult Interview

    Application

    The process took 5 weeksinterviewed at Google (Mountain View, CA) in June 2009.

    Interview

    The interviews were with 4 different Software Engineers. From what I gathered online and from the feedback I got from friends currently Software Engineers at Google, I though I had decent chances: strong knowledge of at least one current language, some knowledge about algorithms and data-structures as well as Big O notation. I was surprised to be asked non software questions like various network speed efficiency of various wireless technologies, solve math brainteaser in a language I specifically said I had not used in years, and being told that the code had to compile and run as is, regardless of potential typos.

    It took several weeks for Google to come back to me but I got a quick offer from a competitor with a more realistic interview process. I'm glad I did not hold my breath, I think I should have left after the second person, it was pretty obvious the process was a plain waste of time.

    Interview Questions

    • Which wireless channel should you choose for you home wifi, considering there is no interference on any of them.   2 Answers
  2. Helpful (1)  

    Software Engineer Interview

    Anonymous Employee in New York, NY
    No Offer
    Positive Experience
    Difficult Interview

    Application

    The process took 2 weeksinterviewed at Google (New York, NY) in February 2007.

    Interview

    A Google recruiter contacted me (I never applied for any positions in Google). Within a week I had my phone interview which went very well. They decided to skip the second phone interview (at least that's what I was told) and invited me to the NY office for in person interview. In person interview lasted the whole day with me talking to 6 people and having a lunch with a team. I found the office to be super cool and fun atmosphere and people were very nice. They questions asked were fairly reasonable. What threw me off was recruiter stressing several times that Google's approach to interviews is very academic. I was more technical then academic (I thought) and spend the next week reviewing algorithms and data structures and such. I was told at the end that I have very strong professional qualifications, but my knowledge is more academic and were looking for somebody with more hands on experience (after me throwing theory at them left and right). At the end I think I overdid it. I think you need to find a good balance if you want to get hired.

    Interview Questions

    • Most phones now have full keyboards. Before there there three letters mapped to a number button. Describe how you would go about implementing spelling and word suggestions as people type.   3 Answers
    • Implement on a board a shortest path algorithm when traveling from point A to point B on a board. Once you produce a solution, they throw modifications to an initial problem like what if you know that points x, y, z cannot be used in a path.   2 Answers
  3.  

    Software Engineer Interview

    Anonymous Employee
    No Offer
    Neutral Experience
    Difficult Interview

    Application

    The process took 1 dayinterviewed at Google in August 2009.

    Interview

    HR was a bit slow, and didn't get back to me with an answer until I followed up a few weeks later. Interviews were technical, very interesting, and challenging. They were computer science / software engineering problems that did not have obvious immediate answers. They want you to first state a naive algorithm, and then see if you can make it more efficient. Having a few of these interviews in a row was very draining, I definitely slowed down at the end.

    Interview Questions

    • If a person dials a sequence of numbers on the telephone, what possible words/strings can be formed from the letters associated with those numbers?   Answer Question
  4. Is this helpful? The community relies on everyone sharing – Add Anonymous Interview Review


  5.  

    Software Engineer Interview

    Anonymous Employee in Seattle, WA
    No Offer
    Neutral Experience
    Difficult Interview

    Application

    The process took 1 dayinterviewed at Google (Seattle, WA) in September 2009.

    Interview

    Had one phone interview, then met on-site with a small number of developers during a single day. All interviews were highly technical, focused on algorithm design, improvement, and ways to parallelize computation.

    One interviewer was discourteous and impolite; when I misinterpreted a request, he was quite rude in pointing out that my answer was of a wholly different format than he was expecting. We did not get along, and as a result I did not fare terribly well. In every other interview, I believe I did very well or better.

    Also, I really got along well with every other interviewer. In my limited experience, the reports of rude or dispirited Google employees are quite exaggerated.

    I strongly suspect that a single mediocre report is enough to scuttle an interview, regardless of the others. My advice: Be prepared for people you don't get along with (as with any interview!), ask questions if there's even the hint of vagueness in your task, and have fun.

    Interview Questions

    • NDA; don't want to comment. In general, be prepared to divide and conquer in every way possible. Also, dynamic programming would be a good subject of study.   Answer Question
  6.  

    Software Engineer Interview

    Anonymous Employee
    No Offer
    Positive Experience
    Difficult Interview

    Application

    I applied through an employee referral. The process took 1 dayinterviewed at Google in October 2009.

    Interview

    Initial phone screen with recruiter. A few days later, I was invited to take part in a technical phone interview of around 45 minutes - 1 hour with an engineer, asking a range of questions and coding exercises to be completed online on a shared document.
    Several days later I heard they wanted to progress. Came on site for a series of 5 technical interviews of around 1 hour each. I had to answer technical questions on a wide range of topics and complete coding exercises on a whiteboard.

  7. Helpful (4)  

    Software Engineer Interview

    Anonymous Interview Candidate
    Accepted Offer
    Positive Experience
    Difficult Interview

    Application

    The process took 8 weeksinterviewed at Google in December 2009.

    Interview

    One of my friends was contacted by a Google recruiter. He was not interested in interviewing at the time, but gave my name to the recruiter, who emailed me and requested my resume. After receiving my resume, the recruiter arranged a 45min technical phone interview, which consisted of one "soft" question (e.g. describe a current project and its challenges), one algorithm question, one Java question, and one design question involving concurrency. The recruiter had previously mentioned there might be a second phone interview, but I did well enough in the first phone interview that my candidacy was forwarded to the on-site interviews.

    I had five on-site interviews, all of which focused on technical knowledge and problem solving skills. My lunch conversation was truly a conversation and not an interview - I was the one asking all the questions! :)
    Although I enjoyed the interviews themselves, lunch was a wonderful experience. It was great to see all the engineers sitting together talking and interacting. There was an incredible sense of community, friendship, and potential. (that sounds pretty weird, but it's really what it felt like)

    I was asked only two soft questions the entire day and was not asked any brainteaser or logic puzzle questions. There was more emphasis on Java knowledge than I expected. Even though I was not asked any brainteaser or logic puzzle questions, I feel like studying them helped me improve my technique in approaching a new problem.

    Interview Questions

    • Describe a current project. What was challenging about it? What did you learn from it?   Answer Question
    • What is the relationship between equals(Object o) and hashCode() in Java? How would you implement each method?   2 Answers
  8.  

    Software Engineer Interview

    Anonymous Employee
    No Offer
    Neutral Experience
    Difficult Interview

    Application

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

    Interview

    Typical Google interview, all day experience, met with multiple people (5 groups) with technical white board coding examples, sit down talking about different technical questions and scenarios best cases. Many were difficult to get at first, some hints were given or pointing out of areas that could be improved, and given a chance to correct them. Study algorithms, core computer science concepts, programming, best practices, everything on your resume, and hope for the best. Unfortunately you pretty much have to ace each question, even one mistake in any one of the interviews will knock you out. With the high false negative rates, you just have to accept that as they'll move on to the next candidate.

    Interview Questions

  9.  

    Software Engineer Interview

    Anonymous Employee in Santa Monica, CA
    No Offer
    Negative Experience
    Difficult Interview

    Application

    I applied through a recruiter. The process took 1 dayinterviewed at Google (Santa Monica, CA) in March 2010.

    Interview

    This was the second phone interview, the first being with a recruiter. I spoke with an engineer at google and he asked me some general c++ questions (malloc/polymorphism/virtual functions/etc) and then gave me a problem to write an algorithm for (find the next in a sequence of numbers). The interviewer gave me some hints along the way, but unfortunately I was stuck for a good 10 minutes on one of his hints that turned out to be a misunderstanding between us. I verbalized everything I was doing along the way to try to make things as clear as possible. I didn't get the answer correct in the end. He told me how to see where the sequence goes, but I don't understand how he would decide to use that approach. I feel like i would have no problem writing the algorithm but i don't know how he arrived at the solution. It wasn't a very positive experience overall.

    i don't expect to be asked for an in-person interview.

    Interview Questions

    • you have a sequence where each number is a multiple of 2 or 5 (so: 2^i * 5^j). he gave the beginning of the sequence as 1,2,3,4,5,8,10,16... and asked me to find an algorithm to calculate the next number in the sequence.   19 Answers
  10. Helpful (1)  

    Software Engineer Interview

    Anonymous Employee in Mountain View, CA
    No Offer
    Neutral Experience
    Difficult Interview

    Application

    I applied through a recruiter. The process took 3 weeksinterviewed at Google (Mountain View, CA) in January 2010.

    Interview

    I was contacted by a recruiter after visiting Google at a career fair. Then I went through 2 phone interviews with live coding about algorithms, data structures, optimization. After that I was invited on-site for a full day interview (Google College Day) and had 3 interviews.

    The 2 phone screen interviews were pretty basic. It was a while ago so I didn't remember everything. The 1st few questions were about Fibonacci sequence with optimization, also lowest common ancestor with optimization and find repeated number with optimization. I suggest u started out with a naive answer so that at least you can solve the problem, then think of a better way to do it.

    The on-site interviews were really hard and intimidating. The 1st guy asked me about OO concepts with some trick questions. The 2nd guy was totally unprepared and just kinda thought of questions on the spot. He asked me about designing a server and how to prevent failure, how to reroute requests and make backup and such.

    The 3rd guy was nice but tough. He asked me about Bloom Filter and techniques they used in URL whitelisting in Google Chrome. I had no idea as an undergrad.

    Interview Questions

    • Find a repeated number in a list of numbers   2 Answers
    • Write a function the generate Fibonacci sequence   Answer Question
    • I have superclass A and subclass B of superclass A. B overrides a function foo() in A. I have an instance of class B. How do I call foo() but using class A's version   5 Answers
    • How do you check if a URL is bad really fast in Google server. The point is for the user not to notice the lag in the checking   2 Answers

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.