I had two rounds of interviews for the Software Development Engineer I position at Amazon. The process took place on August 25th, following 30 days of preparation on LeetCode.
First Round:
The first round involved a brief introduction with the interviewer, who was a Senior System Development Engineer. He started with a coding question related to dynamic programming, focusing on counting the maximum of something. I took some time to gather my thoughts and asked a few clarifying questions about the data constraints. After explaining my approach, I wrote the code, dry-ran it, and shared it with him. The second question was about Binary Trees, which I tackled by simultaneously explaining and coding due to limited time. He pointed out a small mistake, which I corrected. The round lasted about 40 minutes.
Second Round:
In the second round, after the introductions, I was asked a leadership principle question: "Tell me about a time when you didn’t know what to do or how to solve a problem." I provided an honest answer based on a work situation. The interviewer seemed pleased. The coding questions in this round were on Strings and Arrays. I solved the first one in 20 minutes, discussing various approaches. The second question was a more complex string-related dynamic programming problem. I initially proposed a solution, identified its flaw, and then came up with a working solution. We ended the interview with a discussion about the work culture.