為什麼這篇WealthPark ptt鄉民發文收入到精華區:因為在WealthPark ptt這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者chemberlain (點心工程師)看板Oversea_Job標題[徵文] 日本軟體工程師2年...
【背景】
・中字輩數學系學士
・台灣小型電商PHP後端4年半(從0開始)
・日本接外面案子的公司後端3年(PHP + Go)
在前職待了半年左右,身邊的同事陸陸續續跳槽到其他知名企業,因而有了轉職的念頭。
由於當時只會寫PHP,刷題跟系統設計什麼的完全沒經驗,
於是聽從前輩的一些建議開始準備,到了正式投履歷大概花了半年左右。
當時狀態大概是:
・Leetcode刷了快200題,medium的一些常見題目有印象,但稍作變化就會卡住
・系統設計懂一點點
【Round1:2019年年底~2020年初】
結果:應徵7間、一面4次(Rakuten、Line、LIFULL、FAST RETAILING)、無Offer
一開始試著投了幾家,結果在書面就被刷掉。
後來給前輩看了後才發現履歷寫的很糟,改善了之後書面過的比例就高了不少。
面試大部分都是圍繞著履歷上面的內容,例如SQL的優化、Restful API、Jenkins等等。
幾乎沒問到跟演算法或資料結構有關的內容。
這幾間面試下來主要遇到問題是:
・原本以為會的東西,實際上沒辦法當下直接回答出來(例如:Design Pattern)
・自然語言(在日本工作一陣子後英文大幅退步,日文又不夠有自信可以面試)
例如我在面試Line之前聽說可以自由選擇要使用英文或日文,結果面試官只會日文,
導致浪費面試前10分鐘在等臨時翻譯來支援,還讓彼此印象大打折扣。
後來我暫時停止投履歷,開始加強自己不足的部分:
・程式語言:這時期在工作上接觸到Go,但為了工作好找,以及網路學習資源的多寡,
最後選擇了從0自學Java。
→當時任意找了教學網站之外,也嘗試自己寫一個小專案來熟悉Spring Boot。
・自然語言:雖然很多工程師職缺只需要英文即可,但我決定加強日文。
→使用Cafetalk每週上2次左右的一對一日文
・刷題:比起通過,更注重為什麼要使用該演算法,最後重新刷了200多題。
(一定要限制解題時間!常常手癢不願放棄最後浪費太多時間)
→使用Leetcode跟Atcoder(每週或隔週都會舉辦解題競賽,主要是練習日文
的題目)
・系統設計:大部分使用其他心得文常推薦的教材,但有多少幫助我覺得因人而異。
→我覺得最我最有幫助的是Web Scalability for Startup Engineers
這本前輩借我看的書。雖然不是直接教你系統設計,但書中講了很多基本的知識,
推薦給系統設計的初學者!
・其他:補足一些本科知識。像OS、Network等等。另外空閒或吃飯時配著各大公司
Engineering Blog或技術分享影片來看。
【Round2:2020年年底~2021年初】
結果:應徵18間、一面6次(Rakuten、Cocone、andFactory、WealthPark、PayPay、DeNA
)二面一次(PayPay)、無Offer
這階段開始用Linkedin獲得更多面試機會。
而在一面止步的公司中,較傳統的日企都是因為擔心日文能力而拿到感謝信。
以下列出兩個主要的面試:
# WealthPark
印象中是做法人不動產的投資相關軟體。當時是想招募PHP換成Go的工程師
(雖然都在準備Java但看到PHP+Go就忍不住試一下)。
這家外國人比例算滿多的,書類過了之後直接約兩次面試。
第一輪是兩位資深工程師問技術問題,問的方式是像是問我解決過最困難的問題,
然後從我說明的內容再去問說為何這樣做,有沒有其他辦法等等。
雖然我有準備,但是被他們問到發現原先的想法好像有問題QQ,
於是只好説回去會再確認看看他們指出的點。另外被問一些Go的問題才發現
我理解的太淺了,被問深一點就回答的不是很有自信。
第二輪是跟一位leader的面試,與其說面試不如說是聊天,
但聊天過程中還是會講到一些技術問題。在這一階段聊得很開心。
但最後還是感謝信,應該是技術那關表現不好。
# PayPay
這是從Connect Job看到的特別招募活動,想說試試看就投了。
書面過了之後有兩題的線上測驗,不是非常難但要有一些小陷阱要小心,時間算很足夠。
一面是兩位面試官配一個翻譯。DB這塊滿重視的,問了index、transaction、lock、
SQL優化等等問題,然後也有問有沒有microservice的經驗。
最後考了一題medium的題目,當下沒想出解法,但是面試官給我提示後才恍然大悟。
原本還有follow up但是沒時間了只講了自己的想法。原本以為沒戲了結果竟然過了一面!
二面是一位日本面試官,其實大部分內容有一些跟一面差不多,
最後也是有一題medium的題目,面試官直接要求指定的複雜度,
雖然剛好面試前幾天才寫過但沒把握好,最後還是靠提示才解出來。在這關被刷掉了。
----------------------------------------
至此雖然仍然一個Offer也沒有,但至少進步到有二面。
稍微暫停面試再次整理了一下自己不足的部分:
・程式語言:會用但是不夠熟練,問到一些細節回答不出來。想要又投Java缺又投Go缺導
致沒一個好。最後下定決心要走Go。自己知道不夠扎實,所以想好好的把基礎在穩固好。
→直接看官網document (光Effective Go看了就很有幫助!)
・自然語言:面試下來發現自己英文退步太多。
→買了一個月的DMM英会話學英文,每天一對一線上練習講英文。
・刷題:不習慣在面試時用講的方式解題。
→對著螢幕練習用講的方式解題並且解釋複雜度、找朋友幫忙聽我解題的邏輯是否
有問題。另外多買了Cracking the Coding Interview,主要是再補足基礎概念。
・系統設計:在講解自己專案的時候多少會用到系統設計的知識,但是講解不夠熟練。
→一樣對著螢幕多練習或找朋友幫忙聽,另外無意間interviewing.io這個網站,
收錄了面試官與模擬面試者的解題或系統設計問答過程。適合拿來學習與模擬練習。
【Final round:2021年年中】
當時因為經濟上的問題,如果在3個月內還是沒有拿到Offer的話已經有打包回台的打算。
所以是安排志願度高的公司放手一博。
# Line
這次應徵的是跟Line AI相關的backend,主要負責法人客戶使用的後台工具的backend。
印象中問的問題沒有特別困難,但我隱約覺得面試官好像對我沒什麼興趣,一開始想問我
一些問題還停頓了一陣子才開始問。所以結果與我想的一樣是Recject。
# Mercari
原本想官網投,但剛好Linkedin獵人頭來問,索性就透過獵人頭投履歷,應徵的職缺是負
責Mercari提供的支付服務Merpay。總共1個回家作業與3關面試。
回家作業是要改善一個虛構的小專案,有給要改善的方向,但細節就要自己決定。
有一禮拜的時間弄,因為平常不會遇到這種課題,所以寫起來其實滿有趣的。
回家作業通過之後的第一面是用英文與兩位資深工程師面試,
根據履歷問了比較多做過的專案的相關問題,也有根據回家作業問了一些問題。
整體面試過程滿順利的,如預期的拿到了二面的通知。
二面是跟一位中國人Manager面試官面談,他問了我日文程度之後,請我用日文面試看看
,講到某個專案問題有點卡住後,就讓我使用中文到面試結束。整體也是照履歷問問題,
但是會追問你為什麼那時候要選擇這樣做。其實自己覺得有很多地方沒有回答的很好,
面試結束覺得沒戲了,失望了一天後竟然收到了最終面試的通知!
最終面試是與一位日本人VPoE面試,這次突然希望我用日文面試。
為此HR特地在面試前一天找我聊一下確認日文程度。
由於有多次日文溝通問題而被刷掉的經驗,以防萬一還是請他們準備一位翻譯。
(HR是人很好的大姊姊,面試開始前還幫我加油打氣!)
面試過程中behavioral questions比例更多,但也是有問履歷上專案的部分,
只是沒有像二面那樣一直深入追問,反而讓我壓力小了許多。最後預備的翻譯也沒用上。
結果:Offer get
----------------------------------------
最後奮鬥了2年的心得:
・轉職對很多人來說其實是很煎熬的。如果為了拼轉職的話,別像我一樣為了符合職缺條
件這邊東碰碰那邊西學學的
・現職的專案有機會就認真做一下,不然履歷會很難有東西寫,面試也常常會被問到做過
的專案。
・我自認英文日文都不是講得很流利,所以得多花時間金錢去補足這一塊,想在國外工作
就得克服這點。
・如果你也是容易緊張或是講話苦手或是的話,就只能多講多練增加自信。為了練習,我
曾經對著朋友講,對著線上一對一的老師講,對著meet鏡頭的自己講,對著空氣講,但請
注意安全。(有次我在家裡泡澡時練過頭然後暈倒在浴室)
最後祝還在努力轉職的各位能夠順利找到好工作!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 133.32.132.188 (日本)
※ 文章網址: https://www.ptt.cc/bbs/Oversea_Job/M.1661291128.A.77C.html