[心得] 2023 純軟面試心得

軟工

1341300

網頁好讀版: https://bit.ly/47Im8Wa

---

長期受益於 PTT、Medium 各路好手分享,這次也來分享一些自己今年求職的過程,順便
記錄在此次科技業寒冬面試半年以來的心路路程。

前情提要:我的背景是 112 EE -> 112 CS 碩,有四年多後端正職經驗,實際接觸 Web
開發超過十年,多數是在純軟新創環境,使用的工具以 Python/Go 為主,略懂
RDBMS/Container/DevOps/AIML/Data Pipeline…,也有在 GCP/AWS/Azure 上設計過後端
架構的經驗。

這次找工作的起點,是今年四月底離開與朋友共同創辦的新創之後,渴望回到純 IC
(Individual Contributor) 的角色,希望加入有一定規模 or 產品市場明確 (PMF) 的公
司,提升自己在技術/架構/團隊上的經驗。

面試準備:

1. Coding 部分,以 LeetCode Blind Curated 75 為主,刷了大約 100 題,
easy:medium:hard 比例約為 4:5:1。此外也有看 Cracking the Code Interview 一書準
備。
2. 系統設計的部分,主要看 System Design Interview 一書搭配 medium 上各路神人文
章準備。
3. 為了準備英文面試,我有在 Pramp 上面進行過幾次英文 mock interview,與老外輪
流練習 think out loud 解題與互評。

不得不說,平常刷題相比實際面對考官解題,還是有一定差異,非常推薦在上戰場前先找
朋友或線上平台練習個幾遍,在正式面試時會更得心應手一些。

---

Circle

長期接觸 Blockchain 與 Crypto,我有注意到去年台灣新創 Cybavo 被 Circle 併購的
新聞,因此知道台灣有一個 Circle 團隊。

(給不知道 Circle 的朋友:Circle 是推出 USDC 的金融科技公司,目前是全球第二大穩
定幣發行商,也是加密行業獲得最多許可和監管的公司之一。)

今年三月收到 Circle Recruiter 的信件,詢問是否對 Circle 感興趣,職缺是 Senior
Backend Engineer。當時我還沒離開前一間新創,不過有保持通信,來回幾次後敲定在四
月下旬第一次視訊聊聊。

Timeline:

D0: Recruiter call。Recruiter 非常友善,提供了詳細的職缺資訊,也讓我了解
Cybavo 在併入 Circle 之後的協作情況。Circle 全球大約一千人,原 Cybavo 員工有近
八十人,主要負責企業用等級的安全金庫。由於我五月初有旅行計劃,約定好一個月後進
行下一階段 - CodeSignal online assessment。

D28: 進行 CodeSignal 線上程式測驗。90 分鐘 4 題,題目之間有連貫性,比較特別是
限定用 Go 語言,應該是我這幾輪面試下來看過設計最完善的線上測驗 (不是單純考演算
法,而且因為前後連貫,需要考量實作上的設計)。但由於我對 Go 的熟練度沒有
Python 高,時限內只解出其中 3 題。

D29: Recruiter 告知沒有通過他們 minimum bar,結束此輪面試。

心得:
雖然沒有通過程式測驗,但整體面試體驗良好,加上穩定幣產業前景看好,未來還是會持
續關注 Circle 的發展與相關機會。

---

Google

2021 與 2022 時 Google Taiwan 的 Recruiter 有透過 LinkedIn 聯繫上我,但我當時
還沒有轉職的打算。2023 四月我重新聯繫同一位 Recruiter,正式開啟 2023 的
Google 面試。

但是這次很有感 Google 並不像前兩年一樣大舉招人。Recruiter 告訴我
需要先確認公司是否有 head count,加上我個人休假因素,來回多次信件與訊息後,終
於在六月中敲定第一輪面試時間。

Timeline: (1st try)

D0: 技術一面。面試官先出了一題 easy,順利解出,接著再出一題 2D Matrix 相關的
DP 問題,難度大概是 medium。在考官提示之下,我有寫出正確的解法,但複雜度分析出
了錯,結束時就大概知道結果了。

D5: Recruiter 口頭告知 Not Passed,但面試官認為有足夠潛力,可以讓我準備一陣子
後再嘗試一次。

Timeline: (2nd try)

八月底再次傳訊給 Recruiter,開始安排第二次嘗試。Recruiter 告知目前只有
embedded 相關的缺 (與我方向較不相符),但可以等面試通過以後 team match 再看有沒
有適合我的職位。九月初敲定第一輪面試時間。

D0: 技術一面。只問了一題難度 medium 的 two pointers 相關問題,我花費 30-40 分
鐘,逐步優化出最佳解法與複雜度,後面再給我 5–10 分鐘問問題+聊天。這次面試就順
暢許多,結束後覺得很有希望。

