Amazon Software Development Engineer Interview Questions | Glassdoor

Amazon Software Development Engineer Interview Questions

Updated Sep 19, 2017
1,533 Interview Reviews

Experience

Experience
62%
25%
12%

Getting an Interview

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

Difficulty

3.2
Average

Difficulty

Hard
Average
Easy

1,533 Candidate Interview ReviewsBack to all Interviews

Filter

Sort: PopularDateDifficulty

Filter

Sort: PopularDateDifficulty

Helpful (1199)  

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 (555)  

    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 (95)  

    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   8 Answers
  3. Helpful (10)  

    Software Development Engineer Interview

    Anonymous Employee
    Accepted Offer
    Positive Experience
    Average Interview

    Application

    I applied through an employee referral. I interviewed at Amazon.

    Interview

    Two online assessments and a 30 minute video interview. The first assessment consist of simple code debugging questions and some logical/pattern recognition questions. The second assessment is a work simulation and two average difficulty coding questions. The video interview was more of a casual chat with an engineer at Amazon.


  4. Helpful (115)  

    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

  5.  

    Software Development Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Positive Experience
    Easy Interview

    Application

    I applied online. I interviewed at Amazon.

    Interview

    Completed the online assessment part 1. It had two parts, code debugging (Java, C or C++) and logical reasoning (pattern recognition type questions). Preparing for the online assessment part 2.

    Interview Questions

    • The code debugging questions (for C) involved some questions which had syntactical errors. But majority had logical errors.   1 Answer

  6.  

    Software Development Engineer Interview

    Anonymous Interview Candidate
    No Offer
    Positive Experience
    Average Interview

    Application

    I applied online. I interviewed at Amazon in September 2017.

    Interview

    First online assessment was debugging and reasoning with 7 questions in debugging (20 minutes) and 24 questions in reasoning (35 minutes) . Both sections were easy. The coding had simple errors . Waiting to attend the second online assessment

    Interview Questions

    • Simple errors in debugging (7 questions)   1 Answer

  7. Helpful (1)  

    Software Development Engineer Interview

    Anonymous Employee
    Accepted Offer
    Positive Experience
    Easy Interview

    Application

    I applied online. I interviewed at Amazon.

    Interview

    Went through just the telephonic process. Waiting for response. The interview was very friendly. Helped me to solve the problem. Wrote all the ways to solve the question and interview was impressed. Wrote the most efficient way in O(n), the interview asked to write less efficient which I couldn't, still everything went fine.

    Interview Questions

  8.  

    Software Development Engineer Interview

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

    Application

    I applied through an employee referral. I interviewed at Amazon (Seattle, WA).

    Interview

    It was about 6 hours of Technical interview at their Seattle Office. Before hand I had only had done a phone screening and the online exam. Everyone was very nice. The interview was very long specially that I had flew in the night before.

    Interview Questions

    • Study Hackerrank and similar websites. Practice and be ready to talk about yourself and regarding behavioral questions. It is ok not to know the answers but it is important to walk through your thought process.   Answer Question

  9. Helpful (7)  

    Software Development Engineer Interview

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

    Application

    I applied through a recruiter. The process took 2+ months. I interviewed at Amazon (Seattle, WA) in August 2017.

    Interview

    I applied for a position in Boulder, CO with Worldwide Advertising.

    I completed an online coding challenge that was 2 questions in 90 minutes. For this portion, your code will tested against unit tests. You'd be able to see the inputs/outputs of a couple of the unit tests, but the rest you wouldn't. It was pretty similar to other online coding challenges. I got 1 problem passing with 12/13 unit tests and didn't get the other one.

    Next up was the phone screen. This lasted roughly an hour and consisted of a couple of behavioral questions along with a coding problem done on a shared editor. For my first phone screen, I thought the interviewer was friendly, kind, and definitely wanted me to succeed. I believe I had the general approach down and most of the code. It wasn't perfect, but I think I showed I had the right idea and would get it.

    After this, I was invited to have an onsite interview. My choices were a Monday or Friday in Seattle or wait until they had an onsite in Boulder. I was fine with either and they chose to fly me out to Seattle. They put me up in a hotel about a mile from the office that included breakfast in the rate. I got some say over the flight times and the travel company they used even allowed me to use my frequent flier account. I had four interviews.

    The first onsite interview did not go well (data structures / algorithms + behavioral questions). They brought a laptop for me to use, but they spent 15 minutes of the 60-minute block trying to get the internet connection to work. We ended up using the whiteboard. After being given the problem, the interviewer immediately asked what my algorithm was. I replied that I needed to think about it, to which he retorted that he needed to know my algorithm. I drew out some quick sample inputs on the board that I could work through. The interviewer did not like how I drew them and insisted I redraw them to his liking. I came up with an approach and then proceeded to write code. While I was writing the code on the whiteboard, the interviewer interrupted me to let me know that I "need to write code or this won't go well for you." I replied that I'm writing code. Eventually, we ran out of time. At this point, he stated that there were "so many problems" with my code. Throughout this whole interview, he was letting out angry/frustrated sighs and interrupting me to reiterate things (like, "I need to know your algorithm" or "you need to write code" while I'm writing code). Maybe he was the "bar raiser" and this was all intentional, but I don't think it was. This guy was rude and mean. I later looked him up on and assuming I found the right guy, there was a chance I could report to him. Had that been the case and I was offered a job, I would not have accepted it.

    The second interview was object-oriented design. This interviewer was much nicer. She also asked some behavioral questions.

    Next up was the systems design interview. If you read the recommended book, it was exactly like they describe (they even used a question from it). This interviewer also asked a couple of behavioral questions.

    The fourth interview was another object-oriented design question and behavioral questions.

    Lastly, they had someone take me out to lunch. We just went to the onsite cafeteria. They say this isn't an interview, but don't believe it. I think this was an interview trying to gauge your motivation for wanting to work at Amazon and see if you'd be a good fit from a personality perspective.

    After a few days, I was contacted by the lead recruiter and told they needed more data points and wanted to do an additional phone screen. This was then setup for the following week. This was exactly like the first phone screen (coding problem and a few behavioral questions).

    Ultimately, I didn't get the job. It is their policy not to provide feedback and was told I could reapply in 9-12 months.

    My advice would be to first read the recommended book. This will give you a good idea on how to approach the interviews in general. Multiple questions from my interview were in this book.

    As far as the coding for the data structures and algorithms, go to Leet Code and work those. At least one of my problems was in there. You need to be able to solve Leet Code's algorithms problems (of difficulty medium) in an hour window. In retrospect, I should have spent more time on this aspect.

    Lastly, the recruiters will tell you to have 5-6 examples that show their leadership principals. The problem here is that over the course of 6 interviews, each asking at least two behavioral questions, you'll quickly run out of examples. Reusing the same examples is not good. Also, over the course of two months, it was hard for me to remember what examples I used.

    In general, the recruiters will give you great advice.


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.