Amazon VO 1
Coding:CountLengthOfCycle(arr, start_index)
You are given an integer array of size N. Every element of the array is greater than or equal to 0. Starting from arr[start_index], follow each element to theindex it points to. Continue to do this until you find a cycle. Return the length of the cycle. If no cycle is found return -1
Behavior question
- 自我介紹
- 请讲述一次您为复杂问题提供简单解决方案的经历,后续问题:为什么这个问题复杂,您是如何找到解决方案的,为什么认为您的解决方案/实施对客户有利?
- 請講述一次您錯過截止日期的經歷,後續問題:後果是什麼,下一次遇到這種情況您會如何處理?
Amazon VO 2
Coding: 兩個陣列 a 和 b,尋找所有滿足 a[i] – b[j] = a[j] – b[i] 的索引 i 和 j。
Behavior question
- 自我介紹
- 請講述您最具挑戰性的專案,後續問題:為什麼認為它複雜,如果下次您處理這類專案/任務,您會採用什麼方法,您會做哪些改進?
- 您能描述一次您冒險但失敗的經歷嗎(我不記得後續問題了)
Amazon VO 3
系統設計:
設計一個貸款網站,根據使用者的偏好為其尋找貸款,一旦使用者點擊貸款鏈接,他們將被重定向到外部網址。
日活躍使用者:10 萬,數據保存 5 年
重點:API 設計,資料庫設計(我還提到了使用演算法/哈希分片的方式進行數據分片,使用 SHA-1)
後續問題:您將如何處理大量請求? (我回答了負載均衡,輪詢演算法)
Behavior question
- 自我介紹
- 請講述一次您與上司意見不合的經歷? 後續問題:結果如何,您為什麼試圖說服他,如果下次再遇到這種情況,您會做得更好?
- 請講述您最自豪的成就
Amazon VO 4
Coding:有一个魔术师试图冻结一棵二叉树,给定一个叶子节点,计算冻结整个二叉树的最短时间。
A
/ \
B C
/ / \
D G H
\ / \
E I J
Behavior question
- 請講述一次您與同事發生衝突的經歷
- 請講述一次您未能在截止日期前完成任務的經歷
有3个行为面试问题,每个都有至少3个后续问题,我不记得全部内容了。
總結
每輪面試中,行為面試部分約佔 30-35 分鐘,我幾乎沒有時間進行第一輪的編碼。 對於每個行為面試問題,我覺得最好提前準備一些情景,因為有很多後續問題。 在每個行為面試回答中都提到了客戶體驗的重要性並深入探討。 我們在在第四輪編碼中給出了暴力解決方案。 系統設計部分也充滿了需要覆蓋的細節,比如負載均衡、數據分片、所需服務、選擇的資料庫(SQL 或 NoSQL)、優缺點、資源估計等。
經過我們的強力 OA 輔助,VO 輔助,候選人通過這些面試題的解析和溝通,面試官不僅瞭解了候選人的程式設計能力,也看到了我在解決問題過程中清晰的思路和有效的溝通技巧。 這些不僅有助於應對 Amazon 的面試,同時也能提升我們解決實際程式設計問題的能力。 祝大家面試順利!