Amazon.com

  www.amazon.com
Work in HR? Unlock Free Profile

Amazon.com Senior Software Engineer Interview Questions & Reviews

Updated Jul 6, 2014
All Interviews Received Offers

Getting an Interview  

33%
32%
28%

Interview Experience  

50%
34%
15%

Interview Difficulty  

Average Difficulty
76 candidate interviews Back to all interview questions
Relevance Date Difficulty
in
1 person found this helpful

No Offer

Positive Experience

Difficult Interview

Senior Software Engineer Interview

Senior Software Engineer
New York, NY

I applied online and the process took 2 weeks - interviewed at Amazon.com in May 2012.

Interview Details – HR contacted me after I applied online, had forst phone interview, time ran out before completing the algorithm so the interviewer asked me to email it to him. Then, the next day got a call from HR to schedule another phone interview, this time I kinda screwed it up, I took the whole time to solve the problem, couldn't so interviewer asked me to send it in 40 min, I did manage to send it in 3 hours, but got rejected the next day :(

Interview Questions

  • Exaplain Hashtable. Explain polymorphism. Design a OOD for a system like Netflix.   Answer Question
  • In a binary tree where each node contains the number which says how many children the node have, now if that tree is traversed in inorder, find k-th element.   Answer Question
  • Given a matrix of MxN, find the components that are unique. It was more like, finding connected graph with DFS.   Answer Question


7 people found this helpful

No Offer

Negative Experience

Average Interview

Senior Software Engineer Interview

Senior Software Engineer
Seattle, WA

I applied through an employee referral and the process took a day - interviewed at Amazon.com in February 2012.

Interview Details – A friend of mine working in Amazon forwarded me for a role in their Kindle division. That led to a phone interview where I was asked for an optimal search pattern in a binary tree.

Now here is where the problems begin. The interviewer did not seem to accept my answer "it depends on the data" and "I never write an algorithm myself without researching for an existing implementation first" and seemed to feel I was avoiding the question. My maxim is that the best coders always avoid writing new code - new code is buggy, and half your time goes on debugging, so maximising productivity equals trying to never write new code. Anyway I kept arguing, but after ten minutes I felt compelled to give him what he wanted so I told him "this will be a very poor answer" and I wrote out an O(N^2) answer.

The interviewer then wanted me to optimise it. Again, I argued that is impossible without knowing a lot more about the data. He then suggested a technique which involved traversing to the top of the tree from each node until the paths overlapped, which is a compsci textbook 101 answer but anyone experienced knows that that approach tramples all over the CPU and TLB caches if the binary tree is a linked list randomly spread over memory, which it usually is. In other words, it's a hidden scaling limit because it adds pressure to the memory bus, then you hit the memory wall sooner. Often, it can be better to use a O(N^2) or even a O(N^4) search adjacent to a node in order to improve data locality because the link pointers don't introduce as many read stalls.

Anyway, I digress. I repeatedly suggested to the interviewer to look at my resume rather than get hung up on compsci 101 algorithm questions. I am the author of a few well known and popular open source algorithm implementations which one would have thought would suffice. I also serve on ISO Programming Language standards committees. Either the interviewer did not know what those are, or it didn't matter to him.

Ultimately, it makes little difference to me - finding employment isn't hard for someone with my background. Glassdoor wanted a review to unlock my new account, so that's my review. In short, I think Amazon focuses far too heavily on elementary compsci questions in their recruitment process. What's far more important in an engineer is how good they are at finding an existing implementation and adapting it for purpose. The best engineers always avoid writing new code, and *especially* new algorithms whenever they possibly can. I think I've written no more than three new algorithm implementations in the past five years - each has gone on to be a roaring success as an open source library, which suggests I'm very good at it. But honestly, it's simply bad engineering to constantly reinvent the wheel. Recruitment shouldn't look for people who do!

Interview Question – Traverse nodes in a binary tree   View Answers (10)


Accepted Offer

Positive Experience

Easy Interview

Senior Software Engineer Interview

Senior Software Engineer
Seattle, WA

I applied through a recruiter and the process took a day - interviewed at Amazon.com in March 2012.

Interview Details – I got an email from a recruiter, went to an interview in the following week. It was an international recruite event. The interview went ok, really enjoyed meeting with those guys from amazon, both recruiter and interviewer. Received a call from hr a few days later, with an job offer for a position based in seattle.

Negotiation Details – Negotiated some increase in bonus but not too much.


1 person found this helpful

No Offer

Positive Experience

Difficult Interview

Senior Software Engineer Interview

Senior Software Engineer
Seattle, WA

I applied online and the process took 3 weeks - interviewed at Amazon.com in June 2011.

Interview Details – I went through 3 telephone interviews, the first was the typical HR phone screen, then a technical screen with the manager of the group, and another technical screen with a senior member of the group.

The questions were all fairly technical data structures / algorithms questions you can find anywhere... Some of the questions were unique to amazon, and dealing with large data sets.

Interview Question – Given an array and a sum, determine if any of the items add up to sum. Do a linear space solution and constant time solution.   View Answers (2)


Declined Offer

Positive Experience

Difficult Interview

Senior Software Engineer Interview

Senior Software Engineer
Seattle, WA

I applied through an employee referral and the process took a day - interviewed at Amazon.com in February 2012.

Interview Details – 2 phone screen included, then go onsite to meet about 6 amazon engineers, one of them are hiring manager and had lunch together. During lunch, there isn't technical questions asked but rather background and interests.

Also, the other interviews are just coding, algorithm, design like any other interviews. one interview is more difficult than others.

