從面試到職場,養成解難的肌肉

更新 發佈閱讀 9 分鐘

我會在Substack上分享更多關於北美職場上的所見所聞,有興趣可以訂閱我的電子報。

雖然在職場上我已經算是上岸,但不時仍有關注市場上關於職位空缺、面試技巧、職涯計劃的資訊。

最近看到Kelly分享一段影片,模擬以應徵者身份參與軟體工程師的技術面試,面試官是Amazon的工程師,理所當然地面試內容就是Leetcode類型的題目。

有看過我之前文章的話或許會知道我對Leetcode類型的面試沒好感,面試時不允許使用AI輔助但工作時卻要求使用AI,而且應徵者需要長時間針對面試題目的操練,面試考核內容與工作能力的關係成疑。

一年前我為找工作而看面試模擬影片,通常我會在影片顯示題目後先暫停,花半小時至一小時試試能不能解,之後才繼續影片。

除了解題的硬實力外,當時我想看的是面試技巧,怎樣向面試官解說我的想法,想不到解法時如何應對等等。

但有趣的是,這次看完影片後,跟一年前的我看同類影片的感受有著天淵之別。

現在的我看到的反而是

Kelly如何從解題過程中演示出她在工作上的表現

也許,這就是為什麼科技巨頭還在以Leetcode題目面試的原因?


面試官最不想看到的

有為技術面試做過功課的都知道,技術面試(尤其是現場解題)最忌就是收到題目後二話不說就開始寫程式碼。

面試是一個讓面試官和應徵者尋找工作夥伴的過程,真正的開發工作極少機會是在收到需求後可以立即寫程式的。

需求會有模糊的地方;

會有跟其他工程師溝通合作的需要;

會有要說服其他人採納自己意見的時候;

所以溝通是面試中不可或缺的一環。

一年前我在準備面試時也知道要溝通,要Think Out Loud,邊說想法邊寫程式。

但在第一次面試時,由於沒有實戰經驗,最終還是搞砸了。

刷題時我有刻意練習邊說話邊寫程式,在面試時亦做到這點,但問題在於面試時我只是單方面進行溝通,面試官給我的提示沒聽進去,對方的困惑擺在臉上我都沒看到,卡關時我依然只是活在我自己的世界當中。

Kelly在這次模擬面試中做了一個很好的示範,我會在以下段落分析她在面試中反映出的能力,如果你正在為技術面試準備的話,或許對你有點幫助。


釐清題目 = 釐清客戶需求

很多時候面試收到的題目並沒有如Leetcode上的仔細,釐清這些模糊的地方就是第一樣要做的事情。

面對客戶需求時,普遍越初級的工程師看到的需求會越仔細,因為釐清需求的工作都被上層處理好了。

比如說數據顯示公司的網上購物平台80%的客戶都有把商品放到購物車但沒有付款,導致成交的訂單數量低下。

經UIUX設計師研究後發現付款程序需要簡化,由10次點擊減至5次點擊就能完成付款。

資深工程師在收到設計後分析在前端、後端不同服務需要的改動。

最後才分派給自己或其他工程師修改程式。

能夠從口中所說的需求解讀出客戶想要解決的問題,我認為此能力比會寫程式更為重要。在開發工作中因缺乏溝通而誤解客戶需求,花了人力物力,最終換來一個沒客戶用的功能,這樣的事例屢見不鮮。

因此面試在寫程式前能夠透過對話來釐清題目中含糊的部份,或表明自己所做的假設,是展現個人溝通能力的必要技巧之一。好得更好的,會在這階段就指出幾項測試用例,用於驗證題目的要求和自己解法的預期答案。

因為能否問對問題,比起單純答對答案,更能看出一個人的職場成熟度

釐清題目限制 = 釐清任務限制

Leetcode解題主要有2項限制,包括空間和時間複雜度。有些題目會預先設限,限制了題目的解法。

但面試官通常在提出題目時並不會預先說明空間和時間限制複雜度,給予應徵者“適當”的自由,但其實這是個陷阱。

