The process took 1 day. I interviewed at Amazon (Seattle, WA) in Apr 2010
Interview
Had 2 phone interviews. Very fundamental questions about data structures, OOP, and algorithms. No curve balls, just stuff you should be able to do right out of school. Will ask you to do time complexity analysis on any code you right. Also had to implement an algorithm recursively and iteratively.
I applied online. The process took 5 weeks. I interviewed at Amazon (Seattle, WA) in Mar 2010
Interview
They started with a phone interview. It lasted for an hour. Questions were asked about my research work. Then I was asked few questions on socket/POSIX threads programming.
1. What does select do?
2. How would you make a socket non-blocking?
3. What are the issues in using multi-threaded systems?
4. Describe in simple words how would you set up a TCP connection using sockets?
Then there were questions on algorithms:
1. What is a BST? Provide an algorithm to merge two BSTs.
2. Find two numbers in an array that will add up to a particular value? (O(nlgn) or better)
3. How would you access (k-3) element of a linked list?
Feedback was in a week.
My second phone interview described a custom situation in network protocol development. I was asked to design classes and illustrate how my design will handle their requirements. Ability to understand requirements, finding the right classes and handling minute details of situations were analyzed. Interview lasted around 45 min - 1 hr. Very much an architectural question which combined software design abilities beautifully.
Feedback was within couple of days.
I was called for a face to face. Mostly architectural questions, software design questions, C++, behavioral questions. I would say the whole interview process required lot of concentration from me.
The process took 3 weeks. I interviewed at Amazon (Seattle, WA) in Mar 2010
Interview
On site interviews. Total 4 technical interviews and one lunch interview. ASk questions like:
1. Flood fill algorithm
2. Create a binary tree. write insert function
3. c++ and java
4. oops concept
5. bfs using recursion and iteration
6. difference between two dates is one month apart, less than one month apart or more than a month apart?
Interview questions [1]
Question 1
Two dates are given to a function. The function should return if the dates are exactly one month apart, less than one month apart or more than one month apart.