Amazon Internship Interview Experience | On-Campus
Round 1: Online Test
This test was conducted on the AMCAT platform. This round was of 2.5 hours and comprised of 4 sections:
Become a success story instead of just reading about them. Prepare for coding interviews at Amazon and other top product-based companies with our Amazon Test Series. Includes topic-wise practice questions on all important DSA topics along with 10 practice contests of 2 hours each. Designed by industry experts that will surely help you practice and sharpen your programming skills. Wait no more, start your preparation today!
- This round comprised of 7 debugging questions and we were allotted 20 mins to solve them. The debugging questions were fairly simple. Students could choose whichever language(C++, Java, C) they were comfortable in to attempt the debugging questions. For this round, I would suggest one have a sound knowledge of the very basics of programming. One should know the difference between pre-increment and post-increment operators, various sorting algorithms, conditional statements, and the implementation of basic data structures.
We were given two coding questions and were allotted a total of 70 mins for this round. There were different sets of questions. Questions in my set were as follows:
- Given an N-ary tree with each node assigned a value, return the reference to the node which has the highest average of all the values included in its subtree and itself. This was a fairly simple problem if you have a good understanding of trees and their traversals.
- I solved this question in a bottom-up manner. I had created a class Pair that had two properties Total value of all the nodes present in a given node’s subtree, Total elements present in the given node’s subtree
- One object of the ‘Pair’ class was associated with each of the nodes and was passed up to the parent for the required calculations and computations.
- Given a string, find the number of a distinct set of partitions that can be made such that each partition is a prime number https://www.geeksforgeeks.org/count-of-ways-to-split-a-given-number-into-prime-segments/
- This was a good question as it involved quite a heavy implementation of sieve, backtracking, and dynamic programming for time optimization.
- This round comprised 60 leadership questions. It is comprised of various situational questions and tests your reactions towards various situations. It also checks your leadership principles, your overall moral values, your priorities, and what you are as a person overall. Each question had a slider where you had to slide the slider to the level you consider to define you the best. This round was of nearly 20-30 mins.
- There were 24 aptitude questions and was of about 30-40 mins in duration. The questions were fairly simple. Logical Reasoning and conclusion-based questions are one thing I’d suggest the students practice a little bit to gain speed and clarity.
Nearly 250 people had sat for the first round and 55 were shortlisted for the interviews.
Round 2: Interview Round
This is generally a 50-60 minutes interview round. This is taken on the platform Amazon Chime.
- My interviewer started off by giving a small introduction of himself and asked me for mine. In my introduction, I had explained my growing interests in the field of web development so he asked me a little about my projects and the tech stack(MERN) I used.
- How has the MERN stack resolved the issues you faced earlier.
- Why ReactJs? (Reconciliation, Virtual DOM, Diffing Algorithm, Reusable Components)
- How is ReactJs better than its competitive frameworks?
- What do you mean by single-threaded, non-blocking I/O?
- What is an event loop?
- Difference between SQL and NoSQL databases
- Why MongoDB?
- The basic idea of my project
- How would you resolve issues faced in Cowin App?
After a 20 minutes long discussion on my project, he moved on to the DSA questions
- Given a stream of infinite characters(not necessarily alphabets) return the first non-repeating character in a stream whenever asked. I explained to him the basic approach using a Queue and HashSet/HashMap. However, he wanted a more optimized approach where both the input and output functions were to performed in O(1) time. I was stuck in this but the interviewer was very friendly and gave me a lot of hints. The interviewers always see if you are able to reach the approach to follow the hints they give you very rigorously. Finally, I could solve it using a Doubly Linked List using a concept similar to LRU Cache. https://practice.geeksforgeeks.org/problems/first-non-repeating-character-in-a-stream1216/1
- A very standard Breadth-First Search(BFS) question where I was given good and rotten cells and each rotten cell could rot the nearby good cells in 1 unit of time. Calculate the time taken to rot all the good cells. https://www.geeksforgeeks.org/minimum-time-required-so-that-all-oranges-become-rotten/
- He finally asked me If I had any questions for him. I asked him about the work culture at Amazon. The work-life balance at Amazon and feedback if any(don’t ask this).
Finally, 25 students were offered the summer internship at Amazon and I was lucky to be one of them
- Go through the previous year’s Amazon questions. It can easily be found on the GeeksForGeeks portal.
- Go through the Leadership Principles of Amazon. Will help you a lot.
- Keep communicating with the interviewer and let him know about your approach. Ask for edge cases and keep your confidence high.
I would like to thank GeeksForGeeks for helping me through my preparation journey. All these questions are already present on the GFG portal. Go through them thoroughly