Hello everyone. Here is my interview experience at Amazon for an internship.

Duration – 6 months

Rounds – 1 online test + 2 Personal Interviews (F2F)

**Round 1:**

The first round was comparatively easy. Here I had to give an online test which consists of 20 MCQs in which there were general aptitude questions, OOP, output, etc. In addition to this, there were 2 coding questions:

- https://www.geeksforgeeks.org/number-of-ways-to-get-a-given-sum-with-n-number-of-m-faced-dices/
- This was a question on String that I don’t remember.

**Round 2:**

For this and the next round, I was called to Bangalore. This round was of 1hr approx. I was asked 2 coding questions:

- https://www.geeksforgeeks.org/search-an-element-in-a-sorted-and-pivoted-array/
- https://www.geeksforgeeks.org/merge-k-sorted-arrays-set-2-different-sized-arrays/, there was a slight difference though. If there are k arrays, the last array had n elements but the total size of this array was equal to the sum of sizes of all the other arrays and n. I was not allowed to use any extra space. To solve this question, I had to use a max heap of size k from the end of and the result was inserted at the end of the last array each time.

**Round 3:**

This round was of 1hr 20 mins. In this round, there were 3 parts, first and last were coding while the second was the theory. The 3 parts in the sequence were:

- Each node in a tree generally has utmost 1 parent and 2 children, in the given tree each node can have utmost 2 parents and 2 children. Each node had a value associated with it. I had to find the maximum sum that I can get by traversing from the root to the leaf most efficient manner. The values of each node can be negative too. I had to solve this in O(n). To solve this I had used Dynamic Programming.
- Regarding the theory questions, the questions were:
- Difference between ipv4 and ipv6 except for the length.
- What is memory virtualization?

There were 2 more questions, to be honest, I was not able to answer any of the theory questions that the interviewer asked me. When I was not able to answer the questions, he asked me to tell him about my projects. I explained all the projects I had. He also told me to tell of what all I knew about the Operating System and I explained everything I knew for 15-20 minutes.

- Given an array of nodes, each node represents a road which connects 2 cities. I need to find whether there exists a path between the given source and destination city. The roads are can be traversed in both the directions i.e from A to B and from B to A. First I created a hash map of type <String, ArrayList<String>()> ((city), (consisting of all the cities that I can reach from that city)) and then I applied BFS on it. Refer to the link to understand the BFS part – https://www.geeksforgeeks.org/find-if-there-is-a-path-between-two-vertices-in-a-given-graph/

I was able to answer all the coding questions properly but not the theory questions but luckily I was selected 🙂

Important Advice – Don’t give up on the coding questions, keep trying till you find a solution. If you get stuck on something, the interviewer gives you a hint to help you out. Even if you are not able to answer the theory questions but can solve the coding questions well then you will get selected.

**Verdict:** **Selected**

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****. **In case you are prepared, test your skills using **TCS**, **Wipro**, **Amazon** and **Microsoft** Test Serieses.