AmazeWoW is a development initiative with internship and FTE SDE (Full-time Software Development Engineer) opportunities for Amazon in India, focused on bringing in top talent from engineering institutes. I got to know about the program through my campus placement cell. I applied for the role at the AmazeWiT portal and passed the resume screening.
In about two weeks, I got the confirmation for being shortlisted for online assessment for the 6 months Internship + FTE role.
Round 1(Online Assessment): This online assessment comprised of 30 questions with 2 coding questions and 28 MCQs.
- It was one of the most common Dynamic Programming problems: Longest decreasing sub-sequence.
- It was an easy question that needed us to find out the mean, median, and mode in an array.
The MCQs were difficult that required a good understanding of Computer fundamentals. I was shortlisted for the Technical Interview Round 1. Amazon organized various webinars to guide candidates for the interviews.
Round 2 (Virtual Technical Interview 1): This was round 1 of the Technical Interview series. The interviewer didn’t seem to be interested in knowing about me or anything else, so he immediately started with the coding part. It was a 45 minutes interview with 2 coding questions:
- There is a stream of numbers scattered in memory, and we need to find out the frequency of corrupted data. Corrupted data resembles a given pattern. (Not sure if this was the exact question. It was a bit confusing.)
- This problem was a variation of one of the most famous Graphs problems, the Number of Islands. We’re given a 2D matrix of 0’s and 1’s, where 1 represents land, and 0 represents water. All the 1’s together represent an island. So, we need to find out:
- The number of islands
- The size of the largest island
- Number of islands nearest to a given coordinate
I could attempt both the problems but wasn’t able to satisfy the interviewer with my approach. I couldn’t move ahead for further rounds.
- Didn’t understand the question completely: I couldn’t understand the first question correctly. So, I tried every possible approach I could think of at the moment and most of them were not relevant to the question asked.
- Didn’t perform self testing of the code: For the second question, I completed the first two parts correctly but for the third part, I neither reviewed my code nor performed the testing.
- Impressive Resume: Prepare an attractive resume. Include only relevant things with minimal words. You can follow this guide “How to write a resume: The Complete Guide”
- Understand the problem completely: If you don’t get the question, ask the interviewer twice or thrice until you get the question correctly.
- Keep talking: During the whole interview, you should be talking to the interviewer because if you stay silent, the interviewer won’t understand your thought process.
- Don’t jump to coding: First, try to explain your approach to the interviewer and try to optimize your approach as much as you can. After you’re done with maximum optimization, you can code it now.
- Comment your code: For every line of code, write short comments for your and interviewer’s ease.
- Always review your code: When you’re done with your coding, try to explain the algorithm with a sample test case and perform the complete dry run.
All the best everyone!