The process began when I responded to an unsolicited contact from a Google recruiter. We scheduled a phone screen interview. During the phone screen, I was asked a number of questions that essentially verified that my skills and experience listed on my resume were correct, and then we did a few basic design and coding questions. A day or two later, I was notified that Google wanted to bring me in for an onsite interview. The onsite interview was scheduled for about three weeks later. Google advised me to study up on algorithms and data structures, big-O analysis, and so on, which I did. At the onsite interview, I was interviewed by five different software engineers, each interview lasting approximately one hour. Each interview consisted of one or more challenging software design or coding problems. In all cases, I was asked to do big-O analysis on the run time and/or memory requirements of my solution. I got performance anxiety towards the end of the day, and performed poorly on two of the interviews, in which I froze up on questions I should have been able to answer. A few days later, after the hiring committee considered my application and interview results, I got a call back from the recruiter who notified me that Google was declining to give me an offer, but because I had excellent personal recommendations and very good feedback from most of my interviewers, that I should re-apply in 12 to 18 months.