生活·2026年6月18日·10 分鐘閱讀

坐在桌子兩邊:我當面試官,也當求職者,學到的那些事

L
Louis Wu

台灣資深後端工程師,主力 Go,做過交易所撮合、金流與高併發系統,當過主管也面試過數百人。

我換過幾次工作,也以面試官的身分面過大概兩三百個人。有一陣子,我幾乎每週都要花掉好幾個下午坐在會議室裡,看著對面那個緊張到把履歷捏出摺痕的人,心裡盤算著「我願不願意每天跟這個人一起 debug」。後來自己又出去面試,坐到桌子的另一邊,被別人這樣盤算。

這兩個角色我都待過夠久,久到足以推翻一些我年輕時深信不疑的東西。今天想把這些事好好講一講,不是教你怎麼通過面試的攻略文,而是我真心覺得,如果早幾年有人這樣跟我說,我會少走很多冤枉路。

我當面試官,到底在看什麼

剛開始當面試官的時候,我其實不太會面試。我會準備一堆題目,像在考試一樣,一題一題問下去,對方答對我就在心裡打個勾,答錯就打個叉,最後數一數勾比較多就過。現在回頭看,這種面試法蠢得可以。我面到的不是「適不適合一起工作的人」,而是「最會準備面試的人」。這兩種人有重疊,但絕對不是同一群。

後來我帶的團隊出過幾次事。有個人面試表現亮眼,八股題對答如流,進來之後我才發現,他遇到沒看過的問題會整個當機,而且死不承認自己不會,硬要掰一個聽起來很厲害但其實是錯的方向,結果整個團隊跟著他的錯誤假設走了兩天。從那之後我就改了。

我現在面人,真正在看的東西,講白了就四件事。

第一是解決問題的思路。我不在乎你會不會背紅黑樹的旋轉規則,我在乎的是丟一個你沒看過的問題給你,你怎麼拆解它。你會不會先問清楚需求?會不會先想一個笨方法讓它能動,再來談怎麼優化?還是一上來就要套某個你背好的「最佳解」,套不進去就卡死?工作上絕大多數的問題都是你沒看過的,你面對未知的反應,比你已知的存量重要太多了。

第二是溝通。我會故意把題目講得有點模糊,看你會不會反問。很多人拿到題目就埋頭寫,寫到一半發現自己理解錯了,整個重來。而會先確認「你說的這個輸入量級大概多大」「這個系統是讀多還是寫多」的人,在真實工作裡也會是那個在動手寫一千行程式碼之前,先花十分鐘把需求問清楚的人。後者幫團隊省下的時間,是前者的好幾倍。

第三,也是我最看重的,是誠實面對自己不會的東西。這個我等一下單獨講,因為它真的太重要了。

第四是,我願不願意跟這個人一起工作。這聽起來很主觀,但它是真實存在的。我會在面試的最後留幾分鐘隨便聊,聊他做過最有成就感的專案,聊他覺得最雷的一段經歷。我在感覺這個人講話舒不舒服、會不會把功勞全攬在自己身上、講到前公司同事的時候是什麼態度。我帶過技術很強但每天讓全組想離職的人,那種代價,我繳過學費了。

「我不知道,但我會這樣查」為什麼這麼加分

這件事我要單獨拉出來講,因為它幾乎是我判斷一個資深工程師成不成熟的分水嶺。

面試的時候我一定會問到一個對方不會的問題。不是為了刁難,是我真的想看他不會的時候怎麼反應。我看過太多人,明明不知道,卻硬要擠出一個答案,講得煞有其事,眼神還很堅定。問題是,我問的領域剛好是我熟的,他在亂掰我一聽就知道。那一刻,這個人在我心裡就掉了一大截——不是因為他不會,是因為他選擇用唬爛來掩飾不會。

你想想,如果他在面試這種高度警戒、明知道對方是專家的場合都敢硬掰,那進公司之後,在 code review 上、在事故檢討會上、在他對 PM 報告進度的時候,他會不會也這樣?一個會把「我猜應該沒問題」講成「這個我測過了」的人,是會搞垮系統的。

相反地,當一個人很坦然地說「這個我沒實際做過,但我會這樣想:我會先去看官方文件的這一段,或者我會寫個小程式驗證一下我的假設,因為我記得這裡有個我不太確定的點」——天啊,這就是我要的人。他不只誠實,他還展示了在沒有答案的時候,他有一套自己找到答案的方法。這套方法,才是工程師真正的核心能力。答案會過時,技術會換代,但「怎麼搞懂一個你不懂的東西」這個能力,跟你一輩子。

