國外Software Engineer 面試經驗分享
背景: 119 統計碩士,6年android開發經驗、2年flutter開發經驗
當初為什麼會想要到國外工作的動機 大概有以下幾點:
- 人生有限 想體驗不同的生活
- 國外薪資以及薪資的天花板比台灣高
- 想讓家人小孩有不同的眼界 會不同的語言
因為上述的一些原因,我開始面試一些國外的公司,在這之中有先取得新加坡Tiktok的offer,後來和家人、朋友們溝通發現,原來我們並不想移居新加坡。在經過這次的教訓,有了無數次的溝通後跟我老婆取得共識,考慮到語言、文化、安全、小孩的未來、離家鄉遠近…等等因素,我們選了日本當作我們的第一移居目標。
以下是我在2021 2022的面試結果:
Reject: Meta, Automattic, Amazon, Booyah
Offer Get: Tiktok , Woven Planet, Mercari
Automattic
會投這間公司是因為看到ptt soft job版上的分享,感覺是一間很有趣的公司,我比較有聽過的產品是WroldPress和Tumblr,公司是完全可以full remote爾且薪資算是global pay所以我想說嘗試看看。第一關面試是完全在slack 上text-only chat. 不過第一關完就收到感謝信了QQ
結果:Reject
Meta
Meta是請朋友幫忙投的,有聽說他們現在非常挑人,我都還沒面就直接收到了感謝函,希望以後還有機會再挑戰看看。
結果:Reject
Amazon
5關以上的面試
- OA + BQ(Hacker rank)
- phone interview (1題DS + Algorithm + BQ)
Amazon是面試台灣的Amazon Device, Ring這個team. 主要是做IOT相關的App. OA的部分中規中矩出了兩題medium左右的題目,個人覺得並不難但是他的BQ題目很多,所以建議如果有要準備關於Amazon的principle可能要看一下。Phone interview會針對你過去經驗問一些BQ相關的問題,另外還會有一題演算法面試,面試官出了一題Medium ~ Hard左右非常有意思的題目,雖然我最後有解出來但也是他給了提示才完成,最後知道自己能力不足也收到了感謝信。
結果:Reject
Booyah
這間公司是SEA旗下的一間子公司,同集團最有名的是蝦皮。因為朋友找了我想說剛好都準備了就試試看,4關+以上的面試:
- OA (1題LC medium左右的題目+一些android知識題)
- Tech interview1 (主要是問Android相關的問題)
- Tech interview2 (主要是問Android相關的問題,另外考了一題演算法 Tree的題目)
- Manager interview3 (Android相關的問題,Sysem design)
Booyah考的Android題目蠻刁鑽的,會針對你的回答往更更更深的地方問,所以如果有Android BSP或是framework相關的經驗可能會比較吃香。
結果:Reject
Tiktok
4關面試:
- 1st Tech interview (2題DS + Algorithm )
- 2nd Tech interview (System design + 1題DS + Algorithm )
- Manager interview (BQ + System design)
- HR Behavior interview
演算法的部分中規中矩大概是Leetcode medium的程度,System design主要也試考front-end的部分沒有涉及到backend的design,Manager interview中的system design倒是被問了個有趣的問題,如何implement 同user但有多重身份的登入。
這是新加坡的Fundenmental team 的Android缺,其實非常的吸引我,他的TC組合是base + bonus + shares,但我本人對share這種未來的東西不是看好且因為base低於我的預期,再加上家人沒有意願移居新加坡後放棄。
結果:Offer Get
Woven Planet
這是Toyota的子公司,主要負責自動駕駛、Smart City等等的開發,我面的職位是Smart City中的Super App team,這是一個新的team且App是用flutter寫的,剛好我有2年的flutter經驗可能有加分。一共有6關面試:
- Assignment
- 1st Tech interview (DS + Algorithm)
- 2nd Tech interview (System Design)
- Behavior interview (BQ)
- Cross function interview
- Manager interview
整個面試拖超~級~久的,第一關的tech面試 easy左右的題目 簡單到我不可置信,也沒有follow-up,整個面試大概15分鐘內就結束。Cross function interview是一個ex-Googler大叔,問了一些像是tree 的traversal, update 的TC, 怎麼balance tree 另外還有 Oauth等等的問題,因為大叔感覺是web背景的我被問這些回答得並不是很好。最後在等待結果前有在被要求加面一次感覺也是偏system design的interview,裡面就有問到怎麼設計一個service 要從FE/BE的角度都分析。
結果:Offer Get
Mercari
其實Mercari我以前就面過了,面試一共6關:
- OA(Hacker Rank)
- Phone Screen
- CS interview
- Android Pair Programming interview
- Manager interview
- Director interview
CS interview 我記得是考了一個linkedlist的問題,那個題目並沒有很難只是我把他往難的地方去想,最後給了一個reverse的解,後來他跟我再次澄清題目後我改用Set 去check object reference解了出來,一個大概只要5分鐘內解決的問題我想太複雜搞了30分鐘QQ。Android的面試官是兩位Tech Lead,他事先會給你有問題的code,最好可以先想好怎麼refactor來符合clean architecture的原則。Director interview我似乎有地方沒有答的很好,這部分最後有影響到我拿到offer的level。值得一提的是招募的TA是一個台灣人,非常好的一位大哥,Mercari也是full remote,所以你可以在日本任何一個角落工作不需要去公司。
結果:Offer Get