I had a screening interview with a recruiter, followed by three telephone interviews with executives (including the hiring manager) at the company. All went exceedingly well, and I was asked to come in for an in-person interview where I met with the CTO as well as the hiring manager (the V.P. of Engineering). The in person interviews seemed to go well, I had what seemed to be a generally good rapport with both people that interviews me. I was also given a brief coding test, which I passed despite being nervous.
Days after the on-site interview, I was told that the position required advanced knowledge of two particular technological areas that I did not have any experience with, and that they had decided to go with an "internal" candidate.
These two technological areas had never been previously mentioned to the recruiter, were not mentioned in the job description that was written by the employer, and I was not questioned about them on any of the three telephone interviews, nor were they brought up at all by either person I talked with at the on-site interview.
I could never even begin to prove it, but my opinion is that I was a victim of age discrimination by this company. Everyone I saw when I was in the office was 15 - 20 years younger than I, and once they saw me in person, this lame excuse regarding the "internal" candidate and the technical areas suddenly popped up.