寫程式事實上沒有完全的自由,工程師收到任務時通常聽到的第一項限制就是時間限制,開發、測試、寫文件等工作要在幾天內完成。其次就是功能的硬體軟體限制,開發網頁要知道網速的限制,尤其主要客戶為手機用家的時候;開發雲端應用要知道資金限制,因為雲端服務每一分每一秒都在燒錢;開發本地應用要知道硬體限制,CPU和RAM需求過高會縮小潛在客戶群。

所以在面試解題時遇到任何覺得有機會碰到限制的地方,例如空間和時間複雜度、函數參數的類型、能不能動原有的程式碼(如有),都要把握機會跟面試官溝通,弄清楚題目的限制。


提供解題方案 = 提供任務解決方案


同一條題目,可以有幾種甚至幾十種不同的解法。

Leetcode類型的題目通常最少有2種解法:

  1. 暴力破解(Brute Force)
  2. 適用的演算法和資料結構

第一種並不建議採用但依然是可行的解法之一,而第二種應徵者要對演算法和資料結構有一定的認識。

在提供解題方案時,最好提供2種或以上的方法,展現自己能從不同角度思考,從而得出幾種解法的能力。

實際開發系統功能時亦一樣,比如說要建立資料快取以減少網頁讀取時間,可以把快取以txt或JSON的型式存在後端檔案系統上,可以利用Redis建立快取,可以使用第三方CDN,每個方法都各有利弊。

無論是面試還是工作時,可以考慮先提出心中的最佳解法,時間容許的話才提出另外幾種可行的解法,再解釋為何自己所選的解法為最佳解。這樣既能顯示出應徵者多角度思考的能力,又能增加說服力。


解釋解法 = 對齊對解決方案的理解

由於時限關係,此部份在面試時通常會與上一步合起來,在提出解法的時候便解釋思路。

但在開發工作遇到較大型或複雜的專案時,做漏這步或會引起巨大的危機。

  1. 重工
    開發成員對執行內容理解不一致,你做你的我做我的,結果跟預想中的不同,導致要重新溝通重新開發
  2. 時程延誤
    事前沒有對接口進行對齊工序,各自基於各自的假設去做,要接口時才發現問題

以上只是肉眼可見的危機,經常出現此狀況的話短期造成資源浪費,長期可對團隊士氣造成嚴重影響。

專案規模越大,事前準備的工作就越重要。

例如以系統圖顯示現有系統架構及要更改的地方,以軟體設計文件說明不同服務之間的接口,先從概念層面、設計層面獲得共識,執行時就能避免中途突然殺出一個程咬金,要翻盤重新擬定解決方案。

而在面試的時候,此情況就好像應徵者沒有在寫程式前向面試官解釋自己的想法,一昧只顧寫,卡關時面試官又不理解自己在做什麼,想幫也幫不了忙,眼白白看著時間一點一點的過但就是沒有進展,最終只能飲恨而終。


最後才到實作

有人可能會問:

我在看到題目後就想到解法,為什麼不直接寫程式,要浪費時間功夫去弄這麼多?

公司不是要解決問題的人嗎?做這些不是只是降低效率嗎?

沒錯!公司是要解決問題的人,而且坦白說面試的題目由於有時限,如果一開始就想到最佳解的話,這些功夫“表演”成份居多。

說實話Leetcode類型的面試其實並沒有要求應徵者說話,但北美是一個重視溝通能力多於實作能力的地方,在實作前有足夠的溝通能夠把大部份會遇到的問題預先作準備,減低實作時的風險。

聰明的人會利用面試短短的45分鐘來展現自己的能力,證明自己在日後工作是位能為團隊/公司創造價值的人。

面試的主要目的不是在解題,而是說服面試官自己能為公司帶來價值。

在解法得到面試官的認同之後,剩下的就是考驗對語言、框架的熟悉及除錯能力,而身為軟體工程師的你,我相信不用多說怎樣提升這些能力,你的經驗已經給了你一個答案。


職場小挑戰

Kelly在影片的演示當然不是一條必勝方程式。