我自己面試別人的時候,最喜歡的回答從來不是標準答案,而是「我不確定欸,但我直覺是這樣,理由是……不過我會去查證」。這種人通常進來都很好帶。

白板題、手寫題,我的立場

這題很有爭議,我講講我自己的轉變。

年輕的時候我很迷白板題,覺得這就是篩選聰明人的好工具。後來我自己出去面試,被叫到白板前手寫一個我平常在 IDE 裡兩分鐘搞定、有自動補全有編譯器幫忙的東西,我突然懂了那種荒謬感。我寫得結結巴巴,不是因為我不會,是因為這個情境跟我真實的工作場景差太遠了。一個寫了十年程式的人,在白板上忘記某個函式的參數順序,這能說明什麼嗎?什麼都說明不了。

但我也不是完全反對手寫題。我反對的是「考刁鑽演算法、考你有沒有刷過某一題 LeetCode 困難題」這種。一個工程師的日常工作,跟能不能在二十分鐘內想出一個動態規劃的最佳解,相關性低得可怕。除非你是去做高頻交易或者底層引擎,否則你這輩子手刻演算法的機會少之又少。

我現在的做法是出一個很貼近真實工作的小題目,可以查資料,可以用任何語言,甚至可以問我問題。我不看你寫不寫得出完美的程式,我看你怎麼思考、怎麼取捨、遇到 edge case 會不會主動想到。我寧願看你寫出一段會動但不完美、而且你自己知道哪裡不完美的程式,也不要一段你背出來、但問你為什麼這樣寫卻答不出來的「漂亮」程式。

說到底,面試題的目的是還原一部分真實工作,不是辦一場智力競賽。任何讓求職者表現得跟他真實工作能力差很多的題型,對雙方都是浪費。

換到求職者這一邊,我會怎麼準備

講完面試官的視角,來講講當我自己是求職者的時候,我學到的東西。

最有說服力的準備,是把自己做過的專案講清楚。不是背出你的職責清單,是真的講清楚。我面試別人的時候,最怕聽到那種「我負責後端開發,使用了某某框架,實現了某某功能」的罐頭描述,這種話講了等於沒講,每個人都能講。

真正讓我眼睛一亮的,是有人能講出取捨。比如「我們那時候要在一致性跟可用性之間選,因為我們是金流系統,錯一筆帳的代價遠大於慢一點,所以我們選了強一致,代價是高峰期的延遲會上去,後來我們用了某某方法去補這個延遲」。你聽,這段話裡有背景、有兩難、有決策、有代價、有後續。這才是真的做過事的人講得出來的。

更值錢的是講你踩過的坑。我自己面試的時候,最愛主動講我搞砸過的事——某次我以為某個快取一定有效,結果壓測上線當天直接打爆資料庫,整個系統雪崩,我半夜被叫起來救火。我會講我從那次學到了什麼,後來怎麼設計才不會重蹈覆轍。願意講自己失敗的人,通常都是真的有在反省、有在成長的人,而且這需要某種自信跟誠實。能把坑講清楚,比把功勞講漂亮,可信度高太多了。

所以如果你要問我求職怎麼準備,我會說:把你做過最複雜的兩三個專案,每一個都能講出「為什麼這樣做」「當時有什麼別的選擇」「最後付出什麼代價」「踩過什麼坑、怎麼修的」。能把這四件事講清楚,你已經贏過八成的人了。技術細節反而是其次,因為技術可以查、可以學,但這種對自己工作的深度理解,裝不出來。

談薪水,別把自己當乞丐

這塊我以前最不會,吃過虧,現在想跟年輕的自己講幾句。

第一,談薪水不是討價還價,是資訊交換。你要先知道市場行情,知道你這個資歷、這個技術棧、在這個城市大概值多少。資訊不對等的時候你永遠是吃虧的那方。台灣工程師普遍有個毛病,就是不好意思談錢,覺得開高了很失禮,結果常常賤賣自己。

第二,公司開給你的第一個數字,幾乎不會是它的上限。我當過用人主管,我太清楚了,預算永遠有一個範圍,HR 一開始給的通常在範圍的中下段,因為你不開口要,他幹嘛多給。禮貌而堅定地談,不會讓你顯得貪心,只會讓對方覺得你知道自己的價值。

