I applied through college or university. The process took 3 weeks. I interviewed at Amazon
Interview
Two 45 minute interviews on campus.
-Some general data structures/algorithm questions
-In a list of integers, give an algorithm to find the block with the largest sum
-A graph problem
-Given a list of words, describe an algorithm for finding duplicate strings, find a way to do it using no additional memory or certain run time.
-simple text compression algorithm
Interview questions [1]
Question 1
Write a program to compress text (being as syntactically correct as possible in a language of your choice) by encoding runs of repeated characters:
e.g. aaaaaabbbcc becomes a6b3c2
Also the graph problem which I cannot remember exactly but you had a certain number of spaces and each space could jump a certain number of spaces to another space. Find the shortest number of jumps to reach the end.
I applied through an employee referral. The process took 4 weeks. I interviewed at Amazon (Seattle, WA) in Feb 2013
Interview
I had my resume referred into Amazon's university recruitment system, and received an email confirmation letting me know they had received my resume and they would contact me if any positions seemed like a match. I then received an email from a recruiter letting me know they wanted to do a 45-minute phone interview.
After setting up the date and time, the phone interview seemed to go by very fast. The interviewer asked some general getting-to-know you questions, and then directed me to go to a weblink with a shared document. He posted the question, "Implement a stack." I coded in Java and explained what I was doing as I was doing it, and he was very helpful and edited a few minor typos that I made. Then he asked me how I would add a getMinimum function to the stack. I had heard the problem before, so I told him that and explained what my solution would be, and then coded it up. He asked me a time-complexity question related to my stack, which I answered, and then I had five minutes (or less!) to ask him questions.
A few days after the phone interview, I was contacted by my recruiter to set up an in-person interview. We set up a date and time. On the day, I had six interviews, four of them technical. One of my non-technical interviews was during lunch with one of the managers for the team that was offering the position, and I was able to ask him as many questions as I wanted before he asked me any questions. The only other non-technical interview was with a technical accountant (? I don't remember his position) not on the team, and he asked me general interview questions, like, "What's been your most difficult problem?" and "Have you ever had to anticipate what a customer wants or needs?" All the interviewers were very friendly and gave helpful suggestions. They also gave at least five minutes (often more) to let me ask my own questions.
Interview questions [1]
Question 1
Made a "deep copy" function for the following class:
public class Node {
public String data;
public List<Node> chain;
}
By "deep copy" he meant that each node in the chain needs to be a fresh copy, not the original nodes. That way modifying the original node will not change the copy in any way.