國外Software Engineer 面試經驗分享

Chris Chen
6 min readAug 12, 2022

--

Photo by Jezael Melgoza on Unsplash

背景: 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

--

--