Submitted resume through a friend. Had a phone screen interview, then an onsite interview. I was interviewed by, I think 6 people, which involved one junior engineer, a few senior engineers and a few managers. The questions they asked were generally reasonable, smart engineering questions. I had not prepared for a grueling technical interview, and since I am coming from a fairly demanding management position, I am less fluent with coding than I once was. Still I think I have a right to call myself an excellent developer, especially in the skills one gains with significant experience, such as architecture and systems optimization.
I had an off day. I definitely did not nail all the technical algorithm writing parts of the interview, but to be totally frank, the reason (other than just being "off") is that I was rusty is that very few people DO that kind of coding anymore (ie "write logic to find a cycle in a linked list"), because it's abstracted away in modern languages. It's important that developers know how low level algorithms work, but to expect them to build highly optimized syntacticly accurate algorithms for weird problems is not interviewing for the skills that will really be needed in most of these jobs. I think what it does is find the super smart just-out-of school engineers, but does a disservice to those who have moved on to higher-level engineering problems. Forcing me to do it on a whiteboard rather than giving me a computer is also the sort of thing that I would expect a progressive company like Google to have done away with by now. Who composes real code on a whiteboard in real life? Anyhow, I got turned down for my technical performance, which I genuinely resent, as it's a misjudgement.