I applied online after seeing an opening for a position on the Java team. A recruiter got back within a week and we set a call up. The recruiter was very blunt and said I was under-qualified but wanted to talk to get to know me. After our chat, he thought I could be a good fit afterall, and asked me to write up about my problem solving techniques using a project I worked on.
I submitted my write up via email, and heard back within a week from the manager on the java team. We set up a time to meet up downtown at their offices. He gave me a tour of the offices, which are really nice, and we sat down in an office with another software engineer. The interview consisted of a lot of behavioral questions, with some design questions thrown in, and it lasted about two hours.
I heard back a couple days later saying that the position I had been applying for was filled (I guess I was a backup in case the person turned down their offer), and they were interested bringing me in to interview as a QA developer, but I declined because I wasn't interested in QA.