That said, with care, there is some feedback that can be given. It would be great if interviewing could be more of a learning process, especially on the technical side. "Go read more on taking advantage of cache coherency", "go get some more experience in software development with a team instead of on your own", etc
What Google is doing here however sounds like a complete and utter cluster-fuck. I mean, this:
>>After finding out I passed the interviews, and Google finished doing my background check, I spent the next two months on an emotional roller-coaster. I spoke to a couple hiring mangers, exchanged many confused and angry emails with friends and colleagues at Google, and had numerous phone calls with my recruiter, whose tone ranged from apologetic to congratulatory. At various times, I was not entirely sure if I was fully rejected, or if the only thing standing between me and a formal job offer was some paper work. Many phone calls with the recruiter (who was very kind and helpful) were required for clarification, but did little to assuage my annoyance as she was not allowed to explain any of the inner workings of the hiring process.
Wow. Just wow.