# Amazon Interview Experience | Off-Campus for Internship

• Difficulty Level : Easy
• Last Updated : 10 Jan, 2020

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

My Personal Notes arrow_drop_up
Related Articles