跳至主要內容
科技 分析

蔚來一面的題目單流出:車廠招後端,考的還是那幾堵牆

一份蔚來後端一面題目九月初在牛客網流傳,本篇從考題結構分析車廠軟體工程師面試正在驗證哪些能力,以及求職者能從中讀出的訊號。

YIM NEWS 編輯台 閱讀約 7 分鐘

九月四日,一份蔚來後端開發第一階段面試的題目整理在牛客網上流傳開來。發文者對面試官的評價出乎意料地溫馨:手寫程式做得慢,對方直接多給兩題、說做別的也可以;出錯的時候,面試官還用滑鼠在螢幕上點出提示位置。留言區裡同樣有人說蔚來的面試流程體驗不錯,也有人抱怨履歷投了之後石沉大海。這些細節是求職季的日常風景,但題目單本身值得細看,因為它透露了汽車公司現在怎麼定義「後端工程師」這個職位。

先講結論:這份題單沒有任何一道題與電動車直接相關,沒有電池、沒有車聯網、沒有自動駕駛。它考的是紮實的通用後端功底,Java 併發、MySQL 鎖與索引、HTTP 與 TCP、Spring 與 JVM 記憶體管理。這與我們先前整理過的TikTok 後端一面題目分析形成有趣對照:位元組跳動的題單已經有超過一半圍繞 AI Agent 工程設計,而蔚來這份仍以傳統後端知識為主體。差異本身,就是一個產業訊號。

題目結構:四堵牆,一道手撕

把這份題單攤開,可以看出面試官沿著幾條主線逐一推進。

第一條是專案經驗。問題包括專案中是否用了非同步處理(例如 CompletableFuture 或訊息佇列)、遇過最困難的技術問題與解法、以及「有哪個模組或設計是你現在想重做的」。這三問的設計很清楚:前面考你做過什麼,最後一問考你有沒有回頭看的能力。能具體說出「當初這樣設計、現在會換掉」的求職者,通常已經脫離了照著教學做完專案的層次。

第二條是 Java 併發。樂觀鎖與悲觀鎖的區別、CAS 與 synchronized 的實作和適用場景、執行緒池提交任務後的完整處理順序,這些是多年來後端面試的固定班底。比較值得注意的是進階追問:如何讓執行緒池裡的閒置執行緒在 keepAliveTime 之後自動銷毀。這種問法不是要背名詞,而是逼你說出核心執行緒、工作佇列、非核心執行緒三者的先後關係。用個比喻,執行緒池像一家餐廳的正職與排班人員:正職(核心執行緒)到點就上班,忙不過來才會叫排班人力(非核心執行緒),而排班的人如果閒太久,下一輪就不排他了。keepAliveTime 問的就是「閒多久才不排你」這條規則怎麼落地。

第三條是資料庫。MySQL 的鎖分類從全域鎖、表級鎖、行鎖、間隙鎖到意向鎖,一路往下追;索引失效的常見情境,例如隱式型別轉換、違反最左前綴法則、以百分比開頭的 Like 查詢。對日常寫業務的工程師來說,這些是最容易「用得出來但講不清楚」的一塊:系統變慢的時候,八成問題就藏在索引失效裡。

第四條是網路協定。HTTP 請求報文的組成、HTTPS 到底加密了什麼、TCP 與 UDP 的區別。其中 HTTPS 那題的標準答案值得一般人記住:TLS 加密的是整個 HTTP 報文,請求行、請求頭、請求體全部在內,沒被加密的只有 TCP 表頭。而 UDP 那題的反問「UDP 是否在任何場景下都不好」,考的是有沒有跳出背誦模式:即時音視訊與 DNS 查詢恰恰需要 UDP 的低延遲特性,可靠性換速度,在對的場景裡就是正確選擇。

最後是 Spring 與 JVM。IOC 與 AOP 的原理、Bean 從實例化到銷毀的完整生命週期、記憶體泄漏的原因與排查思路、常見的垃圾回收演算法(標記清除、複製、標記整理、分代收集)。手寫程式則只有一題:找出最長的不重複字元子串,經典滑動視窗題。

車廠為什麼考這些

