Background
Amazon Interview Experience
I applied through linkedin and contacted by a recruiter. No OA and straight through the virtual interviews.
The general process is that they give you 1-2 weeks notice for a suitable time for both you and the interviewer and the recruiter explains the interview process. The fundamentals is that you start with basic introduction + coding exercise + LP questions (found on the amazon.jobs website) + 5 mins in the end for any questions that you might have.
First Interview
The first interview was scheduled for early january. The interviewer was really nice and casual. He was warm and talked about his posititon at Amazon to brake the ice and smooth me in the process. He then asked about general info on my resume and for me to give a simple intro. After that this coding exercise followed https://leetcode.com/problems/rotate-image/. Found the optimal solution in terms of time in 2-3 minutes. Coded it up and explained the thought process. After the interviewer was happy with the result he asked about optimazations in terms of space complexity (O(n^2) to O(1)). Found out the solution without any help, coded around 85% of it but didn't have time to finish it since he wanted to ask me LP questions. The first one was to talk about a situation were I solved a problem on the spot quickly and the second one was a situation where I worked with customers to imporve the product. This round went quite okay although wasn't really pleased on the behavioral part.
However in 3 days I got a reply back in orded to continue to the next phase.
Second Interview
The second interview was 2 days ago. Different engineer this time (head of applied science). He wasn't that helpful in the introduction. He just explained the interview process and went straight to behavioral questions. These were a time I made something that I was really proud of and the second one was about how I go about solving problems. Then the coding session followed. He didn't give me a handwritten problem or a prompt. He just straight up told me to make a program to present an algorithm similar to the bucketFill tool. So essentially starting from a pixel, find all the neighbors with the same color. He obsessed over using c++ (since they were mainly using it for all the projects in the team). I agreed, came up with a solution with the worst space complexity first. Coded it up and then he went super hard on me for doing memory managment on my own while initializing a vector. Tbh there was a bug at the initialization process, that I figured out after the interview was over but at the time couldn't see it. So after him insisting I scrapted the initialization part since in most cases the vector constructor initializes all the elements to 0. Also he asked me about the difference between a pointer and a reference, that I couldn't answer. Finished with the solution, but there was another bug that he commented on. Afte that I came up with the optimal solution but didn't have time to code it and tbh I was pretty disheartened by his previous comments and thought I was doing really poor so I didn't even want to continue. Finished the process with some questions of my own. I actually think I bombed this part for the sole reason that he demolished me with syntax errors and bugs.
Final Notes
Still waiting for the response although I am expecting a rejection (will update the post when I get the answer). Although the interviewer on my second interview was somewhat agressive and tore me apart with questions, I can definetely say that the whole process was enjoyable, went really smooth and the interview climate is really friendly. For the coding part I should have probably refreshed my knowledge of c++ a bit, since I had to code in it for quite some time. All in all everyone was professional and sharp, from the recruiter to the engineers, and the process was really swift.