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求職輔助。