The recruiter from Amazon.com called me and asked for an interview. I agreed on a date which would be in about a week as I was involving with my current job at the moment and needed time to finish it. I however had to postponed the intervieew to a few days later. The lady on the phone was very nice and helped me pick the date I would be avaible. My first impression with Amazon.com was their recruiting staff were very professional and knew what they were looking for.
The first interview on phone went fine for me. The interviewer seemd to be an senior engineer and he asked me mostly about application concurrency and load perfermance. I hadn't done much parallel programming since leaving colleage but I managed to get over with what I'd done and read so far. Oh, and I remembered he also asked me to provide a pseudo implementation for some algorithm that we discussed during the interview. I did it nervously as well as reluctantly as I wasn't comfortable with this kind of on-the-phone-programming. He said I made it right eventually. So, that was the first interview.
The second one happened a few days later. This time the guy was an old one and pretty easy going. Some of his questions were just like those in my previous interview. He actually told me that he didn't have much else to interview me. And we ended up talking about the weather, drinks... stuff like that. It was a fun and easy one.
The third one, still on the phone, was supposed to be with an American. Instead, it was an Indian guy and this was where I screwed up. I'm not sure if it was because we both spoke English as a second language or I just sucked that day, we misunstood during the whole session. The guy eventually asked me to implement an algorithm in Java, which I very much hate as I couldn't express everything I wanted over the phone. So, we ran out of time and he asked to instead send an email with the code attached. A few days later, the same lady that had been contacting told me that they were not interested and would be looking for other candidates. I thanked her and the crew for spending time with me.
My overall perception with Amazon.com was very good and still is. Their interviews though were kinda weird and somehow wasted of time. Why needed 3 phone interviews, especially the programming through the phone part ? Many people are not comfortable with it, and they absolutely can cheat. I am told of stories about Indians having their friends doing the programming for them because they sound all the same over the telephone.
One more thing they could probably improve is to have native English speaking people do the interviews. No offense at all to Indians, but as many candidates are also international, so the comunication could be very misleading on the phone. My Indian friends even told me that some Indian interviewers would try to make the candidate look like a fool to show that they are better, especially when their bosses are also on the line. It seemed true in my last interview. But again, this is not common.
So, that is my experience with Amazon.com. I'm still working in the same company, but in a Data Warehouse project. I would love to have a chance with Amazon.com again; they have big Data Warehouses to build.