I chose direct onsite interviews because I interviewed in the past and did well that time. The timeline from sending my resume to the interview day was two weeks, and from interview day to the offer over the phone was another two weeks.
The syllabus for the interviews is very clear and simple:
Interview 1: A graph-related question and a super recursion problem.
Interview 2: A design discussion involving a distributed system with parallel writes and reads occurring at different sites.
Interview 3: Array and tree-related questions.
Interview 4: Designing a simple class to perform a specific task. This wasn't easy, but it wasn't overly difficult either. It requires a strong understanding of basic data structures to consider various designs and their trade-offs.
Interview 5: Dynamic programming, and a computer architecture and low-level performance enhancement question that requires knowledge of trees, binary search, etc.
At the end, I wasn't tired and rather enjoyed the discussions. I believe the key was long-term preparation and the time spent on 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."
The following metrics were computed from 1 interview experience for the Google Software Engineer role in Auburndale, Florida.
Google's interview process for their Software Engineer roles in Auburndale, Florida is incredibly easy as the vast majority of engineers get an offer after going through it.
Candidates reported having very good feelings for Google's Software Engineer interview process in Auburndale, Florida.