
Google Software Engineer Interview Questions
& Process
Real candidates share what happened, how many rounds they had,
and how the experience turned out.
Based on 4,413 interview experiences · FREE TO READ
Candidate interview experiences
First-hand accounts from people who interviewed at Google.
software development engineer
The process was pretty technically rigorous, with five back-to-back rounds that focused a lot on algorithmic efficiency ($O(n)$ optimization) and system trade-offs. The engineers were super smart and the problems were really intellectually stimulating, but the post-interview stage moved slow. There was a 5-week communication gap, made worse by international holidays and immigration reviews, which created a lot of uncertainty around the timeline.
- Decode String style leetcode problem and related variations
- Min heaps topic and its main ideas
Software Engineer
The overall process was tough but well-organized, taking a few weeks end-to-end. It started with an initial recruiter screen to talk about timeline and background. Then I had rigorous technical interviews that focused a lot on Data Structures, Algorithms, and problem-solving (think LeetCode Medium/Hard type questions). After clearing the technical rounds, I moved into the Team Matching stage. That included a behavioral and technical chat with the actual Hiring Manager to see if my past projects (C++, hardware, system architecture) matched what the team needed. Once the manager approved, my file went to the global compensation committee. The last step before the formal written offer was an automated ID verification (via Veriff) to confirm my legal name for the contract. The recruiting team was really good, but you should be ready for the final admin steps to require some patience!
- Walk me through the design and architecture of the most complex system you’ve built. What were the main performance bottlenecks, and how did you address them?
Software Engineer
First you apply, I used a referral from a colleague and that helped. After a few months the recruiter reaches out and gives you an assessment to finish. When you pass the assessment, you get 2 virtual rounds (1 tech DSA and 1 behavioral). You get the results in about one week and if you pass, you will have an actual on-site in at most 5 weeks and the onsite will have 2 tech DSA rounds.
- Given the dialpad 0-9,*,#, return how many distinct permutations are possible for a group of 3 elements. For example: 123,321,555,258,369,365.... We want the count of these kinds of permutations.
Google Software Engineer Interview Questions
Quoted word for word from Google interview reports.
“Design encode(root) to serialize every graph node reachable from root into a flat list[int], and decode(encoded) to reconstruct an isomorphic version of the original graph.”
Read reports →“Given a string s of length n, remove the minimum number of characters from it so that the resulting string becomes a palindrome, while keeping the original character order.”
Read reports →“Given a 2-D integer grid matrix with each value >= 0, return the length of the longest strictly increasing path in the matrix. From each cell in the path you can move horizontally or vertically, but not diagonally.”
Read reports →“Given two sorted arrays nums1 and nums2 with sizes m and n, return the median value of the combined sorted arrays.”
Read reports →“Given an array of integers, find the maximum sum of the integers between two indices where those indices hold the same value.”
Read report →“Given n non-negative integers that form an elevation map where each bar has width 1, find how much water it can trap after raining.”
Read report →“Given the dialpad 0-9,*,#, return how many distinct permutations are possible for a group of 3 elements. For example: 123,321,555,258,369,365.... We want the count of these kinds of permutations.”
Read report →“Given N numbers: a[0], a[1], ..., a[N-1], find i <= j such that a[i] = a[j] and the sum a[i] + a[i+1] + ... + a[j-1] + a[j] is as large as possible.”
Read report →“Given a string that has A and B with even frequency, you need to cut it at one or two indices and split it into two parts so that both parts have the same frequency of A and B.”
Read report →Formats, difficulty and experience
Across all 4,413 Google interview reports.