I submitted my resume online, and the recruiter called me the next day to gather information. I then completed an onsite interview with five 45-minute technical interviews.
It took about 1-2 weeks to get approved by the hiring committee, and the official offer arrived a few days later.
The offer was much lower than my current salary, which was shocking, as well as lower than other offers I already had. Apparently, Google is notorious for having low salaries, based on employee complaints I found online.
Google was completely unwilling to negotiate the base salary or match other offers I had in hand (or even come close, in my opinion). The recruiter was a bit "jerky" and tried to pressure me into accepting the offer by implying that every other software company was a poor decision to consider.
I felt like Google's unwillingness to negotiate the salary at all hinted at a larger "big corporate" problem that would likely be an issue throughout employment there.
I ended up accepting a job offer at their direct competitor instead, which lacks the "big corporate" feel and whose HR team was much more pleasant and reasonable in negotiations.
You need to know pretty much everything you learned in your college data structures class.
You should feel comfortable coding on a whiteboard and talking about system design.
Know linked list and graph traversal algorithms.
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.