Open In App

# Amazon SDE-1 FTE/6 Months Internship Experience – AmazeWow 2021

Online Coding Test: The test consisted of 28 MCQs primarily focused on C/C++ outputs, data structures, OOPS Concepts.

Two coding questions were also asked:

1. Given an equation of the form X + Y =Z where one of X, Y, Z is missing, find the missing variable’s value.
2. Count Derangement (Permutation such that no element appears in its original position)

After clearing the coding test, I had virtual interviews.

First Round: It was a coding round. Three coding questions were asked.

1. Find the number of page faults given cache size ‘n’ and the page replacement algorithm is LRU.

I solved this using a doubly ended queue in python. The interviewer was convinced by this approach.

2. Given a very large number ‘n’. Find the number of k digits with the second-highest frequency.

Ex:

```n=12341234567856785678 k=4
Output:1234```

3. Given various time slots, find the minimum number of blocks required to schedule deliveries.

Ex:

```Time slots: [1,3], [2,4], [16,20]
Output: 2 ```

This is a variation of the merging intervals problem. The interviewer asked me to do it in O(n) time.

Second Round: This was also a coding round. Two coding questions were asked.

1. Given a dictionary where the values are the connections of the key. Find if a person A can send a connection request to person B. A person can only send a connection request if the number of connections between the two people is at most ‘k’.
```Input: {1:[2,3,4], 4:[5,6],6:[7,8]} k=1 A=1 B=8
Output: NO```

I initially decided to use the DFS approach but the interviewer pointed out that I don’t have to calculate the path, only the number of nodes. So I applied BFS and kept track of the level. If the level exceeded k before i found the node, I printed No else Yes.

Third Round: This round was a technical round as well. One coding question and multiple concept based questions were asked.

1. Given a number ‘n’, construct all the possible structurally different binary trees(not BST)

Other questions that were asked were:

1. Difference between semaphore and mutex
3. Normalisation
4. Converting a given table to 2NF then 3NF and BCNF.

Fourth Round (Bar Raiser): This round was a mix of behavioral + technical questions.

It started with a discussion of my internship project. Then the following questions were asked.

1. Tell me about a time when you learned something on your own. Why did you learn it?
2. Tell me about a time when you had a conflict with your teammates and how did you handle it.
3. Tell me about a time when you were stuck at something. How did you handle it?

A few other questions regarding teamwork were asked

One coding question:

1. Given a list of dependencies of a module, print the build order of that module.
```Input: A-> B,C,D  | B-> C,F   |  C->E  Print build order of A
Output: E C F D B A  (Multiple correct answers were possible)```

I discussed the DFS approach and was asked to code it. The interviewer was satisfied with my approach.

After waiting for two weeks, I got my results. I was offered an FTE + 6 months internship.

Note: When approaching the coding questions, think loudly. Discuss your approach with the interviewer first and take into account the suggestions provided. Think about the time and space complexity of your code and discuss that with your interviewer. Most importantly, be calm and composed throughout your interview as it would help you a lot. 🙂