D7: Recruiter 信件告知 Passed,同時轉介另一位負責 GCP 相關職缺的 Recruiter。這
位 Recruiter 說明可以先約個時間聊聊雙方需求與期待。

D26: 度過中秋與國慶連假。與二號 Recruiter 聊聊,得知該 position 隸屬於 Team
Infrastructure,地點在新店,面試會以 C/C++/Python 為主,一共有四關 (全部遠端)
,其中三關為技術面試,一關主管面試。安排 2~3 週後進行二輪的三場技術面試。

D38: 告知 Recruiter 已接受其他 offer,結束此輪面試。

心得:
面 Google 時我犯了一個錯,就是把面試排在太前面,導致第一次挑戰時沒有最佳的表現
。不過一路上觀察台灣職缺多數偏向韌體/硬體,加上後續出現海外的機會,讓我萌生不
同的想法,才婉拒後續二面。整體來說,Google 的面試體驗還是十分良好,若未來有合
適的機會,我還是願意再次踏上挑戰 Google 的道路。

---

NVIDIA

去年底由 ChatGPT 引領的 Generative AI 大爆發,NVIDIA 如同上了火箭,在台灣也開
始大力徵才。五月底我聯繫一位在 NVIDIA 做研究的學長,詢問可否幫忙內推,學長很阿
莎力直接說可以,請我列出想嘗試的職缺。

觀察 NVIDIA 可能擴張快速、徵才需求強烈,所以不像 Google 有一個統一的
assessment → team match 流程,而是要每個職缺獨立投遞進行面試。我主要選擇幾個
與 Omniverse 相關的純軟職缺(同時發現大部分職缺都跟 GPU、3D 相關),六月中學長
幫忙內推後開始了 NV Taiwan的面試。

Timeline:

D0: 送出四份內推申請。

D8: 收到其中一份 Reject。

D38: 接到 Recruiter 電話,說明 Omniverse 要找 3D 背景的人,確認與我背景不
符後,請我推薦認識的工程師。隨後又打一通電話來,告知有一位 SRE (Site
Reliability Engineering) 主管對我背景感興趣,詢問我是否對 SRE 感興趣,可以改
position 後進行面試,我請 Recruiter 提供 JD (Job Description)。同一天稍晚我收
到 SRE 的 JD mail,回信感興趣後,開始進行面試。

D43: 一面 (Hiring Manager)。面試官是某個 SRE 部門的 team lead,非常友善,先介
紹了部門,說明部門的職責以及業務,其中一部分幫公司把 monthly cost 節省了好
幾 M,是人均效益非常高的一個部門。其餘時間是主管 go through 我的履歷,詢問
技術問題,沒有考 coding 或 system design。雖然我的經歷與 SRE 不算很相符,但主
管看來很願意培育人才,因此愉快的結束此次面試。

D44: Recruiter 來電,告知主管面試 Passed,接下來會有三關技術面試。

D52: 寫 follow-up mail 詢問 Recruiter,一直沒有收到預約下一輪技術面試時間的
email,並提供我未來兩週可以的時間。

D57: Recruiter 來電,安排下週進行三場面試。

D64: 三場技術面試同時進行 (一對三)。同樣做了部門簡短介紹,然後 go through 我的
履歷,沒有考 coding 與 system design,主要詢問履歷細節,與一些情境題。如聊天一
般的面試過程,但感覺跟三位考官頻率沒有非常對上 (可能我的 skillset 不符合他們所
需)。

D74: Recruiter 告知技術面試 Not Passed。

心得:
我認為 NVIDIA 是下個世代最重要的科技公司之一,因此被 Reject 時還是感到蠻可惜的
。無法加入 NV 當員工,至少可以買點 NV 股票壓壓驚。

---

TermStructure

TermStructure.com 是我去年底參加 DeFi Summit 認識的一間公司,雖然與我一開始想
找的中大型公司不符合,但創辦人 Jerry 有著深厚的金融界經驗,做的產品我認為也是
相當有潛力的,因此七月中在 LinkedIn 上看到 Python Backend Developer 職缺後,就
上傳履歷送出了申請。

Timeline:

D0: LinkedIn 上填寫送出職缺申請。

D1: Hiring Manager 回信,約一面對談時間。

D3: 一面 (Hiring Manager)。主要介紹公司正在做的產品以及 go through 履歷,針對
一些技術問題作討論。同一天稍晚主管 email 告知 Passed。

D9: 二面 (技術顧問 + Engineers)。主要針對他們該 position 需求、以及正在解決的
題目做討論。技術顧問有根據我的回答追問一些技術問題:例如分散式處理 service
nodes 如何平均分配 workloads,我提出 Consistent Hashing Ring Algorithm。過程中
沒有考 coding 能力,主要針對技術做 high-level 討論,整體來說聊的愉快。

