The process took 2 weeks. I interviewed at Amazon (Seattle, WA) in Feb 2010
Interview
Was initially contacted through e-mail by an Amazon recruiter who set up the initial phone interview.
The first interview was with a project leader who worked on the front end/web design team. Most of the questions were about basic CS concepts (arrays, data types, hash tables). The main question involved designing a variation of the DOM with some specific requirements.
Second phone screening was a bit more difficult. Was asked to describe some of the differences between Java and C++. Main question was how to efficiently find the most common 3-page path on a website given an arbitrarily large log file. Described the basic algorithm over the phone and was asked to code it up and submit it by the end of the day.
Overall, the process was fun and challenging. Interviewers were friendly, but eager to "get down to business".
I have received an offer for an in person interview, but have not yet finished the process as of this writing.
Interview questions [2]
Question 1
Design a system to store an HTML page in memory such that each ID is guaranteed to apply to a single HTML element.
The process took 2 weeks. I interviewed at Amazon (Seattle, WA) in Jan 2010
Interview
I had a phone interview with Amazon. I was referred by a friend from mitbbs, and was contacted by a recruiter about one week after the referral. We set up a time for the first phone interview. The recruiter was responsive and nice, and the only weird thing was that she mentioned she would send me some application forms but she never did.
I didn't quite have a real expectation to get an offer from Amazon. For the first phone interview, I was surprised that the interviewer called 3hours earlier than I expected, but it turned out to be my mistake :( I didn't pat attention to the time zone. Even though I was caught by a surprise, the first phone interview was just a piece of a cake for me, the coding problem was simply deleting some numbers in an array. After that there was an even simpler classic problem: in an array, all numbers appear twice except one special number, how to find that number. I told the interviewer with honesty that I knew the problem and he moved on to the next. The next and also last problem was asking, if you have two eggs, N floors, how to find the critical floor number below which all eggs dropped will not break, and above which all eggs dropped will break.
By the way, their interviewers are really really nice.
I was informed about passing the first interview only two days later. I had the second interview about two weeks later during travel. I was not fully prepared but I was much less nervous than the first time, as I was getting very close to my dream offer from another company. The interviewer called, and started with asking me why I want to be a software engineer. Then he asked me about some knowledge and concepts of hashing, which I was quite familiar with. After that was the coding question, which was sent to me as an email. After reading the problem and explaining my approach to the interviewer, he decided not to have me write the code! I still couldn't figure out why, since clearly the title of the email said "coding question". Maybe I left him an impression that my coding skills were so strong that he didn't even need to see it? But I never demonstrated any of my coding skills to him. The last problem was OOD, as expected from Amazon's interview. I was relatively weak in this area, but I managed to grab some key words and key ideas which made him somewhat content.
I was notified about the result a couple of days later, and I was told by the recruiter that I did very well in my phone interviews, although I personally doubt it...
Interview questions [2]
Question 1
explain what is hashing and how does hashing works
I applied through a recruiter. The process took 1 week. I interviewed at Amazon (Seattle, WA) in Feb 2010
Interview
I was contacted via phone by an Amazon recruiter, who scheduled a phone interview the following week. This interview was then rescheduled for the following Monday due to a last-minute meeting that my interviewer had to make. The recruiter was very pleasant and helpful.
The interview went fairly smoothly - two 45-minute sessions with different developers for a total of 90 minutes. It was very technical, but the interviewers were very patient and understanding - I got the feeling they wanted me to do well.
Interview questions [1]
Question 1
Implement a function to validate whether a given binary tree is a BST (i.e. write an isBST() function).