A friend referred me.
I received a call from a recruiter to schedule an onsite interview.
There were five technical rounds, each lasting 45 minutes, which purely focused on algorithms and data structures. The problems were at a medium-hard level.
I was able to solve all the problems, but not always in an optimized way. Some were solved using a brute-force approach.
After a couple of weeks, I received a rejection call from the recruiter, who provided constructive feedback.
They give priority to your approach, time complexity, code elegance, and how quickly you can solve the problems.
The interview was not as difficult as I initially thought. With sufficient practice on algorithms and data structures, you can crack it.
Round 1:
i) Post-order traversal in an iterative approach. ii) Reservoir sampling type of problem.
Round 2: Don't remember the question exactly, but it was a tricky question (DP problem) related to some grid where you are allowed to go only in some specific directions, and you also need to cover some specific cells and find the total number of ways from source to destination.
Round 3: Algorithm based on Union-Find and some C++ concepts.
Round 4: Partition-based problem.
Round 5: Minimum edges to reverse to make a path from a source to a destination.
The following metrics were computed from 748 interview experiences for the Google Software Engineer role in Mountain View, California.
Google's interview process for their Software Engineer roles in Mountain View, California is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Google's Software Engineer interview process in Mountain View, California.