為什麼這篇台灣亞馬遜網路服務有限公司ptt鄉民發文收入到精華區:因為在台灣亞馬遜網路服務有限公司ptt這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者billy4195 (Billy)看板Tech_Job標題[面試] 2020新鮮人面試(Mixe...
自我介紹: 四大學碩
這篇文章大概分享我今年2月多到現在面試的結果跟心得
但有幾間公司還在等結果
因為疫情影響都沒什麼面試機會
原本想試看看新思的研替 結果連面試機會都沒有
以下附上網頁好讀(應該吧)版
https://sutix.blogspot.com/2020/04/2020-new-grad-mixerbox-nvidia-google.html
https://sutix.blogspot.com/2020/05/2020-new-grad-2-nvidia-aws.html
https://sutix.blogspot.com/2020/05/2020-new-grad-3-shopee.html
https://sutix.blogspot.com/2020/05/2020-new-grad-4-google.html
-------
這篇文章主要來記錄一下今年目前為止的面試
主要丟的公司都是偏外商(Mixerbox因為薪水開很高)
但有些公司有保密協定 所以就大概介紹流程而已
MixerBox
投遞管道: 104 人資聯絡
面試流程: online assessment -> onsite
時間: 2020 3月初~3月中
當時的狀態大概刷了 Leetcode 150 題 大概是 60~70 easy, 60~70 medium 1X hard
p.s.因為當時台灣疫情剛開始 10~20個確診 所以還是有onsite
Online assessment
用 HackerRank
總共有 3 題 大概是簡單難度 (Leetcode)
考過了之後 (聽說要三題全對) 會約Onsite
Onsite
主要有四階段 手寫考卷 -> 技術面談(1) -> 技術面談(2) -> HR面談
手寫
進去後 Recruiter 會先給考卷
考的內容也沒有很難 給你程式碼
寫出執行的結果 預期的輸出會是什麼
做時間複雜度 空間複雜度分析
技術面談(1)
寫完考卷後會有工程師 (Ptt 傳說中的 Android 工程師) 進來跟你討論剛剛的考卷
針對你寫的答案 然後問你的時間複雜度或空間複雜度怎麼推導的
接下來考了兩題白板(白紙)題 跟工程師討論題目怎麼解
就在白紙上討論做法 有需要就得寫出程式碼
第一題我以為我的作法是對的(後來回家發現自己作法錯了)
第二題討論了大概 10 多分鐘後來終於想出解法
兩題難度大概都是 Leetcode Medium
技術面談(2)
進來第二個工程師
考了一題 Leetcode hard 的題目
一開始值觀的想法 時間複雜度太高
面試官討論(提示)過後 有減少時間複雜度 但依舊不是最佳解
後來回家查才知道原來是 hard 的
HR面談
問一些履歷上的東西 做過的專案
然後還有一些人格特質相關的問題
問完之後是介紹公司 公司的組成 主要市場
最後是我的發問時間
比較有印象的是問
公司營收主要是什麼: 日本 & 美國的廣告收益 (台灣沒有廣告 而且台灣廣告收益太少)
結果
兩三天後收到感謝信
心得
當時刷的題目還不夠多
遇到沒看過的題目就有點慌
面試流程很適合有程式競賽經驗 或有努力刷過題的人
薪水是真的蠻有吸引力的
---------------------------------
Nvidia
System software engineer
投遞管道: 官網投遞
面試流程: online interview -> (subteam interview)
時間:
3月下旬丟履歷
4/1 收到面試邀請 (email)
4/10 面試
上網做功課發現大家都說 Nvidia 發面試邀請都是狂丟猛丟
但這次約的是線上所以應該是有經過一輪篩選
online interview
總共面試排了 3hr 45mins
一開始會給一份 shared doc 考卷給你寫
題目類型有 pointer, OOP, OS 相關的
(給你2.5 hr寫 但我1小時就寫完了 空了兩三題忘光不會的)
之後就開始問履歷上的東西
做的專案 相關的技術細節等等
之後介紹他們組別在台灣的工作內容(會跟不同時區的sync工作)
正在招募的組別的工作內容
聽起來大部分的工作內容是要實做 design pattern 相關的東西
然後跟各組溝通 說服各組用這個方式開發或重構
最後有問接下來的面試會是如何
工程師說會由各個 subteam 派人好幾個人同時面我一個
但我第一次面試完就沒消息
結果
無聲卡
----------------------------------------
AWS
總共面了兩個職位:
AWS Cloud Support Associate
Amazon SDE
AWS Cloud Support Associate
投遞管道: 官網投遞
面試流程: online assessment -> X
時間:
3月上旬丟履歷
3/16 收到面試邀請 (email)
3/21 線上測驗
online assessment
主要有兩部份 第一個部份是模擬工作環境
有email 聊天室
會有客人的問題 主管的要求
需要排出你處理的優先順序
根據什麼原因排優先順序
感覺沒什麼正確答案
比較像要找看看你的做事風格跟他們要的有沒有一樣
第二部份是些技術考題 大概就是大學計算機網路概論學的東西(選擇題)
e.g. 各種應用層協定用TCP還UDP實作之類的問題
最後會要你填 各個子項目的優先順序 (應該是分組)
有Windows, Database, Infra之類的
後續
面完後大概 3~4 天收到email 約下一階段面試
但上一次的面試我發現這個職位跟我想像落差太大
這職缺比較像是技術支援的接線生
不太需要寫程式(完全沒考到) 但需要跟客戶還有主管同事周旋
所以就婉拒後續的面試了
Amazon SDE
投遞管道: 官網投遞
面試流程: online assessment -> X
時間:
3月下旬丟履歷
4/17 email 通知
4/20 online assessment
當時的題數大概 250 E-100 M-120 H-30
online assessment
測驗就是正常的解題 總共有三題 總共給 1.5 hr
難度估計是 2 題medium 1題medium-hard
我只解出第一題medium 另一題medium 通過只測資15/20
第三題沒有想出好的解法 卡有點久
題目不是太難
類型是 Sequence, Tree, Unknown
只是我刷題大部分都刷 DP 的題目(為了Google)
所以我只寫出Tree的(我覺得比較簡單)
Sequence的我卡好久 最後猜測應該是 edge cases 沒考慮到
結果
無聲卡
心得
Nvidia
現在的線上面試有工程師
所以感覺不像PTT上說的狂灑面試邀請
不然光面試新人 正職工程師都不用工作了
AWS Cloud Support Associate
真的是對職缺的認知錯誤 不過模擬工作環境還蠻有趣的
但我還是比較想找需要寫程式的職位
AWS SDE
推薦大家測驗前到網站上測試一下環境
因為有朋友是 mac 的測驗前五分鐘才發現進不去網站
測驗網站要開鏡頭 而且規定很多 不能開分頁 不能縮小視窗
(開鏡頭我猜應該也有追蹤眼球之類的)
而且他們寫題的環境很難用
UI 很醜 像10年前的網頁
而且操作起來很卡 換一個題目要等個10幾秒
換題目的按紐也很難點 認定範圍很奇怪 要點個好幾次才會切換題目
第一題目下有一個"提交"按鈕
寫的時後以為按了提交就會交卷不能寫了 一直怕自己不小心按到
結果看到第三題有多一個"提交考卷"按鈕
才猜測 提交應該是類似存檔功能 儲存那題寫的程式碼
整個寫完心情很不好XD
只寫出一題 後面沒消息也蠻正常的
-------------------------------
Shopee
投遞管道: 校園招募(email)
時間:
3/23 填 Google form
4/1 HR 回信
4/14 HR 面談(1)
4/17 Technical Interview 1
4/23 Technical Interview 2
4/24 Technical Interview 3
4/28 HR 面談(2)
HR 面談(1)
因為當初填的表裡面有很多個職缺
所以這個面談主要是跟你確認最想丟的職缺
會介紹各個職缺的工作內容、常用的語言、環境等等
確認完 最後我面是的職缺是 Backend Engineer
Technical Interview 1 (90 mins)
面試官是台灣人 會用codebunk這個網站來寫程式 (有編譯執行功能的share doc)
一開始先自我介紹 講了一些我做過得專案後就開始解題
考了一題Leetcode難度 easy 的
邊寫邊解釋想法
寫完之後考了設計概念題(還是這就是系統設計題?)
大概內容就是
如何在多台 host 收到請求的時候 針對每個請求產生一個不連續的hash value
在處理請求時 如何讓process不會卡在某個需要等待的動作(e.g. I/O)
一邊驗證(假設)情境 一邊想邊解釋各種方法的可行性
問完之後
又多考了 會選擇怎樣的 Database 來存資料 考量的點是什麼?
面試官會追問你選擇的原因 你的選擇必須要有個合理且具說服力的原因
Technical Interview 2 (90 mins)
面試官是個中國人 有明顯口音 很多咬字我聽不太懂
可能是我一直要他重複再講一次 感覺到最後面試官有點不耐煩
一樣是先自我介紹 然後丟題目給我
先有一題 easy 難度的題目
解完之後 又是設計概念題(?)
一樣是hash 不過這次的情境是一台 host 一秒內會有上千上萬筆請求
要如何確保每個請求產生的hash不一樣?
hash value要如何在資料庫裡面儲存 要考量整個資料量成長的速度 不能用太多空間
中間也問到那會選擇SQL, NoSQL的哪種? 兩種差異性 優缺點 index 差異
擴展到多台 host 時要如何實作?
後來討論完之後大概剩30分鐘時 又多一題程式題
是Leetcode hard難度
曾經寫過 但不是最佳解
所以卡很久 最後也沒寫出正確版本
不過後來事後看解法 當時最後解法方向是對的
Technical Interview 3 (60 mins)
最後一關是跟Team lead (進去之後的主管)
聽口音不是台灣人也不是中國人... 東南亞其中一國人(?)
自我介紹完之後給了 一題Leetcode easy
然後是設計概念題(?)
細節忘記了
印象中也有提到 SQL 的 index 怎麼實作的? 那優缺點是啥?
最後面試官問了一些
個人特質相關的問題 (如何跟同儕溝通, 遇到衝突如何解決)
對出國到新加坡工作的考量點
我問的問題大概是下面這些
公司風氣
Team lead 管理的人數
版本控制
Code review 大概哪些人參與
HR 面談(2)
口頭offer
HR會跟你談期望薪資
會給你新加坡物價的一些參考資料
然後可以看一下過兩天再跟他說
結果
口頭offer 還在等 Google 進一步面試的消息
心得
蝦皮面試流程真的蠻快的 而且很有效率(可能業績壓力)
意外的是他們每個階段都有設計概念題(or系統設計題?)
都是用他們實際會遇到的情況來去設計 蠻新鮮也蠻好玩的
薪水方面 聽說校園招募的工程師 價碼是 5000~8000 新幣
但我也還沒跑流程 HR 說等我 Google 那邊進一步消息 再走流程
( 因為我說想等 Google )
整體而言 面試過程的體驗還蠻不錯的
---------------------------------------
投遞管道: 請學長內推
時間:
2月中 投遞履歷
2/25 HR面談
3/17 Phone screen
4/7 Virtual onsite (1)
2/25 HR 面談
HR 會介紹目前 Google Taiwan 主要做的產品 Nest, Pixel
然後會介紹面試流程 Phone screen -> 4 Technical interview + Googleyness
interview (onsite)
但疫情影響有可能 onsite 會換成 Virtual
然後會考一些基本的東西 各種資料結構操作的時間、空間複雜度
會用英文問你 可以用中文或英文回答
結束之後會寄信給你一些參考資料 寫Leetcode 複習資料結構、演算法...等
會跟你說接下來的技術面談會怎樣進行
然後問你下一階段面試可以的時間 他說等我準備好再跟他說
(說大概可以排在 2~4 個禮拜後 但如果一個月後都沒給他消息他會再聯絡)
3/17 Phone screen (45 mins)
(大概刷了180題 E80 M80 H20)
用Google Meet面試
一開始出了點狀況
我一直連不進去面試的Meet
整個面試晚了 20分鐘才開始
面試官是台灣人 一開始自我介紹
然後問了我想進什麼組別 覺得自己擅長什麼 進去可以幫忙什麼
老實說我一開始沒預期有這類問題(而且是我第二個面試) 所以回答得很爛 想到什麼就
答什麼
大概聊了10多分鐘(我心裡在想 難道延後太久不考程式題了嗎?)
然後就轉成考程式題了 在Google docs上面作答
(事前會給你連結 要確認你可以編輯它)
考了一題 Array 的題目 難度大概是easy 用DP解
一開始沒什麼想法 面試官提示可以怎麼開始 然後就開始講自己的想法(一邊在docs上操
作測資 講解你的想法)
講完之後 跟面試官確認可行就開始寫程式 寫到一半發現可以有改進弄得更快 就直接
跟面試官說寫更快的方法 寫完之後用面試官給的測資驗證 驗證完之後 面試官提一個
測?
會有小bug 解掉之後會問你有沒有漏掉的特殊狀況
或者會不會Overflow之類的 就驗證一下 或推算大概怎樣會overflow
正常會問解法時間複雜度 (但我在講解法時就有提到所以可能沒問)
程式題之後 問我有沒有問題 有點忘記我問什麼了
問完就結束了 原以為還有follow up
後來查了發現他們會根據時間的多寡來調整題目數量
總共花了一小時面試(含 20 mins delay)
03/20 HR 回覆
通知上一階段通過 換成另一個 Recruitor 幫我安排面試
因為疫情的關係 onsite被拆成兩部分
先兩個 Technical 通過才有後續的
HR 詢問我下一次可以的時間 我大概也是抓兩個禮拜後
4/7 Technical interview 1
面試官也是台灣人 確認完身分後就說這關要用英文
然後就換成英文了
基本寒暄自我介紹之後就直接進入程式題
也考了一題 Array的題目 難度大概 medium - hard 用stack解
講完我的解法之後 面試官問我能不能用更少的空間複雜度
經過一點提示後有想到解法 有共識討論完解法之後 就開始撰寫
撰寫完 先用基本測資確認正確性
我自己確認完以為沒問題 結果還是有小bug漏掉
完成後面試官多問了一些 sign & unsigned 的問題 (關於index的)
討論完之後 時間差不多就結束了
也是有我發問的時間 但寫文章的此刻我已經忘記當時我問的問題了
(應該是 code review 流程之類的)
4/7 Technical Interview 2
面試官一樣是台灣人 依舊是英文面試
程式題考的是 Tree + Probability 相關的 難度我覺得是easy
解法用 BFS 就可以了
因為蠻快想出解法 所以後面的 follow up 擴展成 multiple leaves (原本是 binary)
修改一下前面的程式碼就可以適用後面的要求
中間還是會不小心漏掉小bug 經過提點快速補起來
兩題結束後 面試官說程式題就到這裡
然後就是一些閒聊 我問了一些開發流程的方式 時間安排
面試官稍微跟我講了一下他們組別的流程跟時間
時間差不多就結束了
後續
因為上一次的面試 兩三天後就有消息
大概等了一個禮拜之後 我寄信問了第一階段的 Recruitor
他說接下來他們會放慢招募的速度 所以至少要一個月以後才會有消息
隔幾天後我就看到因為疫情影響 Google 大幅降低招募速度
所以大概是卡住了
4月底的時候因為 Shopee 要談薪水了
所以跟 Recruitor 詢問流程能不能加速 或有什麼其他辦法
Recruitor 馬上跟我約個時間確認我現在的狀況 問我有沒有想要等
說: 最快應該是 5月才會有消息
所以就繼續等到現在
心得
其實自己面試下來 不知道是不是運氣好
遇到的題目不是太難
但還是需要一定的練習才有辦法
因為面試時間很短
大家很害怕的英文面試也沒有到很難
因為面試官也是台灣人
所以英文有辦法溝通就好
每個面試官人都不錯
我覺得很重要的一點 (也是 Google 一直強調的)
就是你要一邊思考一邊講出你的想法
講出來面試官才能知道你現在的狀態(到底是完全沒頭緒、有一點想法...等)
至於面試官要不要幫你 真的很難保證
所以只能多刷題減少自己出錯的機會
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.107.165.179 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1589040307.A.70F.html
※ 編輯: billy4195 (42.72.197.220 臺灣), 05/19/2020 17:13:00
※ 編輯: billy4195 (42.72.197.220 臺灣), 05/19/2020 17:16:27