The Amazon intern interview experience includes two VO rounds, each lasting one hour, both with the AWS Security team—one interviewer is an SDE and the other an SDE Manager. Both interviewers are white and have been at Amazon for over ten years. Each VO round follows the same format: two behavioral questions (BQ) with follow-ups, plus one coding question. Amazon’s VO interviews are highly distinctive—you can’t get through them by just practicing a few problems or memorizing a handful of scripted answers.
Timeline
1.4 Delivery
1.5 SDE intern OA
1.8 OA completed
1.13 VO survey
1.14 VO date confirm
1.27 VO
1.29 Received the pass notification email and am waiting for offer discussions
Amazon intern VO first round
BQ
- What do you do when you encounter difficulties at work?
- How do you encourage your team and come up with a solution when the team runs into difficulties?
- why Amazon?
Coding
Coding 1:Given a string array words, each word can be written as a combination of Morse code for each letter. For example, "cab" can be written as "-.-..–…" (that is, the combination of "-.-." + ".-" + "-..." strings). We call such a connection process word translation. Perform word translation for all words in words and return the number of different word translations.
The idea is to iterate over each word, then iterate over each character in the word to build its corresponding Morse code transformation. Use a set to record all distinct transformations, and finally return the size of the set. This is a straightforward problem that many of you have likely encountered while practicing coding questions.
Coding 2: You are given a string s and a dictionary of strings wordDict. Insert spaces into s to form a sentence such that every word in the sentence exists in the dictionary. Return all possible sentences in any order. Note that the same dictionary word may be reused multiple times in the segmentation.
The idea is to use DP. Building on the dynamic programming approach, we modify the dp array so that each entry stores a vector. For an element j in dp[i], it means that s[j..i) is a valid word. In this way, all possible segmentations of s are stored as pairs (j, i). Starting from dp[s.size()], we backtrack through these (j, i) pairs and concatenate the words to reconstruct valid sentences. Since dp[i] may contain multiple predecessors (i.e., there can be more than one way to split), we need to use recursion during the backtracking. T2 can be seen as a follow-up to T1 and is relatively challenging, but the assistance still helped me pass smoothly.
Amazon intern VO second round
BQ
- Give an example of time when you deliverproject under tight ddl.
- What’s the coolest thing you have learned onyour own that helped you better perform your job?
Code
A classic hard problem: given a string and a list of words (all of the same length), find all starting indices of substrings in the string that are exactly formed by concatenating all the words in the list.
The idea is to first use a hash table to record the frequency of each word, then traverse the possible starting positions of the string, split the substrings of corresponding lengths into words of equal length, and finally count the frequencies. If the temporary hash table completely matches the original word frequency table, record the starting index. You can group and slide by word length to reduce repeated calculations.
Job search assistance is a race between time and quality. Consult Programhelp to get the most professional tech career support.