【學長姊帶路】多間後端工程師(Skywatch/Oursky/DeepHow/火星計劃…)求職分享
原標《2023 年初找工作經驗分享》
文/I-Ming HSU
背景
因為自己的職涯規劃,年假後決定尋找新機會。
我的背景是私立學店學士本科畢業,沒有發表任何 Paper 或是認識某某大佬,可能的優勢就是在美國當過交換學生,英文能力自認中上。
我有 4 年多後端開發經驗,主要使用語言包含:PHP、JavaScript、NodeJS;也有少許前端經驗,使用過 ReactJS、VueJS 框架協助前端開發(但都不是專職,複製貼上居多)。
其他使用過的技術或資料庫包含:MySQL、MongoDB、Redis、GraphQL、Docker、Elasticsearch;雲端服務則是有串接過 AWS 和 GCP 一些服務。
此外,我也利用業餘時間練習使用 NodeJS、TypeScript 寫一些練習用的 Side Projects,去年嘗試自製一個前端的 Library 並成功發佈到 NPM 上。
Leetcode 的 Easy 和 Medium 各寫了 100 多題,平常都是解個 Daily 練手感,準備面試期間才練得比較勤。
這次找工作目標:
- 想轉換產業,不想繼續寫 PHP。
- 想持續往 Backend 發展。
- 想找外商訓練英文。
這次的數據大概是這樣:
投 30 家公司,面試 17 家,1 個 Offer,本篇介紹有寫作業或是正式進入面試環節的公司提供大家參考。
以下若無特別標記職缺均為「Senior Backend Engineer」,目標薪資 900k — 1M NTD / 年。
1. Skywatch
透過求職網站投履歷,該公司主要做智慧門鎖、鏡頭的公司,競爭對手包含Amazon Ring。
收到履歷之後對方要求寫轉換 JSON 為 MessagePack 資料格式的小程式。不過我對那種資料結構並不熟悉,參考文件以及很多開源資料之後才完成,一些 Optional 的要求,如:Unit test、MessagePack 轉回 JSON 跟測試介面都有完成;但對方覺得「鼓勵查閱資料,但希望能理解內容而非只會開發」而收到感謝函。
當下收到這種回饋我是覺得蠻無奈的,仔細想想很慶幸學到一個新資料結構。
2. Oursky
求職網站自投。港商,早期似乎是外包軟體公司,現在有自己開發一些軟體。
收到一張 PDF 裡面有三個程式題,不難,寫完之後有自己寫一些 test case 感覺是沒什麼問題。但不知道對方的標準,一週後收到 email 通知沒通過。過程中複習了一些資料結構與演算法,覺得蠻充實的。
3. DeepHow
求職網站自投。美商,利用 AI 以及後台的影片編輯功能,提供工廠自製教育訓練影片,提升新進員工訓練效率。
主要與兩位工程師聊過往經歷,考了簡單的 JavaScript 題目:合併 Object 以及 Reverse String;接續考了四題 SQL 題目,如果平常有在寫 Raw SQL 應該駕輕就熟,但我用 ORM 用慣了導致有些基本觀念都忘記,印象最深刻的是考了 Rank。
之後就是問答,我主要詢問專案開發流程、跨國團隊合作流程以及公司接下來的目標。兩位面試的工程師都回答的非常完整,過程中也給予我許多回饋,還不錯的一次面試。一週後收到感謝函。
4. 火星計劃
求職網站自投。乍看名稱根本不知道在做什麼的公司,仔細看官網才知道是賣筋膜槍起家的。
與一位工程師面試,先按照履歷詢問過往經歷,詢問了一些資料庫實際運用中會碰到的問題,如:Transaction Lock。
之後考了兩個經典的 JavaScript 非同步問題,混搭 Promise、setTimeout 回答 console log 的順序;之後要求實作一個簡單的數學 function,但我想太多導致回答問題的過程不太順利,其實就只是一個取 Log 的程式而已。
最後詢問公司接下來主要的業務是什麼以及未來走向。可以感覺到對方是數理能力蠻強的人,算是有耐心、好聊的面試官。最後無聲卡。
5. 萬達寵物
求職網站自投。原毛孩市集,被萬達併購。
On-site 面試,辦公室在中山捷運站附近。與一位資深工程師以及技術長一起面試,主要按照履歷問答,比較多開發、協作的流程,有被問到是否處理過 Race condition 或是實作中會怎麼避免?回答之前我用過 Shared Lock、樂觀鎖這種作法。
最後得知他們希望有親手調校 DB 效能經驗的後端工程師,但這部分以往都是 DevOps 或是 Infra 協助處理,我頂多透過 Dashboard 監控,或是下指令Kill Process 之類的,實務上沒有親手設定 DB 的經驗。一週後感謝函。
6. HighStreet
求職網站自投。職位是全端工程師,主要提供區塊鏈遊戲的服務,可以透過農虛擬貨幣的機制在遊戲內蒐集 HIGH 幣,並且直接在他們 Shopify 上的商店消費,使用 HIGH 幣折扣買賣商品。
面試過程是與一位 Founder 和一位資深工程師面試,主要都是聊天以及過往技術分享,是一個輕鬆沒壓力的面談,但我對區塊鏈的商業模式並不非常理解,對方是希望求職者對區塊鏈有基本知識以及信心。聊完後彼此都認為現階段彼此不適合。兩週後收到感謝函。
7. 恆遠科技
HR 從求職網站主動寄送面試邀請,成人直播產業,老闆是中國人。
一開始先拿兩個簡單的題目:設計一個像 IG 追蹤、取消追蹤、取得粉絲列表的資料庫 Table 以及撰寫主要 API,可以用 Pseudocode 描述如何處理大流量高併發的情況;第二題是用遞迴的方式取得某一個資料夾的大小、所有檔案大小(用副檔名分類),要注意 Error Handling,如果 Permission denied、Invalid path之類的。
一週後獲得面試機會,與中國 CTO 問答,過程中全都是問資料庫操作跟觀念:什麼是鎖、Index 最左匹配原則、SQL 優化流程、什麼是 Deadlock 並且如何處理、字串欄位預設空字串或 Null 的差別在哪 … 等等;事後想想應該都是基本觀念,只是在面試的環境下太緊張,沒能把自己的觀念跟表達方式整理起來然後應答,所以回答得不是很好。
之後與 HR 聊一些公司福利、面試流程。這次算是第一次被洗臉的面試,因為如果部分不了解人家馬上就看得出來。一週後感謝函。
8.Buyandship
求職網站自投。港商,做海外代運服務。
先收到一份問答題,比方說:平常習慣那些開發工具?幫 Junior 工程師 Code Review 時自己首先注意的三件事是什麼?如實回答就好;第二題是個簡單的 System Design,把原程式改用 Queue Job 加監控流程。
一週後獲得面試機會,與台灣人 HR 和香港 CTO 面試;主要是根據履歷問答,隨後問了簡單的技術問題:什麼是 GraphQL?Left Join 跟 Right Join 差別 … 等等。
印象最深刻的是 CTO 有詢問對於團隊有沒有偏好,我當時說「沒有偏好,但想持續開發」,但其實這不是一個很好的回答,後來我反省應該好好包裝自己的答案,如:「我想持續專注在配合 Business Logics 的程式開發,因我過去有電商經驗,也可以加入電商團隊提供協助,但我優先配合貴公司內部 Team matching 的結果。」
再一週後收到感謝函,後來反省,應該除了沒有包裝好自己的答案,技能樹本來就有差一點了,當然對公司來說可以找到更適合的人選。但這次也是一個輕鬆無壓力的面試過程,感謝他們給我機會。
9. kkday
kkday HR 主動聯繫。職缺是全球電商後台系統,是寫 PHP。
雖然職缺內寫後端,但一進去 Google Meet 發現有前後端各一、共兩位工程師。那時對方才告知我雖然職稱是後端,但內部同仁都處理全端業務,比重大概 3:7(前:後);首先前端工程師先問一些問題,印象比較深刻的是問 NodeJS 跟純 JavaScript 的 Event Loop 差在哪。前端問題能答就盡量答了,而後端也是著重在大流量的系統架構設計。
過程中兩位面試官都是依據我的履歷問問題,然後都一步一步從基本的設計方式然後引導到進階處理,讓我受益良多。
最後跟 HR 聊面試流程、福利這些基本資訊。一週後感謝函。
10. 慧景科技
求職網站推薦,主要透過 AIoT 提供太陽能相關的服務。
一開始用 Colab 寫一份 Python 考卷,都是基本題:Decorator、Comprehensive … etc,兩天後約二面。
二面是最後一關面試,分上下半場,面對一位資深工程師。上半場是用 Colab 考題目:我拿到一題 Medium — Longest Substring Without Repeating Characters,第二題是 Clean Code 概念去 Refactor 原有的程式碼。
理論上下半場是 System Design 以及談薪資福利,但我沒到那個階段。上半場休息五分鐘後得到 Feedback:觀念都正確,但是實作起來速度太慢,因為他們需要資深工程師重新設計架構以及重構程式碼,未來也有帶領 Junior 的需求,但我的經歷和實作能力還達不到那個境界,所以二面上半場結束後收到感謝函。
最後面試官與我聊了一下他們期待的工程師能力以及幫我解答許多問題,也給了我一些關鍵字去尋找答案。
結束前有詢問是否對其他職缺有興趣,可以再安排面試。事後我把這個機會推薦給我朋友,因為我朋友比我更適合。
很感謝面試官十分親切且有耐心的問答,整體讓我覺得備受尊重、收穫良多!
11. 台達電
視訊事業部門。我在求職網站投了其他部門都沒回應,反而這個沒投的 HR 主動邀請。
線上與五位面試官面試,一位後端、三位前端和一位 UI/UX 設計師。
主要發問都是後端工程師,也是先依據經歷問答,著重在怎麼處理過往技術問題以及怎麼應用一些技術,還有我的 Side Project Demo。
最後對方介紹他們的業務範疇以及專案內容,使用工具很多樣,後端語言就有 NodeJS、Go 以及 Java;前端主要都是 ReactJS。結束前,前端工程師詢問我在 NPM 上那個套件的問題。
台達電是少數對我的 Side Project 有興趣並且詢問內容,過程中也是很輕鬆的聊天。三週後感謝函。
12. ChiChat 日商邦德
HH 推薦,ChiChat 是智慧推薦機器人,臺灣主要應用在 LINE 上,透過問答推薦商品或方案。
On-site 面試,公司在小巨蛋附近。他們主要使用 Python,負責維運日本工程師的專案。
當天與一位後端工程師、HR、技術主管面試,整體過程是與後端工程師聊開發經驗和技術分享。
聊完後現場做個白板題,簡單的字串處理,過程也做到和出題者確認 I/O 限制,我平常有用 Python 寫 Leetcode,因此邏輯面我可以直接使用 Python 常用的 function 解釋,最後是順利解題且得到正向回饋。
接著對方有說明,該職位需要接手管理職,我表示可以當 Junior 或 Intern 的 Mentor,但目前並沒有經驗跟計劃往管理職發展。
最後再和 HR 做一些 BQ 問答、公司介紹。兩週後對方說找到更適合的人選,收到感謝函。
13. LSCM
求職網站推薦,香港政府的研究組織,主要接收政府或其他外包工程,台灣團隊的業務是智慧城市軟體開發。
面試前先寫兩題 HackerRank 的 Easy 題目,第一題是收斂一個正整數 Array,但沒印象看過類似的題目;第二題是 Best Time to Buy and Sell Stock。
通過後兩天內約面試,面試主要用中文,只有半小時,快速自我介紹跟問答之後結束。大概一週後得到回覆:Offer get。
14. Yourator
朋友內推(老實說我從沒想過可以去應徵求職公司XD)。
一面先跟 HR 簡單電話聊,然後約隔週與主管視訊面試,主要也是自我介紹跟聽老闆講產品發展,事後老闆也問網站是否有什麼需要改進的地方?我說大部份流程走起來都很順,同時也許願了一個新功能。
隔週與兩位資深工程師 On-site 聊過往技術,有針對 Elasticsearch 的一些實作聊了一下,如:Filter vs Bool、Dynamic Mapping。過程聊了一個半小時,可以感覺到兩位都是很厲害的工程師,雖然他們都說比較喜歡前端,但對於後端的系統架構跟前後端溝通都有一套見解,讓我受益良多。
最後 HR 詢問一些 BQ 問題然後再解釋一次福利。整個面試過程快速而且讓面試者感覺很受尊重,是個很棒的一次面試體驗;但最後對方找到更適合的人選,三週後收到感謝函。
15. SambaTV
LinkedIn 自投,美商,需要與美國的工程師全英文線上面試。那次我正好在旅遊,甚至把電腦帶到青旅然後凌晨在大廳面試。
為了配合時差我大概在凌晨 2:00 面試,過程中先聽對方自我介紹以及說明這個團隊的目的,是想透過區塊鏈技術處理 Samba 的用戶資料,確保合理使用以及給予回饋,但整體專案走向似乎也不是很明確。
後來換我自我介紹,但那天我太累了,導致有一點點口齒不清,講話速度有點放慢。結束後對方主動給我 Email 並說有問題可以隨時問他。我後來有發一個問題,只是對方沒回應,最後無聲卡結案。
16 幣護 Aegis Custody
求職網站自投,兩天後 HR 邀約 On-site 面試。面試只有一關,大概聊 2 小時。
台灣辦公室地點在象山公園外的環球世貿中心,主要是開發和維運團隊,與兩位工程師一位產品長面試,自我介紹之後按照履歷問答。
因他們的 Tech Stack 包含 NodeJS 以及 GraphQL,面試時主要就往這方面問,包含經典的 N + 1 問題、串接第三方服務時規劃架構的流程、是否有高併發經驗、雲端服務經驗、資料庫正規化是什麼 … 等等,我有些問題我有表明不太背誦教科書式的答案,因此主要是說明使用情景,再去解釋實作中做的決定與選擇。
最後產品長介紹公司產品、規模以及問答,然後一些 BQ 問題。我和三位面試官的聊天過程很舒服,讓我感到很受尊重。最後已有 Offer 且婉拒二面。
17. HTC VIVERSE
求職網站自投,兩天收到 HR 預約面試,共兩關且都是線上面試。
第一關與一位後端工程師面談,先自我介紹後根據履歷問答,過程是一家公司經歷講完就先問答一次。之後幾個簡單的技術問題,如:MySQL vs MongoDB、資料庫正規化、商業活動的集點 API 設計。完成後便是對方介紹自家團隊,團隊負責整個 VIVE 生態系的軟體專案,如:VIVEPORT、金流、企業佈署 … 等等,包山包海。已有 Offer 且婉拒二面。
總結心得
我的目標是資深後端工程師,但資深的水實在太深太廣,每家公司的業務不同,需要著重的技術也不同。
我想是我技術不到家,每次的面試對我都是當頭棒喝;對於想要轉換跑道跟產業的我來說,除了基本的刷題、System Design 的知識之外,就是研究各種產業,加上每次的面試以及製作 Side Project 來充實自己。
然而學習新技術這是一條漫長的路,而且也不知道到底有沒有用,我也常覺得自己一定是學經歷不如人,那些公司才根本不會理睬我的履歷!白天上班,晚上準備面試,求職是極其消耗精氣神的一個旅途,有時一個不小心就會失去信心,感到非常焦慮。
後來我告訴自己就活在當下就好,很 Chill 地面對各種面試內容,我告訴自己:「如實回答、事後檢討」、「這次失敗了不要緊」,就跟追女生一樣再接再厲,放下得失心。
而越到後期的面試,我越能體驗到自己更加得心應手,不管是作業、白板題或是面談都越來越順利,與公司需求不符合而沒有拿到 Offer 的公司,我就當作沒緣分,但說不定未來我仍有機會。
當自己越來越好,最後得到的 Offer 肯定也會超出自己的期待,預祝大家都能順利找到自己喜歡的工作,謝謝!
本文由 I-Ming HSU 授權轉載, 原文: 《2023 年初找工作經驗分享》
___________
你也有經驗想分享嗎?快來投稿賺稿費吧!
瀏覽 827 次