I applied online. I interviewed at Amazon (San Francisco, CA)
Interview
It was 45 minutes interview but it took 60 mins, the guy who took my interview was friendly and was listening carefully and properly to my viewpoints. He gave me a LinkedList question to solve in any programming language.
Interview questions [1]
Question 1
Basic data structures questions regarding array, graph and trees and a code on LinkedList
I applied online. The process took 4 weeks. I interviewed at Amazon in Jan 2014
Interview
I met with a recruiter on campus in early January, handed him my resume, and talked for roughly five minutes about the internship and interview process. He answered my questions and told me to apply online. I did as he said and heard via email that I'm getting interviewed about 2 weeks later.
The interview process consisted of two, one-hour phone interviews, each with the same structure: ~5 minutes talking about a project you did, ~10 minutes answering OOP questions (e.g. what is inheritance, dif between Abstract Class and Interface, what is overload and override) ~30-40 minutes coding up a solution to a programming question (most likely related to tree or linked list,) and the remaining time is left for asking questions.
I was asked one programming question in each interview. The first was a LinkedList question. I was supposed to write a method that accepted two LinkedList as parameters, both of which represent integers by following a specific format. The left most (i.e. first) node represents the leftmost digit and the rightmost (last) node represents the rightmost digit. For example, the number 1337 is represented as 1 -> 3 -> 3 -> 7. My method's function was to return a new list (in the same format) that represents the addition of the given lists. For example, if this method were passed in 4 -> 2 and 8 -> 8, it should return a new list containing 1 -> 3 -> 0.
During the second interview I was asked a BinaryTree question. I was asked to code a method that returned true if there if there is a path from the root to a leaf in which the values of each node add up to the given integer argument. For example, say this is the BinaryTree of Integers...
5
2 7
1 6
Then if this method is passed in 8, it should return true because 5 + 2 + 1 = 8, where 5 is the root and 1 is a leaf. But if 12 is passed in, it should return false because 5 + 7 = 12 BUT 7 is not a leaf node.
The interviews themselves weren't terribly difficult -- but that just means they're looking for HOW you solve the problem (thought process, style, thoroughness.) I recommend practicing by simulating a phone interview. Time yourself, code from start to finish (no peeking at solutions!) talking out loud, even get a fellow CS friend to give you a mock interview.
Two weeks after the interviews I was offered the job via email. I was asked when I wanted to start and which team I'd prefer to work on. I replied and a day later was put on the team I asked for and was officially hired!
I applied online. The process took 1 day. I interviewed at Amazon
Interview
It was a phone interview, two interviews back to back with two different groups. Both interviews were technique interviews. They were mainly about data structure and algorithm, including some concept questions and programming problem. For programming problems, they used online editor with which they can see your process to solve the problems.
Interview questions [1]
Question 1
Giving a string with number from 1-250 in random order, but miss 1 number. How to find the missed number.