Google Software Engineer Interview Questions | Glassdoor.com.au

Google Software Engineer Interview Questions

Interviews at Google

3,221 Interview Reviews

Experience

Experience
62%
25%
13%

Getting an Interview

Getting an Interview
36%
29%
21%
11
2
1
0

Difficulty

3.4
Average

Difficulty

Hard
Average
Easy

 

Software Engineer Interview

Anonymous Interview Candidate in Mountain View, CA (US)
No Offer
Positive Experience
Difficult Interview

Application

I applied through other source. The process took 2+ months. I interviewed at Google (Mountain View, CA (US)) in June 2009.

Interview

I got an e-mail from a recruiter at Google. Then, I talked to her on the phone about my skills and other stuff on my resume. I had a technical interview over the phone which I passed. I had a simple coding question and some questions on Java, which I said I was mostly familiar with.

My interview process took a long time because I had to go to a couple of conferences after I passed the phone interview.

For the on-site interview, I reviewed algorithms and common questions on java that I found online, which was really helpful since some of things I did not come across since I have been working on Ph.D. without much programming involved.

In general, the interviewers were friendly and not intimidating as some people might think because they are Google engineers. I thought I had done well specially on the algorithms part, but I did not get an offer. The recruiter was nice enough to give me a call and tell me personally instead of sending one of those generic e-mails "...we have no match for you..."

Interview Questions

