Yes, Googling an answer to a Google interview question from SO is in fact verboten. A seasoned interview can normally pick that up anyway. But a note to potential Google interviewees: if you're caught doing this it will pretty much disqualify your application. We're interested in how you think and how you solve problems, not what you can pass off as knowing.
Interestingly, he mentions the NDA and then goes on to broadly describe the question anyway. If all this is true, I'm not a fan of bit-twiddling questions. It's something you either know or you don't (like reversing bits in O(log n)). This is meant to be an interview not a trivia quiz. I get mad every time I see those kinds of questions asked.
Anyway, another note: if it's on your CV, it's fair game to be asked about. So if you put that you wrote a low of embedded C/C++ in such a way that you'd be expected to do a lot of bit-twiddling then yes, bit-twiddling is absolutely fair game (IMHO).
If however you put that you've only done Python/Django, Clojure and Scala then it's a stupid question to ask (IMHO).
The second phone interview if accurate disappoints me as well. Perhaps this was a product of the position you applied for or what you put on your CV?
As far as intern matching goes, yes there is absolutely room for improvement there.
Note to other commenters: PLEASE PLEASE PLEASE stop spreading this nonsense that Google asks engineering interviewees stupid questions like "a man drove his car to a hotel and lost his fortune, what happened?" This is NOT what we do. The sooner people stop spreading this misinformation the better.