Amazon intern面经 的VO有两轮,每轮1小时,都是Aws security 组的,一个是SDE, 一个是SDE manager,两个白人都在Amazon 呆了10多年,VO每轮形式一样,2道BQ + follow up + 1道Coding,亚麻的VO真的太有辨识度了,不是随便刷几道题、背几句话术就能应付的。
Timeline
1.4 投递
1.5 SDE intern OA
1.8 OA 完成
1.13 VO survey
1.14 VO date confirm
1.27 VO
1.29 收到邮件通知通过,等待Offer沟通
Amazon intern VO 第一轮
BQ
- 你工作中遇到困难怎么办。
- 团队遇到困难你怎么样鼓励他们然后出方法解决这个问题。
- 为什么选择亚麻。
Coding部分
Coding 1:给你一个字符串数组 words ,每个单词可以写成每个字母对应摩尔斯密码的组合。 例如,”cab” 可以写成 “-.-..–…” ,(即 “-.-.” + “.-” + “-…” 字符串的结合)。我们将这样一个连接过程称作 单词翻译 。 对 words 中所有单词进行单词翻译,返回不同 单词翻译 的数量。
思路是遍历每个单词,遍历每个单词的字母,构造它的密码,用集合记录不同的密码,然后返回集合长度即可,这个简单的你们刷题应该也刷到过。
Coding 2:给定一个字符串 s 和一个字符串字典 wordDict ,在字符串 s 中增加空格来构建一个句子,使得句子中所有的单词都在词典中,以任意顺序 返回所有这些可能的句子, 注意的是词典中的同一个单词可能在分段中被重复使用多次。
思路是用DP,在动态规划的基础上,我们修改dp数组,使得它的元素为vector,对于dp[i]中的元素j,它表示的是从s[j]到s[i]的一个word。这样s的拆分结果就保存在了这样的(j,i)元组中,通过从dp[s.size()]开始反向搜索这样的(j,i)元组并将题目拼接起来得到s,由于dp[i]的大小不一定为1(即不一定只有一种拆分方式),这里需要写一个递归。 T2算是T1的follow up吧,算是困难的,辅面依旧稳定通过了。
Amazon intern VO 第二轮
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
一道经典的困难级题目:给定一个字符串和一个包含若干长度相同的单词的列表,找出该字符串中所有恰好由列表中所有单词串联形成的子串的起始索引。
思路是先用哈希表记录每个单词频率,然后遍历字符串可能的起始位置,拆分对应长度的子串为等长单词,最后统计频率, 若临时哈希表与原单词频率表完全匹配,则记录该起始索引。可以按单词长度分组滑动,减少重复计算。
求职辅助服务,是关于时间和品质的较量。咨询 Programhelp,获取最专业的Tech求职辅助。