D10: Hiring Manager 來信,告知通過技術面試。

D15: 三面 (CEO)。跟 CEO 進行最後面試,BQ 為主,整體對談愉快。

D16: Hiring Manager 來電,告知 offer get 與 package 細節。同一天稍晚,Manager
提供 offer contract,要求一週內 sign contract,並希望兩週後 on-board。

D18: 考量之後,我針對 offer 內容進行第一次 negotiation,主要針對 package 內容
以及 on-board 時限做爭取。

D20: Manager 回覆公司條件難以更改,將另作安排。

D21: 回覆祝福公司找到合適人才。

心得:
除了最後的 offer negotiation,整體面試體驗還是很順暢,且新創有他運作快速的好處
,在三週內完成了所有流程。雖然是新創公司但資源充足,推薦給對區塊鏈、金融科技感
興趣的朋友們嘗試。

---

Kronos

長期接觸 Blockchain 與 Crypto,經常聽到 Kronos Research 的大名,也知道他們在量
化交易領域排名世界前段班,因此在七月底收到他們 Recruiter 信件時還蠻開心,因此
開始了面試過程。

Timeline:

D0: 收到 Recruiter 在 LinkedIn 上來訊,詢問是否對 Senior Software Engineer
(Backend) 職缺感興趣。

D5: Recruiter call。與 Recruiter 聊聊 Kronos 的團隊架構、面試流程,以及職缺細
節,得知這個 position 隸屬於 Application Team,任務是優化、改進內部 traders 使
用的金流系統。

D19: 完成 Codility online assessment。120 分鐘考 3 題,難度大概是
easy/medium/medium。

D27: 一面 (Technical)。有兩位工程師輪流考了 coding 題目以及 System Design,總
共兩個多小時的技術面,非常紮實。

D39: 二面 (Hiring Manager)。針對履歷提問以及考 system design。

D41: 三面 (HR)。主要是 BQ 問題,雙方提問。

D55: HR call。告知 Company structure 異動,hiring manager 換人,需要一次新的面
試。

D57: 四面 (New Hiring Manager)。這次是 onsite interview,我到了 Kronos 的辦公
室進行面試,面試官考了一題與最佳路徑有關的題目,提問十分犀利,但也感覺得出考官
對此題目有深厚的了解。結束後 Recruiter 帶 office tour,不得不說 Kronos 的辦公
室真的豪華,座落內湖高樓層,遠眺信義區 101 風景,零食區、休息區、會議室應有盡
有,甚至還有圖書館與冥想的空間,看得出來很注重員工的工作環境品質。

D61: 收到 offer get 信件,開始 Background Screening 流程。

D69: HR call,告知 package 細節。

D82: 告知 HR 與 Recruiter 最終決定接受其他 offer,結束此輪面試。

心得:
Kronos 的面試是我經歷最紮實的其中一場,歷時兩個多月雙方都對彼此有深入的認識,也
是我覺得很不錯的一間公司,HR 與 Recruiter 也非常專業、友善。不過在職涯的考量下
,我選擇了讓我有機會到國外發展的 offer。仍然感謝 Kronos 在過程中的安排,讓面試
者有良好的面試體驗,我也會推薦身邊所有優秀的工程師挑戰。

---

ByteDance Singapore

感謝每一位看到這裡的人。

我一開始只有找台灣的職缺,直到六月底在 LinkedIn 上與獵頭聯繫上,才開
啟海外工作的思考與對談。

這個職缺是 ByteDance Singapore 的 Software Engineer,屬於 Cloud
Infrastructure 部門,負責公司內的私有雲 / App Engine / PaaS 開發。

Timeline:

D0: 在 LinkedIn 上看到獵頭關於海內外後端職缺的 post,主動聯繫該獵頭,
並提供 resume。

D1: 獵頭主動來電,詢問求職狀況、求職偏好以及技能樹等細節。同一天寄給我海內外職
缺資訊。

D8: 告知獵頭對其中四間 (兩間國內、兩間國外) 職缺感興趣。

D30: 獵頭告知 ByteDance 有興趣往下一階段進行。

D37: 一面 (技術)。考專業知識與程式題。

D42: 收到一面通過的通知,準備二面。

D51: 二面 (技術)。考系統設計與程式題。

D52: 收到二面通過的通知,準備三面。

D57: 三面 (技術 + Hiring Manager)。系統設計與 BQ (Behavioral Question) 為主。

D62: 收到三面通過的通知,準備四面。

D66: 獵頭安排與一位在 ByteDance Singapore 的資深台灣工程師聊天,破除了一些迷思
,也獲得很多有益的資訊 (ByteDance / Singapore)。