多數人聽到蔚來,想到的是換電站、是車輛銷量、是智慧座艙。但一家車廠的後端系統,實際上要撐住的東西比想像中傳統:使用者帳號與 App 服務、訂單與交付流程、充電與換電網路的調度、車輛數據的接收與儲存。這些系統的共通點是高併發、要一致性的交易邏輯、還有不能出錯的狀態管理。

這解釋了題單的組成。鎖與索引考的是「錢和狀態不能亂」,執行緒池與非同步處理考的是「尖峯時刻系統不能倒」,JVM 記憶體管理考的是「跑三個月不會漏」。換句話說,車廠後端的核心風險畫像,跟電商、跟支付並沒有本質差別,差別在於出錯的代價:App 購物車壞了可以重整,換電預約與車輛服務壞了,影響的是使用者對整個品牌硬體的信任。

從這個角度回頭看,題單裡完全沒有 AI 相關內容,就未必是落後,而是分工明確。蔚來目前第一面篩的是通用工程底子,AI 能力可能放在更後面的關卡或特定職位。這與網路產業把 Agent 設計提前塞進一面的做法,反映的是兩種人才策略:一種假設基礎可以邊做邊補,直接考新東西;一種堅持先把地基驗完,再談樓上蓋什麼。

面試體驗本身,也是招募策略

這份面經裡最被原文作者稱讚的,其實與題目無關。手撕做得慢,面試官加題並允許換題;寫錯了,用滑鼠點出提示位置。這些舉動降低了面試的對抗性,也讓求職者在牛客網上留下正面評價,而牛客網正是秋招季求職者互通有無的主要陣地。

招募市場裡,面試體驗會被傳播。留言區裡那句「蔚來面試流程體驗確實不錯」,對正在比較多個 offer 的畢業生來說,影響力可能不亞於薪資數字。相對地,「投了之後泡到死」的抱怨同樣會被看見。車廠與網路大廠在應屆生市場上爭搶同一批人,工程師招募的品牌經營,已經有一部分轉移到牛客網這類社羣的口碑賽場上。

給求職者的實際判讀

對正在準備後端面試的讀者,這份題單能提煉出的準備方向相當具體。

一,專案深挖的深度決定上限。「哪個模組想重做」這種問題,靠臨場反應很難答好,平常維護專案時就該定期回顧自己的設計決策,把當時的取捨和事後的反思整理成可以講述的故事。

二,併發與 JVM 的追問鏈很長,但起點固定。樂觀鎖與悲觀鎖、執行緒池流程、GC 演算法、執行時資料區,這幾個起點往上都能再追三層。準備的方式與其蒐集更多題目,倒不如把每個經典題追到自己能畫出圖、講出例外情境的深度。以執行緒池為例,能講完提交流程只是及格,能解釋 keepAliveTime 怎麼讓閒置執行緒退出,才算通過這條追問鏈。

三,基礎題沒有過時。市場上 AI 工具已經能寫出可用的程式碼,但鎖、索引、記憶體、網路協定這些主題考的是判斷力:系統出問題時,知道往哪裡查、為什麼會這樣。工具能生成答案,不能替你承擔決策,這也是這類題目在 Agent 時代仍然佔據面試主力的根本原因。想擴大工具箱的讀者,可以參考我們先前介紹的Casbin Gateway 多 Agent 管理工具分析,看看工程師日常正在長出哪些新的管理負擔。

四,手撕題維持在經典演算法範圍。最長不重複子串屬於滑動視窗的基本題,難度不高,但面試官顯然把手撕當成壓力下的觀察窗口,而非篩選門檻。做得慢不會直接出局,卡死不動才是。

汽車產業的軟體化喊了多年,這份題單給出了一個務實的快照:車廠要的後端工程師,此時此刻仍是以能穩住交易與狀態系統的通才為主。對求職者來說,這意味著傳統後端八股的投資報酬率還在;對產業觀察者來說,何時蔚來的一面題單開始出現 Agent 與模型工程的題目,那才是汽車軟體人才需求真正轉向的時間點。

#蔚來+面試趨勢#java後端+工程職能#車用軟體+人才篩選