第三,也是最重要的,談薪水時你的底氣來自於你有沒有其他選擇。手上有兩個 offer 跟手上只有這一個,心態完全不一樣。所以求職的時候不要只投一家、不要拿到第一個 offer 就急著簽,多面幾家,你會對自己的市場價值有更準的判斷,談起來也更有底氣。

但我也想講句公道話,薪水重要,但不是全部。我經歷過薪水很高但每天痛苦的工作,也經歷過薪水普通但學到爆多、同事都是高手的工作。如果你還年輕,有時候後者的長期回報遠大於前者。錢可以之後再賺,但能力的複利、人脈的累積,是有時間窗口的。這個取捨沒有標準答案,但至少要想清楚再決定。

面試是雙向的,你也在面這家公司

這是我換了好幾份工作之後才真正內化的一件事。年輕的時候我去面試,整個姿態就是「請給我這份工作」,我把自己放得很低,對方問什麼我答什麼,從來沒想過要反過來評估這家公司。

後來吃過幾次虧才懂,面試是雙向的。你坐在那裡的同時,你也在判斷這家公司值不值得你把人生接下來幾年交給它。所以那個「你有沒有什麼問題想問」的環節,千萬別浪費。

我現在面試一定會問的問題:你們現在最頭痛的技術問題是什麼?這個能看出他們的技術成熟度跟誠實程度,如果對方支支吾吾或者說「我們沒什麼大問題」,那要嘛他不誠實,要嘛他根本不在第一線。我也會問:團隊的 on-call 是怎麼運作的?系統出事的時候你們怎麼處理、事後會檢討嗎?這個能看出一家公司的工程文化健不健康,是會檢討改進,還是只會抓戰犯。

還有一個我很愛問的:你自己在這裡工作最喜歡跟最不喜歡的地方是什麼?看一個面試官敢不敢講真話,看他講「不喜歡」的時候是輕描淡寫帶過還是真的講了點實在的。一個連缺點都願意誠實跟你講的團隊,通常比那種把公司講得像天堂的,可信多了。

面試過程本身就是一個訊號。對方有沒有準時、有沒有事先看過你的履歷、問的問題有沒有水準、整個流程拖不拖、HR 回信專不專業——這些都在告訴你,進去之後大概會是什麼樣子。我有過一次面試,對方遲到二十分鐘、面試官明顯沒看履歷、問的問題零散又沒重點,我當下就知道這家不用考慮了。後來聽說那家公司流動率高得嚇人,我一點都不意外。

被拒絕,真的不代表你不行

最後我想講這個,因為這是我自己花了好幾年才想通的。

我面試失敗過很多次。有一次是我超級想去的公司,準備了很久,自我感覺也良好,結果被拒絕了,那陣子我整個很消沉,覺得是不是自己根本不夠格。但後來我自己當了面試官才徹底明白,一個人沒被錄取,原因多到你想不到,而且絕大多數跟「你行不行」沒什麼關係。

可能那個職缺其實內部已經有人選了,面試只是流程。可能他們要找的是另一種型的人,你很好但就是不是這個團隊現在缺的那塊拼圖。可能面試官那天心情不好,可能他跟你磁場就是不合,可能預算臨時被砍了。我自己當主管的時候,就拒絕過明明很優秀、我也很想要、但因為各種團隊組合或時機問題而沒辦法收的人。那跟他們的能力一點關係都沒有。

所以被拒絕,請不要把它解讀成「我不夠好」。把它解讀成「這次不合」就好。合不合是雙向的、是有運氣成分的、是有大量你看不到的背景因素在影響的。你能做的就是把每一次面試當成練習,誠實地檢討哪裡可以更好,然後繼續往下走。對的位置,往往是在好幾次「不合」之後才出現的。

我也想誠實承認,我當面試官的時候誤判過人。有我給了高分結果進來表現普普的,也有我當下覺得普通、後來在別的地方聽說做得超好的。面試就是一個用很短的時間、很有限的資訊去判斷一個人的過程,它先天就不準。所以無論你坐在桌子哪一邊,都對它寬容一點。面試官會看走眼,求職者也會緊張到失常,這都很正常。

說到底,面試這件事,剝開那層緊張跟攻防,本質上就是兩個人坐下來,誠實地判斷彼此適不適合一起做接下來的事。當我這樣想之後,無論坐在桌子的哪一邊,我都自在多了。誠實一點,具體一點,把對方當成未來可能的同事而不是要過的關卡——這大概是我在這兩個角色之間來回這麼多年,學到最重要的一件事。

#技術面試#職涯#求職#面試官#軟實力#談薪水

相關文章