Amazon Software Development Engineer Interview Questions | Glassdoor

Amazon Software Development Engineer Interview Questions

Updated May 24, 2017
1,433 Interview Reviews

Experience

Experience
61%
26%
11%

Getting an Interview

Getting an Interview
41%
24%
19%
10
1
0
0

Difficulty

3.2
Average

Difficulty

Hard
Average
Easy

1,433 Candidate Interview Reviews Back to all Interviews

Filter

Sort: Popular Date Difficulty

Filter

Sort: Popular Date Difficulty

Helpful (1089)  

Software Development Engineer Interview

Anonymous Employee in Seattle, WA
Accepted Offer
Positive Experience
Difficult Interview

Application

I applied through other source. The process took 4+ months. I interviewed at Amazon (Seattle, WA) in May 2013.

Interview

Called out of the blue, asked if I'd be interested in interviewing. Still not entirely sure how they got my name. Had first phone interview the next week, asked no personal questions, all technical in nature. Total of 3 phone interviews and an in-person trip out to Seattle.

Took about 4 months start to finish. The people in the in person interview were wonderful. Very smart, laid back, and understanding. Got lunch, small tour of campus, and learned what I'd be doing. Got the offer 2 business days after the in person interview.

Sadly, I signed a NDA and I respect the terms of that. As such, I can't give you any specific questions, but I'll gladly give you the best advice I have.

Phone Interviews :

Phone interviews are sucky by nature. Coordinating a call from west to east coast alone is painful, add the fact that phones just take away the benefits of body language, and just make it harder to hear, and you've got a recipe for disaster. But fear not! Here are some helpful hints, some of which are obvious, some of which are not.

1. Get ready ahead of time. I just mean, get to the area you'll be doing the interview beforehand. I'd recommend an hour or more, just to get your nerves ready. Breathe, get used to the surroundings, and get everything laid out ahead of time. Which brings me to...

2. I know it's a "programming" interview, but for the love of all things good, have a pen and paper ready and at your disposal. Bring a backup pen. Much like a printer, the pen will fail at the worst possible time. You may also need a laptop, as I was asked to do "on the fly" programming. But close anything and everything distracting. Speaking of...

3. Pick a spot where there are no distractions. You'll want your undivided attention on this interview. Don't have BookTweet or FaceSpace or MyGram or that crap open if you have a laptop. And I personally wouldn't pick a public space, you never know when an annoying parent will put their screaming child right beside you.

4. Breathe. Just breathe. Take a moment, stretch, and remember you got this. If you have trouble hearing, don't be afraid to ask again. Don't be afraid to say you don't know. Do as for clarifications, and state assumptions up front. Always re-state the problem as you understand it.

As for the content : For the love of God, know what a time complexity is, and how to determine it for any and all code you write. Know the time complexities of all sorts. Know all data structures, how to use them, and properties of each. (Insertion time, deletion, etc) Generally know what heck you're talking about. But don't talk too much. You don't want silence at any point really, but you certainly don't want to let the interviewer not get a word in. Know graph theory, tree theory, and all the fun stuff associated with more "complex" structures. Understand what your language does behind the scenes, as far as GC and compiling go. Know how your language use internal structures to manage the code/objects you write.

**Continued below**

Negotiation

As a recent grad, there wasn't much room for negotiation.

