I had an excellent phone conversation with the requiter, in which she explained the roles available at google SRE and asked ~15 technical questions of increasing difficulty, spanning multiple subjects from basic algorithms to the relative speeds of various low level machine operations. I was surprised and impressed by the depth of the questions, having had no warning that any portion of this call would be technical. It made it seem like they were really keen on identifying my skill level.
A more substantial technical phone interview was scheduled, during which I would be writing code in a shared document. The recruiter stated that this interview would delve deeply into data structures and algorithms, and I should prepare accordingly. She even asked if I would prefer easier or harder questions, and I answered with "harder", because I was hoping for a challenging position. Unfortunately, the phone interview that actually happened was- I'm sorry- idiotic. The guy who interviewed me seemed nice, and was obviously extremely intelligent, but a) he was not from the team I would be working with and clearly hadn't been told what to ask me and b) spoke extremely quickly, with a moderate accent, over a grainy speakerphone. Right off the bat, then, about 30% of our very limited 45 minutes was spent repeating things to each other or asking for things to be repeated. As for the coding problem he gave me, which I can't ethically reveal, the only data-structure that was involved was literally an array of ints. Initially I made an incorrect assumption about the input (a legitimate mistake on my part), but once this was pointed out, I immediately came up with the optimal algorithm - I bench-marked it later against alternatives. However, this was no great feat; it was basically merge-sort. The next 30 minutes (of our 45 allotted) was spent on two conceptually identical index-out-of-bound type errors I had in my implementation, with both of us barely able to understand each other over speakerphone. I think 30 seconds of silence would have been sufficient time for me to run the code, identify the bug, and fix it, but that wasn't possible given the structure of the interview.
On the back of this interview, the team I would have been working with decided to not even bother bringing me in for an in-person interview, on the basis of my lack of coding skills. I can't really blame them: at no point did I have an opportunity to demonstrate any coding skills, or a lack thereof.
So yeah ... google's interview process is broken. Each individual I spoke with at google was pleasant, obviously intelligent, and acted logically based on the information they had locally; I would go so far as to say they acted more kindly than I would expect, trying to identify other positions I might apply for, sending me information to review to help throughout the process, etc. However, the system itself is structured in such a way that no real information about my abilities - neither positive nor negative - could possibly have been collected, and no globally logical decision could be made.
What a waste of everybody's time.