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.

      Company Bowl sample

      Want the inside scoop on your own company?

      Check out your Company Bowl for anonymous work chats.

      Bowls

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

      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

      12 Mar 2011
      Anonymous interview candidate
      Mountain View, CA
      No offer
      Positive experience
      Difficult interview

      Application

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

      Interview

      January 2011, Mt.View campus Visited Google first 5 years ago, that time was rejected. This time contacted by recruiter again, offered to come for the interview again. Sweeping Silicon Valley rumor mill brought several facts about interview practices – each interviewer has to submit rather detailed report to the hiring committee recording after you everything written on the white board and allegedly even recording what you say. Sometime 2 interviewers are talking to the candidate, in such cases second person is a trainee. Sometimes there are two rounds if Google is uncertain. Candidate has to select programming language of preference for the interview (my choice was C as I was applying to what recruiter called “kernel” positions in ChromeOS team). Was first met by the recruiter, he spent 10 mins with me, I asked about the practices above, even though he confirmed, but downplayed "exact recording of what candidate says part". Answered that written report on a candidate is about 1-2 typed pages on average. Total met 6 people, 5 technical, one lunch First interviewer: 1. General discussion on testing methodologies (why unit tests might fail?) 2. Asked me to code review some C++ code even though I explicitly selected that my language of preference is C. Couldn't say much as I don't use C++. 3. Asked to implement C++ method for a class "arbitrary reader" given we have a class 4K reader which can read only 4K blocks. Second interviewer: 1. Given two binary search trees, write function which tells if two such trees are the same – (i.e. same info in the nodes, same branching to left and right at every node). Recursive implementation was presented. Was asked to do non-recursive version (question was not about better solution, say, w/constant memory) – I proposed to change recursive algorithm to non-recursive with a user-defined stack (formal transformation rather boring but doable, FORTRAN people do it). Demonstrated that but code was messy with gotos, etc. Asked about complexity – both recursive and non-recursive versions required linear stack in worst case of pathological one-sided trees. Third interviewer: 1. Reverse bits in 32-bit integer. 2. Given two large files with 64-bit integers produce file with integers which are present in both files and estimate O(?) complexity of your algorithm. Proposed solution of splitting both files in n chunks (k integers in each) and solving n^2 subproblems while incrementally updating the result by merging sorted files of partial results (we will need to sort each chunk once). After algorithm was finalized, we checked the complexity and it was something cubic by n and k. Too bad. Navigated me to the solution to sort both files and find intersection by merging, this was better. As an afterthought I still think that when files do not have large overlap my solution might be winning as sorting original large files is not required (k should be selected so that each chunk could be sorted in memory, how about n=k=sqrt(file-size)?:). 3. One has a stream of queries coming over a day, how do you keep a cache of 1000 most-frequently used ones? Did not have time for this one. Fourth interviewer: 1. Asked light technical questions on past items listed in resume. 2. When you are doing "read()" call what it happening under the hood in user space? (answer needs to clarify how it is translated to a system call by libc). 3. How to find a median in a large file of 64-bit integers. I mentioned first the classical "order statistics" algorithm with splitting initial group into 5-tuples and finding median of medians, etc. My proposal on the problem was toadopt median algorithm to the case when we are dealing with large file – however no additional disk space could be used, it should be done "in place" and it is not clear for me if order statistics algorithm could be done easily with such restriction. Interviewer downplayed the order statistics deal and navigated me to the solution that I liked – keep in memory counters for binary intervals practically counting occurences of prefixes (say, 24-bit prefixes). After that we are able to tell what prefix range the median belongs to, recalculate index of the element to search instead of median and go over the particular prefix range and find it there. Sweet. After two week got rejection as not matching with current open positions.

      Interview questions [5]

      Question 1

      Given two binary search trees, write function which tells if two such trees are the same – (i.e. same info in the nodes, same branching to left and right at every node).
      6 Answers

      Question 2

      Given two large files with 64-bit integers produce file with integers which are present in both files and estimate O(?) complexity of your algorithm.
      4 Answers

      Question 3

      How to find a median in a large file of 64-bit integers
      1 Answer

      Question 4

      Input is a 4x4 table with letters. One starts from any of the 16 elements and can move in one step to any of the 8 neighboring cells not visited before (up, down, left, right, up-left, etc, no hyperspace jumps between rows 1 & 4, columns 1 & 4). Every time step is made letter in that cell is added so a word is built as we walk. These generated words are looked up in external dictionary (function to look up in the dictionary is provided, I did not understand significance of this dictionary well) and the goal of the exercise is to output all words generated by all possible table walks and which are contained in the dictionary.
      4 Answers

      Question 5

      When you are doing "read()" call what it happening under the hood in user space?
      2 Answers
      11

      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

      7 June 2026
      Anonymous employee
      Seabrook, NH
      Accepted offer
      Positive experience
      Easy interview

      Application

      I interviewed at Google (Seabrook, NH)

      Interview

      Had a good interview. Easy problems not leetcode but if you know how to solve problems and use which DSA to use for what problem then you are good.. system design as well.

      Interview questions [1]

      Question 1

      Tell me about yourself ?
      Answer question

      Software Engineer Interview

      7 June 2026
      Anonymous interview candidate
      Los Altos, CA
      No offer
      Neutral experience
      Difficult interview

      Application

      I interviewed at Google (Los Altos, CA)

      Interview

      Went with an OA which was pretty easy. Then got to second round (1 coding and 1 behavioral). Both were pretty straight forward. Then got to the onsite. They asked me leetcode hard questions. I was able to do well in one but failed the other one.

      Interview questions [1]

      Question 1

      Why do you want to work at Google?
      Answer question