Other Interview Reviews for Amazon

  1. Helpful (480)  

    Software Development Engineer Interview

    Anonymous Employee
    Accepted Offer
    Positive Experience
    Average Interview

    Application

    I applied online. I interviewed at Amazon.

    Interview

    An online quiz and then a phone interview. The online quiz wasn't very hard. It tested basic computer science knowledge. The phone interview was slightly harder but it was basically data structures and algorithm questions. They give you an online editor and you type responses into it.


  2. Helpful (98)  

    Software Development Engineer Interview

    Anonymous Interview Candidate in Seattle, WA
    No Offer
    Neutral Experience
    Difficult Interview

    Application

    I applied through college or university. The process took 3 weeks. I interviewed at Amazon (Seattle, WA) in October 2016.

    Interview

    Had three rounds in total. I am a new grad. The first round was a debugging challenge with a quantitative test. The first round was pretty simple and anyone can clear that. The second round is a work simulation round and three coding challenge questions. This round was for 4 hours in total. A third party agency conducts this test for Amazon. Till now you wont interact with any of the SDE from amazon. The third round is an onsite where you need to work on a group assesment.

    Interview Questions

    • Debugging questions will be of 7 questions for 21 minutes. Ex: An array will be sorted in descending you need to change the code to sort it in ascending.   5 Answers
    • Coding Challenge 1) Find the longest palindromic substring from the given string. No need of DP solution.   5 Answers
    • Coding Challenge 2) You will be given N number of points as an array (CPPoint class). CPPoint class will have x and y coordinate. Find the closest k number of points from the origin.   6 Answers
    • Coding Challenge 3) You are given a linkedlist with next and arbitary pointers. Create a new linkedlist similar to the given linkedlist. You need to create a code for deep copy of a linkedlist.   7 Answers
    • Onsite Group Assesment. 1) Each team will be given three different answers for the same question. The question was to identify the best item in a given set of items. There will another point to note in the question if Item A is better than Item B and item B better than Item C, it does not mean item a is better than Item C. (Non transitive property). The goal is to identify the best solution by discussing with your team mates.   2 Answers
    • 2) This is the most important task in the group assesment where I think I would have failed. You will be given a code base with 30 Java files. There will be three milestones. Milestone 1) You need to find a way to map the products to shipping centers. The question was vague and I cant remember it exactly. This mapping can be done by identifying the cost of shipping for each area. Cost can in turn be calculated based on four different factors like air shipping, ground shipping and few others. Based on the customer requirement you need to make the products to shipping areas and return a list of product ids and their shipping cost list.   3 Answers
    • Milestone 2) Will ask to optimize by reducing the number of unfulfilled orders. The apis will be confusing and you will have two interviews during the coding session.   9 Answers

  3. Helpful (21)  

    Software Development Engineer Interview

    Anonymous Employee
    Accepted Offer
    Positive Experience
    Average Interview

    Application

    I applied through a recruiter. I interviewed at Amazon in April 2017.

    Interview

    The recruiter reached out to me on LinkedIn and let me know about the available positions with the team. After a brief call with the recruiter I was sent a 90 min coding test of 2 questions. I find timed coding tests pretty intimidating and I think they are also not the best way to screen people, too many ways for false positives and false negatives, would have preferred a phone interview. But after a month long of practicing at least 2 questions a day on leetcode helped me be ready for any coding challenges. Hackerrank is also another great resource for this.

    But there is also a trick here which I found out of sheer luck. I went through dozens of reviews here on glassdoor and I found another Chinese website where people post reviews/interview questions (thanks a lot google translate!). Apparently Amazon has a set of questions (I believe 5) which they use every month. Anyone who takes the coding test would get 2 of those 5 questions. I didnt want to take any chances so I found out those 5 questions that were asked previously in that month and practiced and wrote solutions for all of them. And on the day when I decided to take the test, I was gladly surprised to see 2 very familiar questions. I wrote code for both of them in about 30 mins but to my dismay one of the problem passed only 1 of the 5 test cases. I spent next hour trying to debug but I ended up passing only 2 of the 5 before the test got automatically submitted. I was disappointed and didnt have much hopes. But after couple of days the recruiter sent an email asking for 15 min technical screen. It was the same recruiter who called me earlier and this time was asking data structure questions as a technical screen. The questions were pretty basic though like HashMap vs HashTable etc.

    And after the call I was sent an invitation for the onsite interviews. I had previously received Amazon offer which I declined and I think because of that I had only 4 technical rounds this time (Or maybe they changed the process and made it shorter now?)
    On the day of the onsite the recruiter received me at the lobby and took me into a small conference room. The first round was with a hiring manager and he asked me many behavioral questions for almost 15 mins. All the questions were in a way related to the Amazon leadership principles so be sure to write stories for each of them and prepared before onsite. And then he asked me one dynamic programming question which was a variant of max subarray problem but he had put many conditions to get the subsequence so the question is not exactly the same. Although I did end up solving the problem and writing the code but I took way too many hints and I thought I messed up. The second round was also by an engineering manager who asked me behavioral questions for first 10 mins and then another dynamic programming question. I was able to solve it fast and thankfully he was very impressed. Since we had another 10-15 mins time he asked me to write object oriented design of a parking lot. I had just studied that problem on CTCI book so I was about to write the same class design but then he gave me extra conditions like electric chargeable parking space etc so I ended up doing a very different solution from that of CTCI book. Nevertheless he was clearly happy with my class design.

    The third round was with a senior engineer who asked me to design an ArrayDeque data structure. I wasn't familiar with it so she first explained the requirements and I had to write 4 functions for that data structure like get(index) etc.
    The fourth round was with a principal engineer who also asked me to design a conceptual datastructure for a stack of plates. This question seemed to be developed by him on his own so I won’t reveal the details but it involved multiple stacks. I had to write similar functions of a stack like pop(), push(), peek() etc for this datastructure.
    All the interviewers were very friendly and gave hints whenever I seemed stuck.
    I received a phone call the next morning from a (different) head recruiter and told me of the decision. The next day I was given a verbal offer on the phone with total compensation more than I asked for. They gave me a base pay more than my other offer I received the same week. Over the weekend I wrote a succinct email negotiating for better signing on bonus (I gave a number I wanted) and they not only gave me the bonus I asked for, they even increased my base pay (Always negotiate! And that single email could be the most worthy email you would write that year)
    Before you start the interview process I would advise you to finish off the CTCI book first (For Amazon concentrate on Arrays, LinkedLists, Trees and Graphs, Dynamic Programming chapters)
    Before onsite write down the stories from your previous experiences (school or professional) about each of the Amazon's leadership principles. These are very important. And keep practicing coding on leetcode or other online sites. Good luck!

    Interview Questions

    • Design data-structures, dynamic programming questions   2 Answers

  4. Is this helpful? The community relies on everyone sharing – Add Anonymous Interview Review


  5. Helpful (1)  

    Software Development Engineer Interview

    Anonymous Interview Candidate in Seattle, WA
    No Offer
    Neutral Experience
    Difficult Interview

    Application

    The process took 2+ weeks. I interviewed at Amazon (Seattle, WA).

    Interview

    Received email from Amazon saying they were looking for people and if I was interested to go to with a link to two online programming questions. I answered the first one with a pretty bad solution, and the second one I didn't even do. Yet surprisingly, I received an email they would fly me out to Seattle for for the in person interview. I was surprised, I did horrible on the online questions yet they we're still willing to fly me out to Seattle all costs paid, I thought I had a pretty good chance.

    I get there and I interview with four people. The first one went pretty good except he wanted me to explain something specific to a NoSQL database I mentioned I had experience with. I gave a broad explanation but he kept asking how does X technology where the data is. I think he was looking for another answer, he just couldn't formulate the question for what he was looking for, he had heavy Indian accent.

    The second guy was the hiring manager, cool guy, I think I answered all his behavioral questions as well as the technical with the correct answers.

    The third guys had a difficult question, by this point I was a bit tired, and the guy was a little bit condescending so I didn't put that much effort. The question was along the lines of you are given a list of tickets they contain departure and arrival and date. Method has to return the full itinerary. I gave some wrong solution building a string.

    Then the final interview a guy and a woman came in and asked me a graph related question. I was able to answer 100% and then they asked me a few variations of question throwing wrenches. I was able to answer all of them.

    After I finished I really thought if they had been willing to fly me out across the country, I am in the east coast, and I had done horrible on the initial programming question and did pretty good on the in person interview, I would get hired. I don't think a lot of people can answer all these questions flawlessly after flying out for 8+ hours and whiteboard programming for 5+ hours. But after two days I received a call saying they decided to move forward without me.

    I wasn't really that motivated to change jobs. I am making good money where I am at now, and I live in an area with beautiful weather. They would have had to come with a significant offer for me to move to that god forsaken city. So I just went for the free trip. But if you have an interview coming up make sure you do perfectly on all four interviews otherwise these guys don't mind flying you out and wasting your time to tell you they are going to move forward. I think they are looking for top talent and they are willing to waste money flying people to Seattle.

    P.S If you've never been to Seattle, this city is horrible. It's cold, it's always raining, it's full of hills, there's nothing to do apart from that ugly needle, and one minute you will see everyone walking and they are all in suits and professionals and the next minute you are surrounded by drug addicts. Everywhere you go there are passive aggressive comments against tech people like you because you are bringing up the COL for them. Everything really is expensive. The food sucks. Overall it's crap ¯\_(ツ)_/¯

    Interview Questions

    • Given list of tickets with start location and end location and date return list in order. Account for
      Trips same day.  
      1 Answer
    • Asked to analyze run time of tree traversals.   Answer Question
    • Write method to determine if tree is mirror.

          X
      X. X. Is mirror

            X
          X. X
      X. Not mirror  
      Answer Question

  6. Helpful (1)  

    Software Development Engineer Interview

    Anonymous Interview Candidate in Seattle, WA
    No Offer
    Positive Experience
    Difficult Interview

    Application

    I applied online. I interviewed at Amazon (Seattle, WA) in May 2017.

    Interview

    A compilation of all the behavioral questions on this website.
    1. Tell me about yourself
    2. Strengths
    3. Weaknesses
    4. Why Amazon?
    5. How can you translate your skills towards Amazon?
    6. What experiences do you have that separate you from the rest?

    Interview Questions

    • 1)Print integer that has repeated odd number of time.
      2)Design telecommunication billing system.
      3)Print valid QWERTY keyboard suggestions.
      4)Write an algorithm for bitmap application.
      5)Serialize and Deserialize an N-ary Tree.  
      Answer Question

  7.  

    Software Development Engineer Interview

    Anonymous Interview Candidate in Seattle, WA
    No Offer
    Negative Experience
    Difficult Interview

    Application

    I applied through a recruiter. I interviewed at Amazon (Seattle, WA) in May 2017.

    Interview

    I was contacted by a recruiter and that conversation led to a technical phone screen. The phone screen went well and a month later I was flown out to Seattle for an onsite interview. I was very excited to go but this is where it all falls apart for me. After spending all day interviewing I was told I would get a call within 48 hours and they NEVER called me. I sent an email to the recruiter around 4 days after the interview and he never responded. Before I went out to the onsite he gave me his cell number and told me to call with any questions I have. So I called that number 2 days later and left a message and of course nothing back. I'm very disappointed with how they do business. I flew from Pennsylvania to Washington State, took 3 days off of work and they can't let me know the outcome? I assume now that I just didn't get the job but thats not how you deal with candidates who spend their time to interview with you. I'm sure many of you want jobs with Amazon but that experience will prevent me from ever dealing with them again. They make you sign an NDA but since they couldn't call me back the list of questions are listed below. Thank you.

    Interview Questions

    • Find the max number in an array between start and end. The function would like:

      findMaxbetween(start, end, array):

         return maxNumber  
      3 Answers
    • They ask behavioral questions   1 Answer

  8.  

    Software Development Engineer Interview

    Anonymous Interview Candidate in Seattle, WA
    No Offer
    Positive Experience
    Average Interview

    Application

    I applied online. The process took 2 weeks. I interviewed at Amazon (Seattle, WA) in May 2017.

    Interview

    Two online assessments, would have been followed by phone interviews. The online assessments involved writing small pieces of code, finding patterns, and determining the best options for real world situations.

    First online assessment: Two parts, took about an hour. First was 7-8 code snippets, each of which had some bug or logical error. You needed to make corrections and compile the code in order to pass test cases. The second part was 25-ish multiple choice questions. These questions were basically logic puzzles and pattern recognition, and were honestly kind of fun. Both parts were fairly easy, and don't require any sort of studying.

    Second online assessment: Two parts, took about 3 hours. First was a 'real world scenario', where you needed to rate solutions/answers to a variety of situations given through emails, chat messages, etc. Make sure your browser can run 'Flowplayer' videos, or else, like me, you'll have to make a lot of guesses because some of the situations/info are presented through videos. The second part was three coding problems, where you had to fill in the function stub in order to pass test cases. These were mostly difficult because of a lack of knowledge on how the rest of the program runs.

    Interview Questions

    • Not what I got, but an example: 'Find the longest unbroken series of increasing numbers in a list of random numbers', i.e. if given [15, 2, 38, 71, 2, 524, 98], return [2, 38, 71]   Answer Question

  9.  

    Software Development Engineer Interview

    Anonymous Interview Candidate in Austin, TX
    Declined Offer
    Positive Experience
    Average Interview

    Application

    I applied online. I interviewed at Amazon (Austin, TX).

    Interview

    Online assessment at home followed by on-site interview. 4 hour-long interviews back-to-back; questions were very fair and standard. Heard back very soon...received an offer 2 days after my on-site interview.

    Interview Questions

    • Signed NDA - can't disclose. However, if you thoroughly study "Cracking the Programming Interview," you will be fine.   1 Answer

  10. Helpful (1)  

    Software Development Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Negative Experience
    Easy Interview

    Application

    I applied through a recruiter. I interviewed at Amazon.

    Interview

    I got one general and one technical question. The general one was asking the project details I did in college. I graduated almost five years ago and have been in the industry since then, it is an ok question, but I don't get the aim of it.

    And for the technical one, I communicated with the interviewer about my several approaches and asked her which one she expected. And the interviewer misled me to a not optimal approach and I tried my best to explain her that was probably not what she wanted but she insisted I should not worry about that and keep working on it. Once after I finished she simply told me "that's not what I want". I wasn't happy at all but I had to start over and tell her what the best approach in my mind. I think that was actually what she expected. But I wasn't able to accomplish it in last ten mins. I was upset and confused by her communication skills and the interviewer told me she just graduated from college. I wish Amazon could teach its new interviewers some basic communication skills to prevent something terrible like this happens in the future.


Don't Miss Out On a Job You Love
Upload a resume to easily apply to jobs from anywhere. It's simple to set up.