Amazon Summer Internship Interview Experience (On-Campus)
Round 1: Online Round (2 hrs)
Online Round was divided into 3 sections.
1. This section had 7 questions. Parts of code were given and we were asked to debug them according to the expected output. These were easy questions and anyone with little knowledge of programming can solve them.(15 mins)
2. This section had 24 questions comprised of basic logical reasoning questions.(35 mins)
3. There were two coding questions in this section.(70 mins)
- Given a matrix sorted in row-wise and column-wise manner, check whether given element exists in the matrix. Hint: Use binary search for every row. Time Complexity O(nlogn).
- Find average waiting time of given processes executed in Round-Robin manner with given time quantum. https://www.geeksforgeeks.org/round-robin-scheduling-with-different-arrival-times/
Also, after the completion of online round there was a post-contest survey. You must fill out this survey fairly.
Round 2: Face-to-face Interview (1 hour)
At first he asked me to introduce myself. You can brag about things you have done since your childhood but that is not something any interviewer wants to hear. He is only interested in your technical development in recent years. Try to focus on what you have learned and accomplished in past couple years (only technical parts).
After the introduction he asked me about my project, its functionality and my contribution in it.
Then he asked me 2 programming ques:
- Given an array of number of coins in different houses, find the maximum sum you can obtain by adding equal amount of coins from a sub-array. Hint: https://www.geeksforgeeks.org/the-stock-span-problem/
- Given an array and a value k, you have to find maximum in all different sub-arrays of size k. Hint: https://www.geeksforgeeks.org/sliding-window-maximum-maximum-of-all-subarrays-of-size-k/
I would suggest everyone not to dive directly into final solution. Instead explain the interviewer all the different possible solutions starting from worst-case to best-case time complexity. This suggests the interviewer that you have proper knowledge of the given topic. Another advice don’t start coding directly, at first propose an algorithm that you think is precise and then analyze your algorithm (time and space complexity) and then start coding. Don’t miss the corner test-cases, no matter how good you are it can happen to anyone, better safe than sorry.
After programming questions the interviewer asked me questions related to CN, OS, DBMS and OOPS concept.
In CN he asked me to explain everything that happens in the background after you click on a link.
In OS he asked me everything about Paging, from its need to all the concepts related to it.
In DBMS he asked me about ACID properties along with examples.
Then he asked me about OOPS concept. Remember examples are important.
Then he concluded the Interview by asking me if I have any questions. This is Important you must prepare at least one question in advance. I asked him if I need to prepare anything in advance for the internship if I get selected.
Last but not least some important preparation stuff:
Good Luck to everyone!!