D71: 四面 (HR),英文進行,主要是背景查核、期望薪資與 BQ。

D76: 收到四面通過的通知,開始 Background Screening 流程。

D90: 主動詢問 application 狀態,HR 說明正在收集七個 approvals from
compensation team (很像在收集七龍珠)。

D98: HR call。告知 offer get,說明 TC (Total Compensation) 細節。

D104: 接受 offer。開始收集工作簽證所需文件。

D119: 送出工作簽證 EP (Employment Pass) 申請。(預計 6–8 週)

D166: EP Approved - 工作簽證通過申請。

D181: 預計報到日

心得:
歷時將近半年,從一開始僅僅只是想看看自己能走到哪,到後來隨著面試進行,出國工作
的畫面也越來越清晰,才開始思考出國生活的可能性、優劣分析,並且與另一半討論出國
的種種安排。

此外,也要感謝 Spring 的 head hunter Lydia,沒有過程的幫忙,很可能這個求職故事
會有不同的結局。如果你正在求職或渴望轉職,非常推薦與專業獵頭討論你的需求,或許
會有意想不到的機會與發展。

同時也在過程中更加了解 ByteDance 這間公司,作為全球最具價值的獨角獸,用戶、流
量與技術難題都是不同的層級。雖然企業文化有負面評價 (感謝很多朋友給我的建議與提
醒 XD),但過程中也有聽到好的案例。權衡收穫與挑戰之後,我決定接下這個機會。

---

結語

裸辭後原本預計三個月可以找到工作,沒想到待業了半年。這段期間為了補貼生計,我有
去接了案,結果過程中發生令人哭笑不得的鳥事。我只想說,每個在我困難時期提供協助
的朋友,我都會銘記在心。

此外大家可以看到,我前半段面試過程並不順遂,當時是十分焦慮的,我最要感謝的是我
的家人,以及我的另一半,在求職期間提供許多情緒價值,我才有辦法支撐到最後。

希望這篇文章可以幫助到需要的人,作為面試參考,也提供我未來回顧的一個基準點。如
果你有不同的體驗,歡迎在底下分享,或是提出問題討論。

因為有簽 NDA,部分面試資訊無法完全透露,有興趣了解的朋友歡迎私訊我的 LinkedIn
,我會盡我所能提供協助。

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.45.227 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1701792825.A.9B6.html
watashino1樓9/1前還是後拿到ep的阿? 12/06 00:21
10月中申請 這幾天拿到的 XD 熱騰騰的EP
Fantasylolz2樓感謝分享! 12/06 00:25
rabbitu043樓推分享 12/06 00:26
Lhmstu4樓推推恭喜 12/06 00:27
watashino5樓9/1後拿的ep都可以拿來炫耀哈哈 12/06 00:30
abccbaandy6樓這環境敢裸辭,很勇喔 12/06 00:31
lilecoli7樓推分享 12/06 00:35
HiyajoMaho8樓推分享 12/06 00:42
fr759樓TC? 12/06 00:46
jack52910樓推完整! 12/06 01:05
yu9034211樓歡迎加入新加坡字節大家庭! 12/06 01:06
misakiU12樓超詳細分享讚 12/06 01:14
Yan556613樓好文詳細推 12/06 01:22
michael0728n14樓推推! 12/06 01:25
ukuk66688815樓優文推 12/06 01:45
BlacksPig16樓好文推推!! 12/06 01:51
WTS2accuracy17樓 12/06 02:14
steak556618樓太猛啦 Join the dark side 12/06 02:15
siriusu19樓感謝分享 12/06 02:33
kyoiori20樓推分享 12/06 02:41
holebro21樓高手 12/06 02:52
sososlee22樓超強 12/06 03:06
dannyko23樓推分享 12/06 04:06
spjay124樓推推 下半年超冷 之前某篇一堆嘴砲強者我朋友好拿缺 12/06 04:57
justaID25樓推詳細分享! 12/06 06:09
content7126樓181預計報道,也就是花了半年,是幾乎一開始找工作就 12/06 07:12
content7127樓申請了是吧?好長!另外歡迎來新加坡 12/06 07:12
Vanced28樓 12/06 07:18
justinbear29樓 12/06 07:29
pacino30樓高處不勝寒,好的工作比較競爭。 12/06 07:43
更多心得
[心得] NV 面試心得文
[心得] NVIDIA面試心得(已刪內文)
[心得] UNICODE
[心得] 鐵人賽中的 data governance 組合包
[心得] 又再次入門了 Java
[心得] 南部老闆都這樣找員工的?「愛吠的狗」
[心得] ITHome 鐵人賽場邊閒聊
[心得] 高雄資展(前資策會)結訓9年半後分享