Amazon Interview Experience | Software Engineer

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
what's going on everybody so you have an interview coming up with Amazon well you come to the right place I've gone through the entire Amazon interview process not once but twice I've also had fun interviews with Amazon on two other occasions and I did an internship with Amazon which is kind of like half of an interview because you do an online assessment and a phone interview so it's not as rigorous as going for a full time spot so the Amazon the interview process is going to be pretty standard for all engineers so you're gonna have your initial call with your recruiter and they're gonna set you up for a 45 minutes to one hour full interview and if you pass the phone interview you're gonna be invited to an on-site interview which is gonna be four to five back-to-back interviews so I have my called recruiter and he lets me know about the position and he says that it's a SC 1 which is sophomore develop software development engineer 1 which is the entry-level software engineer for Amazon now SVT ones are kind of rare because they're generally reserved for their interns who get return offerings so it's kind of rare to see an opening just first straight up sd1 usually going to be sc2 and above so he sets me up for a phone interview about a week or two later so the engineer calls me for the phone interview he's an engineer that would be actually working on the team that I was interviewing for initially the call starts out with him talking about my background he talks to me about different AWS tools I've used such as lambda API gateway he let me know that they actually use a lot of the similar tools so we kind of just wanted to gauge kind of what my experience and what my knowledge level was in those tools the second part of the interview was a coding exercise now the coding exercise was if you ever done beat code it's called twosome it's a pretty trivial problem if you've seen it before there are several ways different ways to solve it with different time and space complexities and if you've ever watched any of my leak code videos I always stress that you want to talk about it before jumping into the code because this is definitely a problem I would have been like oh I've seen this before let me just start coding it up but you definitely don't want to do that so I talked about the different ways that you could solve the problem so I initially started with an N squared solution which is a pretty slow way like kind of like a brute force way to solve it and then he let me know that he wanted like was like okay yeah that way works but you know can you think of a faster way to do it so then I just went through like I'm not gonna go too much into the technicals but I just talked about different ways to solve it and then finally we came up with a solution that he was happy with and then after that I just was like okay you want me to go ahead and code this solution up and he was like yeah and since we already talked about how I was gonna solve the solution and I had kind of like the pseudocode steps down I solved I probably wrote the code up in like two or three minutes and then he gave me about five to ten minutes at the end just ask him any questions that I had and for this part you always want to have at least like one or two questions ready just in case you never want to say no I don't have any questions alright see you later usually it's good to ask a couple questions even if it's like something you're not really even that interested in but it's good just to have something prepared so the next day my recruiter reaches out to me and he's like congratulations you know the interview was very impressed impressed with you and we would love to bring you in for an on-site interview so we scheduled the interview about three weeks out they send me like the booking information this was actually I was flying from San Francisco up to Seattle which is where the job would be and that's where the on-site interview was so I booked the hotel and I booked the flight for a few weeks out and what they did for this interview that they hadn't done before was they actually set me up for about a 30-minute call with another I don't know if they were like a recruiter or what they were but it was just another person that was like a prep interview and this interview was actually super helpful because she went through every single enugu that I had and she was like okay you're in a movie with this person at this time this is the topics that they're going to cover so I really had a good opportunity to prepare because I already knew kind of what they were gonna ask now if you don't know Amazon has 14 leadership principles now these principles really define what Amazon's culture is about they use them when they're deciding new projects are kind of like what direction they want certain things to go in a couple examples are our customer obsession so they're always kind of thinking in terms in the perspective of the customer when they're trying to develop something another thing could be inventing simplify sometimes the best answer is something that's not super complicated something that's simple so a couple of examples and when you're interviewing they really stress and one look for these principles and the people that they're interviewing they want to make sure that the person would be a good cultural fit for the company so I really can't stress enough how important these are in the cow well you need to know these when you're going into the Amazon interview so what I did was I went through all 14 principles and I thought of a minimum of two examples in my career that kind of aligned with what the principles work so an example of this would be one of the leadership principles is ownership so one example of ownership would be okay so in my previous job I had this application that I had to add a feature to and no one on my team really knew this application at all because the previous person that worked on it had left so I checked out the application kind of went through it and understood it and I made that one change now from that point on since I was really like I had to step up on everyone else on the team anything that came in based on that application like any changes that need to be made I kind of took ownership of the application was like okay yeah I could implement that so few weeks later go by and finally I had my on-site interview I flew in to Seattle the night before and I left the day after so the day of the interview comes and I have four interviews with four different engineers and this interview was a little bit different because Amazon generally has what's called a bar raiser interview which is going to be one engineer from a different team that comes in and it's kind of more of like a general interview and they want to see if you meet the bar of a Amazon engineer and this person has the most power so if you have five interviews and four people pass you and the bar raiser rejects you it's an automatic rejection however in this interview the recruiter let me know that they're actually going to be doing something a little bit different because I asked I was like is there gonna be your bar is it for this and they were like well that's a good question we're actually trying something different where we're not gonna have a bar raised that we're just gonna have all your interviews be from the the particular sector that you're on so Amazon games so I get to the lobby I mean with my recruiter and he introduces me to the first interviewer and we go to the room and we start the first interview so the leadership principle here was insist on the highest standards and they won't ask you like oh think of a like name a time where you had you insisted on the highest standards it'll be like a question that kind of relates to that so when you're actually answering your question if you actually mentioned the like actual leadership principle that's a huge bonus and this is something that I noticed when I was interviewing the interviewer will be typing down what you're saying and I remember that anytime I like explicitly set it leadership principle they'd be like oh they think start typing it down so if you say by a name it's like a huge plus so I remember exactly what the question was but I just talked about how like you know it's important to have like code reviews and you know I gave and also like had a lot of coding we code reviews myself and that's one way where we were insisting on having the highest standards in our code now the technical part of this was an object-oriented concept question so being that I'm going for a gaming position they asked me how I would implement the game the card game Crazy Eights in a object oriented manner now if you don't know what the game Crazy Eights is you can look that up but basically what I did was I split everything up into the different objects that there could be right you could have like your player you can have an a specific card object you could have the deck of card object things of that nature now the thing that that are going for was making your objects as modular as possible so this would be something like not defining your cards in your deck like having your cards be separate and then having your deck be like a list of your list of 52 cards so I have everything lined up on the whiteboard I have all my objects listed out and the tricky part was actually the follow-up question and he was like do you know the game Uno and I was like yeah and then he was like it's very similar to Crazy Eights except they're slight differences that you have to make and he's like basically take what you have on the board and turn it into the Crazy eight or turn it into no and honestly if you design your objects well there really aren't too many changes here like you have to double the size of the deck you have colors instead of suits like things of that nature so we get to the second interview and this is with another engineer on the team and he asks me about a data structures and algorithms problem so I get to the second interview and the leadership principle is covered in this were ownership and delivering results the coding problem for this was a data structures and algorithms problem and it was related to graphs so the problem was given an adjacency matrix which represents a directed graph find the shortest path between two nodes on that graph so I immediately was like okay this sounds like if you're finding the shortest path between two nodes - sounds like Dijkstra's shortest path algorithm however I haven't looked at Dijkstra's in many years so I just like wasn't coming to me at the time so I kind of struggled with this was this interview problem what I ended up doing was just doing a depth-first search on the matrix and then just kind of seeing like keeping like a global variable of what the shortest path was between those two nodes probably wasn't exactly what he was looking for but he was kind of like okay yeah let's just like go with that approach so then after that I have a one-hour lunch interview which is off the record interview it was with another engineer on the team he took me out for lunch and then I let me ask any type of questions that I have about the about Amazon and about the specific team so I guess is a third interview and it's actually with the person that I have the initial phone interview with the two leadership principles covered in this were dive deep and buys for action now I was given a list of buys and a list of selves for the day and what I had to do was basically go through the buys or go through the cells and basically kind of match when something can be bought and something could be sold so the main focus of this was code maintainability and code modularity so basically what I did was I had two functions one for buying and one for selling so I went out and implemented both of those now the follow-up question was okay you have two methods and they were kind of doing the same thing it was like how could you combine these into one method that could be used for both buying and selling I felt like I did well in the first two parts where I was implementing to two functions but then when it came to the actual second part that's where I struggled a little bit it finally came the last interview of the day which was with an engineering manager for Amazon game studios but it was for a different team that I was going for so the two leadership principles covered in this were learning be curious and have a backbone so the behavioral question that he gave me was basically name a time where you had to a disagreement with your manager and kind of how you pushed back on what he was what he wanted to do so my answer for this was my previous job we had an application that we were supporting however it was running on Microsoft Silverlight and it only runs on Internet Explorer so what I proposed was doing a rewrite of this that would be you know work across all browsers and my manager was like well you know yeah we that is important but you know it's not really one of our priorities right now and I kind of push back and I was like well the only ones on ie so if you have a Mac and you're running Safari you can't run it you have to rope-like install an older version of Mozilla which introduces security risk so I think that it's a high priority and it's something that we do need to work on and eventually my manager gave me the green light to work on it so the second part of the interview was a coding question and the question was given a size of a lake you have rocks within that lake and you're basically starting at the beginning of the lake and you're trying to get to the end of the lake and you can only jump in increments of two and five so and you can jump forwards or backwards and he's like basically code out a way to see if it's possible to get from one side of the lake to the other only jumping on those rocks so what I did was I actually drew out a recursion tree and I was like okay if you start here like you could go to step so you go five steps this is where you end up and I kind of like branched it out and I think that's something that he really liked so after I had the recursion tree I wrote out I was like you want me to write pseudo code he's like no just jump straight into the code so I went ahead and implemented the code there at that point it was like four or five hours in and I was like pretty exhausted I felt like I could have gone a little bit faster but I mean at that point it's like if you can get it like a working solution then that's good enough because there are a couple parts where he was like there were improvements that I could have made within the code and I just like wasn't seeing it even though I was a hugger rhythmically correct there were like some optimizations that I wasn't able to figure out but overall I think that was probably the best interview that I had so afterwards I would say I was kind of like 50/50 on whether I thought I was gonna get an offer or not so about a week later the recruiter follows up with me and he's like I have some news and it's probably not the news that you want to hear but it's not like the worst news so he actually told me about the meeting that was discussing my application and he was like basically it was split right down the middle he was like a couple of that engineers kind of like weren't sure a couple of them wanted you so since it was kind of split they didn't want to really take a chance and hiring someone that eventually wouldn't be a good fit so they decided to reject me as a software development engineer and he was like however we would like to offer you the position of a support engineer so he sent over kind of a job description of what a support engineer was and to be honest I was not really feeling man the position was more about like it was more like a IT position or like if something was wrong a ticket would come in and you'd kind of have to figure out what's going on there but it wasn't a development position which is what I was going for ultimately I decided to turn down the position and the recruiter you understood but he was like let's reconnect in six months and let's you know see if there's anything available for you so overall it was a good experience the recruiter was very responsive everyone that I interviewed with was very smart very professional you know and I tried my best so I don't really have any regrets about the interview I already had a position lined up so it was kind of a bonus if I'd if I needed to get it all right and that's all I have for you guys in this video thanks for watching please like and subscribe if you have any questions or comments about what was maybe if you want me to get more into detail about what was asked just leave it down in the comments below and I'll do my best to try and answer but other than that that's all I have for you guys hopefully you guys enjoyed the video and I will see you guys next time
Info
Channel: Keep On Coding
Views: 137,799
Rating: 4.9380851 out of 5
Keywords: coding interview, programming interview, technical interview, software, interview, software engineer interview, software engineer, coding interview questions, software interview questions, coding, java, java programming, technical phone interview, leetcode, amazon, facebook, google
Id: baT3OzbOg5s
Channel Id: undefined
Length: 15min 10sec (910 seconds)
Published: Sun Aug 04 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.