不同的公司、不同的面試官、甚至不同的職位,都有不同的評分標準。

但Kelly的表現非常充分地展現了作為一個工程師應有的解難能力:

不只是能解題,而是能一步步有系統性並且透明地解決問題。

這項能力,不只能應用在技術面試當中,在職場上更是尤為珍貴的能力。

因此這星期我向你發出的小挑戰是:

在你接下來的一週內,挑選一項工作任務或學習課題,問自己3個問題並寫下答案:

  1. 真正要解決的是什麼問題?(釐清需求)
  2. 有什麼限制?(釐清條件)
  3. 提出最少2個解決方法,並列出各自的利與弊(提出方案並解釋)

這樣的練習,看似簡單,但如果能堅持每項工作都這樣做,能大幅提升你在解題、溝通和說服別人方面的實戰能力。

久而久之,不單是面試,更會變成你的肌肉記憶。

留言
avatar-img
Keith的沙龍
0會員
17內容數
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
前兩天我在網路上看到一個在歐洲待過金融跟科技公司 (eg, Groupon, Stripe) 的員工模擬英文面試的過程 我覺得內容滿實用的😊 她回的是一個有點挑戰但面試很常問的題目...
Thumbnail
前兩天我在網路上看到一個在歐洲待過金融跟科技公司 (eg, Groupon, Stripe) 的員工模擬英文面試的過程 我覺得內容滿實用的😊 她回的是一個有點挑戰但面試很常問的題目...
Thumbnail
新鮮人面試求職的攻略,包括客製化履歷、研究公司需求、換種表達方式和麵試準備。避免常見錯誤並提前尋求導師或學長姐意見。
Thumbnail
新鮮人面試求職的攻略,包括客製化履歷、研究公司需求、換種表達方式和麵試準備。避免常見錯誤並提前尋求導師或學長姐意見。
Thumbnail
houzz 面試過程流暢且舒服,但由於是全英文面試,所以還是滿緊張的。面試問題滿全面的,會根據過往專案經驗去挖掘你的技術水平,同時也會考量你是否能夠獨立自主工作、會怎樣解決問題。技術難易度中上,著重在實驗設計、統計檢定以及產品相關問題,但對於 coding 能力較不要求。
Thumbnail
houzz 面試過程流暢且舒服,但由於是全英文面試,所以還是滿緊張的。面試問題滿全面的,會根據過往專案經驗去挖掘你的技術水平,同時也會考量你是否能夠獨立自主工作、會怎樣解決問題。技術難易度中上,著重在實驗設計、統計檢定以及產品相關問題,但對於 coding 能力較不要求。
Thumbnail
經過這一次的面試,讓我知道公司分工太細,可能會讓專業能力停止進步......
Thumbnail
經過這一次的面試,讓我知道公司分工太細,可能會讓專業能力停止進步......
Thumbnail
🐳本文收錄於 1111人力銀行 面試經驗談;每週五分鐘,掌握實務技巧,讓你從容應對職場事務!
Thumbnail
🐳本文收錄於 1111人力銀行 面試經驗談;每週五分鐘,掌握實務技巧,讓你從容應對職場事務!
Thumbnail
分享畢業時為兩場英文線上面試所準備的36道英文題目及參考答案。
Thumbnail
分享畢業時為兩場英文線上面試所準備的36道英文題目及參考答案。
Thumbnail
求職一定會遇到的一個關卡,就是「面試」。對於新鮮人或很長時間沒有經歷面試的求職者來說,常常聽到「面試」就覺得皮皮挫!但其實只要做好充足準備,事先掌握面試的流程和內容,就像是考試前就得到了考題一樣,只要好好準備,一定就能獲得期望的成果!
Thumbnail
求職一定會遇到的一個關卡,就是「面試」。對於新鮮人或很長時間沒有經歷面試的求職者來說,常常聽到「面試」就覺得皮皮挫!但其實只要做好充足準備,事先掌握面試的流程和內容,就像是考試前就得到了考題一樣,只要好好準備,一定就能獲得期望的成果!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News