Hello everyone. Here is my interview experience at Amazon for an internship.
Duration – 6 months
Rounds – 1 online test + 2 Personal Interviews (F2F)
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:
- This was a question on String that I don’t remember.
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/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.
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.
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.