# Amazon Interview Experience | Off-Campus for Internship

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:

1. https://www.geeksforgeeks.org/number-of-ways-to-get-a-given-sum-with-n-number-of-m-faced-dices/
2. 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:

1. https://www.geeksforgeeks.org/search-an-element-in-a-sorted-and-pivoted-array/
2. 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:

1. 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.
2. Regarding the theory questions, the questions were:
1. Difference between ipv4 and ipv6 except for the length.
2. 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.

3. 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

Write your Interview Experience or mail it to contribute@geeksforgeeks.org

My Personal Notes arrow_drop_up

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :

5

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.