Amazon conducted a test in the month of June to help students enhance their problem-solving skills. This program was in collaboration with Coursera and was named CodeElevate. Although I was not selected for that program(CodeElevate), I received an invitation from Amazon to apply for 6 months Internship opportunity. After applying I received a confirmation mail 2 days later which stated that my Online Assessment would be on the 26th of July.
The first round was an online assessment that was taken virtually on the Hackerrank platform.
First Round:
This round was divided into three parts:
Coding Assessment
Workstyles Assessment
Feedback Survey
Completing all three steps was compulsory to clear this round. The coding assessment was 70 minutes long and it contained 2 medium-level questions.
After completing the coding assessment, I was redirected to the workstyles assessment which didn't take more than 15 minutes and then I was given a survey form to be filled out immediately.
A week after the First Round, on 2nd August, I received an email from the recruiting team saying that I had cleared the round and I would be having only 1 interview round which was held on 9th August.
I had one week to prepare for the interview. During this one week, I went through all the topics in DSA including Binary Trees, Graphs, BST, DP, Greedy, Strings, etc. I also solved questions mentioned in various Amazon Interview Experiences articles on different platforms.
Second Round:
The second round started on 9th August at 11 AM. It took place on Amazon Chime. There were two Amazonians in the meeting. One of them introduced himself and told me that he'd take the interview and the other one would be there to analyze the whole thing but wouldn't speak much. I was okay with this setting so we moved forward with the interview.
Firstly they asked me for my introduction and then directly jumped into technical questions. The interview started with a discussion on Objects and classes. I had already mentioned that I prefer to code in Java so he asked me some OOPs-related questions and then gave me my first question which was based on N-ary trees. I had never solved any N-ary tree-based question so I was quite hesitant at first but I tried to solve it anyway. It took almost 45 minutes to code the whole solution and explain it to the interviewer with test cases.
The second question was an easier one. At first, I came up with a recursive solution and the interviewer asked me to optimize the approach. After analyzing the test cases and discussing with the interview I came up with another approach which would take O(log n) ~ O(n) in the worst case. The interviewer was impressed by this solution and I was able to solve this within 15 minutes.
After that, the interviewer asked me if I had any questions. This is the most crucial part of an interview as your willingness to join the company is analysed at this point. I was prepared for this question and asked him some clarifying questions about what skills I should focus on before joining(if I'm selected). He gave me a general idea and said my team was not yet decided so I should focus on computer fundamentals, development, cloud, and practice DSA consistently. Then I asked him about feedback since this was my first interview and he told me that it was against the company's policy and he would directly talk to HR about it.
With this, we ended the interview and I was relieved since I was able to solve the questions and my interaction with the interviewers went well.
1.5 weeks later, I got an email from the Student Connect Team saying that I got the internship!
In the end, all my hard work paid off. I would like to urge the reader to never give up on their dream and always be prepared for any opportunity that comes your way.
Thank you! >.<