Other Interview Reviews for Google

  1. Helpful (1)  

    Software Engineer Interview

    Anonymous Interview Candidate in Seattle, WA (US)
    No Offer
    Positive Experience
    Average Interview

    Application

    I applied online. The process took 7 weeks. I interviewed at Google (Seattle, WA (US)) in October 2009.

    Interview

    Submitted resume online on 2009-09-15.

    Received an email from someone in Staffing on 2009-10-07 asking for my location preferences, whether I am eligible to work in US, and actual date of intended graduation.

    Received email from recruiter in Seattle/Kirkland office on 2009-10-08 to schedule a phone call. Told me we would talk about Google's recruiting process and focus on my background, education, and career interests to ensure that I speak with engineers who have a background and interests similar to my own.

    Received call from recruiter as scheduled on 2009-10-14. We talked about Google's recruiting process, but not so much about my background, education, and career interests. I made sure she had my latest resume and I asked some questions about work-life balance in the Seattle office and also about Google's IP/non-compete policies. After the call I emailed times I would be available for two back-to-back technical phone interviews.

    Received email from recruiter on 2009-10-15 confirming my scheduled time for two back-to-back technical phone interviews. Email included information about types of software engineer positions in the office and links to various Google pages (Labs, Code, lifeatgoogle Youtube channel) and Yegge's advice article. Also asked me to answer a few preliminary questions about myself to ensure I don't have any conflicts.

    Received call from first Google engineer as scheduled on 2009-10-20. He described his work in Gmail on contact management and chat, mainly using C++. He asked me to describe a big project I've worked on and I told him about my thesis and its accompanying software implementation. He then asked some technical questions. I asked him about his work-life balance in that office and asked him if working there is anything like what you read about in Hamming's "You and Your Research."

    After the interview I hung out for a couple hours waiting for the next phone call but it never came. I contacted the recruiter and she informed me that the second interviewer was unable to access his calendar and was unable to call. We rescheduled the second interview.

    Received phone call from second engineer as rescheduled on 2009-10-23. He told me how he works on Google Maps and used to work on Talk at the Kirkland office. He asked me to talk about my thesis and I did, but for some reason I got really nervous talking about it this time. Voice was shaky for a while. After that he asked two technical questions. I asked him about his work-life balance at that office and what his most interesting use of Google's tremendous resources has been.

    I was told by both engineers that I would hear from the recruiter soon so I waited for a week and a half or so. On 2009-11-04 I emailed the recruiter asking if we would be proceeding with the interview and later that evening I received a call from her stating the engineers enjoyed talking to me but we would not be moving forward.

    The overall process was enjoyable, even when I was an anxious wreck. The technical interviews boosted my confidence, even though I stumbled on the easiest questions (postorder & basic C programming). The first engineer was far more polite & humble than the second one, but the second one was certainly civil enough. The recruiter was kind, easy to talk to, and obviously put effort into answering all of my tough questions about the Seattle/Kirkland offices & Google policies.

    I learned that the Seattle/Kirkland offices tend to be a little more laid-back than the Mountain View office. Also, Google does make you sign a non-compete but it's not overly draconian. Many engineers run their own companies after hours and are even allowed to use AdWords and whatnot, provided they sign some agreements. I encourage you to go through the process for interview practice if nothing else.

    Interview Questions

    • * Describe a balanced binary tree.
      * When would you want to use a balanced tree rather than a hashmap?   6 Answers
    • * Describe preorder, inorder, postorder.   1 Answer
    • * Write a function, preferably in C or C++, to reverse a string.   5 Answers
    • * Describe the design of a most-recently-used list, such as the "Recent Files" menu in Microsoft Word. It has two public methods, getlist() and access(str), which retrieve the list and mark an item as accessed, respectively. The list has a maximum number of items it can hold, say 5, and it should not have duplicates. Describe the data structure used and the running time of both public methods.   11 Answers
    • * You have a data structure of integers, which can be negative, zero, or positive, and you need to support an API with two public methods, insert(int) and getmedian(). Describe a data structure you would use to support this API and describe the running time of the two methods.

      * Imagine you're writing a function that takes an array of integers and an integer and it needs to return true if any pair in the array sum to the 2nd argument. The array can have negative numbers, zero, or positive numbers. Describe how you would design this function and what its running time would be. I ran through the trivial n^2 solution, then modified it to an nlogn and finally to a linear solution.   7 Answers

  2.  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Neutral Experience
    Average Interview

    Application

    The process took 1 day. I interviewed at Google in October 2009.

    Interview

    it was two rounds 45min interviews. interviewers are pretty nice. First ask me to talk about past experience, and then went to technical questions. one tech question is local celebrity problem, describe the algorithm and implement it. antoher one is about merge sort. besides, one interviewer also asked a puzzle.

  3.  

    Software Engineer Interview

    Anonymous Interview Candidate in Mountain View, CA (US)
    No Offer
    Positive Experience
    Difficult Interview

    Application

    The process took 6 weeks. I interviewed at Google (Mountain View, CA (US)) in March 2009.

    Interview

    In the end I did not get the offer, but interviewing with Google has been a very interesting. The interviews for the software engineer position consisted mostly entirely of algorithm and coding questions with a little bit of design. The algorithmic questions did not require one to 'remember' some obscure or very advanced algorithm. All questions were solvable using basic algorithmic knowledge. The interviewee is expected to be able to estimate the performance of the solution that he/she is proposing and to come up with a reasonably optimal solution.


  4.  

    Software Engineer Interview

    Anonymous Interview Candidate in Mountain View, CA (US)
    No Offer
    Positive Experience
    Average Interview

    Application

    The process took 2 weeks. I interviewed at Google (Mountain View, CA (US)) in July 2008.

    Interview

    I was contacted by a recruiter and given a phone interview. After I passed the phone interview, I was scheduled on an on-site interview. My interview was for 2 days. The first day, I interviewed with 4 engineers and got a free lunch. On the second day, I interviewed with 2 other engineers.

    Interview Questions


  5.  

    Software Engineer Interview

    Anonymous Employee in Mountain View, CA (US)
    Accepted Offer
    Positive Experience
    Easy Interview

    Application

    I applied through a recruiter. The process took 1 day. I interviewed at Google (Mountain View, CA (US)) in March 2009.

    Interview

    I was originally contacted by a Google recruiter. After discussing the position, the recruiter first set me up for a phone interview and then for a site visit. During the site visit, I talked with five different engineers. I met each person alone and each meeting was similar to each other: A 5-10 minutes chat about my background and then 35-40 minutes Q&A session with technical questions.

    Interview Questions

    • That's all good and correct. Now, assume that the computers you are given have only 1 MB of memory each. How would you solve the same problem using the same number of machines?   1 Answer

  6.  

    Software Engineer Interview

    Anonymous Interview Candidate in Mountain View, CA (US)
    Declined Offer
    Neutral Experience
    Difficult Interview

    Application

    I applied online. The process took a week. I interviewed at Google (Mountain View, CA (US)) in May 2009.

    Interview

    A quick phone interview. Good questions about my past experience and future interests. Very fair and well organized. Friendly, and to the point. Not intimidating. An enjoyable experience. Focused on recent positions, including ability to problem solve. talk some about working with others, ability, manageability, willingness, . not as technical as I would have expected

    Interview Questions

    • Please tell us about the most satisfying project you worked on in the last year?   Answer Question
    • Please tell us about a personal challenge you had with someone who managed you?   Answer Question

    Reasons for Declining

    Not qualified for work


  7.  

    Software Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Neutral Experience
    Difficult Interview

    Application

    The process took 3 weeks. I interviewed at Google in January 2009.

    Interview

    I submitted application online. After a week, a recruiter contacted me via email to schedule a preliminary screen. The call was mainly about scheduling the next technical phone interview. In the technical phone interview, the interviewer asked me questions on tree travesal and graph. I visited Google for an onsite interview a few weeks later. The onsite interview consisted of 5 1:1 interview plus a lunch.

    Interview Questions

    • Create a data structure for LFU cache   1 Answer
  8. Helpful (1)  

    Software Engineer Interview

    Anonymous Interview Candidate in Irvine, CA (US)
    No Offer
    Negative Experience
    Difficult Interview

    Application

    I applied online. The process took 2+ weeks. I interviewed at Google (Irvine, CA (US)) in August 2009.

    Interview

    Recruiter called and asked some basic questions e.g,
    1) What is the time to search in a balanced binary tree.
    Then 1st phone. I was asked to equals and hashCode for a class.
    In the 2nd phone interview I was asked to search for an ineger in an array which is circularly sorted.

    Interview Questions

    • Given an array of integers which is circularly sorted, how do you find a given integer.   1 Answer

  9.  

    Software Engineer Interview

    Anonymous Interview Candidate in Los Angeles, CA (US)
    No Offer
    Negative Experience
    Average Interview

    Application

    I applied through a recruiter. The process took 1 day. I interviewed at Google (Los Angeles, CA (US)) in November 2007.

    Interview

    Recruiter contacted me and then sent me 3 exam questions to be completed in 2 hours.After 2 days she scheduled telephonic interview. Interview lasted 1 hour and 15 mins. Questions ranged from data structure design, wrting unit tests and algorithms complexity. I was asked question to find abotu tree traversal. Random quesions like why do we use desig patterns were asked.

    Interview Questions

    • Write a program to find depth of binary search tree without using recursion   3 Answers

See What Google Employees Are Saying

1 person found this helpful

StarStarStarStarStar     Current Anonymous Employee

Pros: “Access to industry-leading tools for work, with coworkers who want to get the job done.”“Access to industry-leading tools for work, with coworkers who want to get the job done.” – Full Review

Don't Miss Out On a Job You Love
Upload a CV to easily apply to jobs from anywhere. It's simple to set up.