Skip to contentSkip to footer
  • Community
  • Jobs
  • Companies
  • Salaries
  • For employers
      Notifications

      Loading...

      Elevate your career

      Discover your earning potential, land dream jobs, and share work-life insights anonymously.

      employer cover photo
      employer logo
      employer logo

      Google

      Engaged employer

      About
      Reviews
      Pay and benefits
      Jobs
      Interviews
      Interviews
      Related searches: Google reviews | Google jobs | Google salaries | Google benefits | Google conversations
      Google interviewsGoogle Software Engineer interviewsGoogle interview


      Glassdoor

      • About / Press
      • Awards
      • Blog
      • Research
      • Contact Us
      • Guides

      Employers

      • Free Employer Account
      • Employer Centre
      • Employers Blog

      Information

      • Help
      • Guidelines
      • Terms of Use
      • Privacy and Ad Choices
      • Do Not Sell Or Share My Information
      • Cookie Consent Tool
      • Security

      Work With Us

      • Advertisers
      • Careers
      Download the App

      • Browse by:
      • Companies
      • Jobs
      • Locations
      • Communities
      • Recent posts

      Copyright © 2008-2026. Glassdoor LLC. "Glassdoor," "Worklife Pro," "Bowls" and logo are proprietary trademarks of Glassdoor LLC.

      Followed companies

      Stay ahead in opportunities and insider tips by following your dream companies.

      Job searches

      Get personalised job recommendations and updates by starting your searches.

      Software Engineer Interview

      7 Nov 2009
      Anonymous interview candidate
      Seattle, WA
      No offer
      Positive experience
      Average interview

      Application

      I applied online. The process took 7 weeks. I interviewed at Google (Seattle, WA) in Oct 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 [5]

      Question 1

      * Describe a balanced binary tree. * When would you want to use a balanced tree rather than a hashmap?
      6 Answers

      Question 2

      * Describe preorder, inorder, postorder.
      1 Answer

      Question 3

      * Write a function, preferably in C or C++, to reverse a string.
      5 Answers

      Question 4

      * 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

      Question 5

      * 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
      1

      Other Software Engineer interview reviews for Google

      Software Engineer Interview

      4 May 2014
      Anonymous employee
      Auburndale, FL
      Accepted offer
      Positive experience
      Difficult interview

      Application

      I applied through an employee referral. I interviewed at Google (Auburndale, FL) in Apr 2014

      Interview

      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."
      2501

      Software Engineer Interview

      3 June 2026
      Anonymous interview candidate
      No offer
      Negative experience
      Difficult interview

      Application

      I interviewed at Google

      Interview

      Etapa de RH para filtragem de curriculo e fit inicial, e Screening Técnico com código em leetcode focado em algoritmos, onde o código era feito em um bloco de notas, sem uso de IDEs.

      Interview questions [1]

      Question 1

      Você conhece sobre Big O notation?
      Answer question

      Software Engineer Interview

      2 June 2026
      Anonymous interview candidate
      Mountain View, CA
      No offer
      Positive experience
      Average interview

      Application

      I applied online. I interviewed at Google (Mountain View, CA)

      Interview

      I was a bit nervous since it was my first big interview with a company like this. Wish I could of done better, but thats all learning experience for next time.

      Interview questions [1]

      Question 1

      "Design and implement an LRU cache supporting get and put in O(1) average time".
      Answer question

      Bowls

      Get actionable career advice tailored to you by joining more bowls.

      Company Bowl sample

      Want the inside scoop on your own company?

      Check out your Company Bowl for anonymous work chats.