I was rumbling for a Google SRE team position about a year ago. That was *very* hard and fun experience. I had two phone interviews, and both were real hardcore and impressive. In the first interview, I was rumbling with the guy, who had really good understanding of a hardware issues and distributed architecture. He asked me on a virtual memory planning algorithms, how typical enterprise database disk access is organized, what are pros and cons of a database normalization ( and when we need to denormalize ), e t.c.
I don't belive, that first interview was my fail, because I was interviewed by another guy two days after. He was *very* mathematically inclined, and asked various question on a search metrics ( i.e. what is Bpref, how one could impove it ) and asked me to design various search quality-related metrics, which could easily be calculated ( in Map-reduce paradigm especially ).
I was good at what was related to the search quality ( as it is my strongest skill ), but did worse, than necessary, when we went to the hashing and cryptography-related issues.