Interview Question – a dynamic programming questions (can't disclose because of NDA)   Answer Question


1 person found this helpful

No Offer

Neutral Experience

Very Difficult Interview

Senior Software Engineer Interview

Senior Software Engineer
Seattle, WA

I applied through an employee referral and the process took 3 days - interviewed at Amazon.com in January 2012.

Interview Details – I first passed two phone interviews, with standard algorithm and design questions, similar to ones posted on GlassDoor. I was flown to Seattle for interviews. The hotel was nice, but breakfast was not included. I interviewed with 9 people, some 1:1, but most 2:1, and one 3:1. Most interview questions can be found on GlassDoor, or are very similar. The final interview was with the "bar raiser", which I basically failed. I also had a hard time with an algorithm efficiency question since the interviewer misunderstood my code. In general, the people were smart and nice. Questions were pretty much the same as posted on this site. The bar raiser asked questions requiring familiarity with implementation of Reliability and Durability within a distributed messaging system architecture. I was surprised to learn that Amazon developers are periodically on call, and even more surprised to learn they can expect to be called when they are! I would say the interview questions were more difficult than average, but it is hard to maintain high energy and mental agility through so many interviews, so I rate the process Very Difficult.

Interview Question – How would you find if a list of strings, at least one is a prefix of another?   View Answer


1 person found this helpful

No Offer

Positive Experience

Average Interview

Senior Software Engineer Interview

Senior Software Engineer
Seattle, WA

I applied online and the process took a day - interviewed at Amazon.com in October 2011.

Interview Details – It took 2 weeks to schedule the interview. There was 1 phone interview which was easy. Interviewer was friendly.
Was asked about basics of object oriented concepts, some data structure concepts and a couple of programming questions. They seem to concentrate on Data structures and object oriented concepts.

Interview Questions


3 people found this helpful

No Offer

Negative Experience

Average Interview

Senior Software Engineer Interview

Senior Software Engineer
Seattle, WA

The process took 4+ weeks - interviewed at Amazon.com in September 2011.

Interview Details – Got a phone interview for the Kindle team through friend working at Amazon. Not much was known from the job description which was pretty generic and practically useless.

The recruiter setup a phone interview in which they asked one coding question and a design question.

For the coding question I was asked to write code in a collabedit window.

The design question was one of the questions which some blog (apparently by an Amazon employee, strangely enough) recommends NOT to use in a phone interview. Apparently this guy missed the memo.

In general, the process was unorganized: I was contacted by two recruiters!, who sorted it out later and only one was chosen to be representative later. The interviewer was quite stoic, monotonous and seemed to have been forced to take the interview (of course, that is just my perception). Amazon is hiring like crazy and recruiting folks must be swamped, so it is understandable.

Advice to other candidates: Do prepare for design questions.

Ask a lot of questions, try to clarify as much as possible. The design questions they ask are open ended and some of them who are clueless ask the ones which are unsuitable for a phone interview (too involved, according to the blogger from Amazon). So it is even more crucial to narrow down the problem as much as possible. Especially so if you are interviewing for a Senior position.

They are OOP fanatics! So, don't mention generic programming or Alexander Stepanov. (Just kidding, ignore this sentence).

In general, interviews(especially phone) are a hit and miss (not just for Amazon) so try to stay relaxed (I know how hard it can be!), don't rush (i.e. think carefully) and try do your best.

For phone interviews, if it is hard for you to stay relaxed, it might be a good idea to write down "RELAX" (and other such advice like do your best) in a file and keep it open, so you can look at it periodically.

Ensure you have a steady internet (for collabedit type stuff) and phone connection, keep a bottle of water and some paper+pen (or whiteboard) handy.

And yes, don't forget to let the interviewer know your approach/thinking, as it would let them guide you onto the right path if you are going down the wrong one, and it lets them know your thinking process, which is what they (ideally) should be judging.

Good luck!

Interview Questions

  • Given an array of integers A[1...n], compute the array B[1...n] such that B[k] is the product of all the elements of A, except A[k].

    Part ii) Try to do it without division (some mobile devices don't have division).

    Was asked to write code for part ii.
      View Answers (6)
  • Give an object oriented design for a restaurant reservation system.   Answer Question


No Offer

Neutral Experience

Difficult Interview

Senior Software Engineer Interview

Senior Software Engineer
Seattle, WA

I applied through a recruiter and the process took 1 week - interviewed at Amazon.com in August 2011.

Interview Details – I was contacted by the hiring manager by email and they asked me for a phone interview. After 1 week I had the phone interview, and it consists 3 programming questions. I was notified one week later that they will move to other candidates.

Interview Question – A list with a set of integers. All elements appear even number of times while one appear odd number of times. Find this number that appear odd number of times   View Answers (4)


No Offer

Positive Experience

Difficult Interview

Senior Software Engineer Interview

Senior Software Engineer
Seattle, WA

The process took 2 weeks - interviewed at Amazon.com in May 2011.

Interview Details – Most of the Amazon interview was in grilling Data structures involving
- search
- sorting
- data structures
- class design

Interview Questions

  • weighted binary tress (find the node with highest weight?)   View Answer
  • - Find k-th element from the end of the singlylinked list in single pass?   View Answers (3)
  • - Write an algorithm for power set of {a,b,c}. hint: 2^n complexity and subsets.   View Answer
  • Write an algorithm for counting various vehicles ( cars, trucks..) passing the counting wire which timestamps for each hit ?   View Answer

See What Amazon.com Employees Are Saying

 Current Technical Account Manager

Pros: “Core Competencies holds good for global professional values” Full Review

Worked for Amazon.com? Contribute to the Community!

The difficulty rating is the average interview difficulty rating across all interview candidates.

The interview experience is the percentage of all interview candidates that said their interview experience was positive, neutral, or negative.

Your response will be removed from the review – this cannot be undone.