一道演算法題先被拿掉了:AI 時代的程式面試,是一頁重新排過的評估介面
從 Anthropic 工程經理取消傳統程式面試與 Canva 的 AI 輔助面試看起,觀察一場面試如何被重新設計成另一種評估介面。
科技 設計評論 約 4 分鐘閱讀
十月底,牛客網上一則「想進大廠的可以不用刷演算法了」的貼文引起熱議。貼文引述的消息來自 Anthropic 的工程經理 Felix Rieseberg:他在個人部落格宣布,自己負責的團隊取消了傳統的程式設計面試。理由說得直接,那些短小的程式小題,越來難篩出真正能做事的人。
把面試看成一種介面,這件事就不只是招募新聞。過去二十 年,白板題與線上筆試構成了一整套固定的評估版面:一道題、一個計時器、一段可以現場寫出來的程式碼。它的設計前提是,程式碼必須由人腦現場產出,所以寫得出來本身就代表了能力。AI 編碼工具普及之後,這個前提塌了。模型幾秒鐘就能生成一份像樣的答案,面試官盯著最後那段程式碼,已經分不清候選人貢獻了什麼。
Canva 把這個問題直接搬進了考場。貼文提到,Canva 用 AI 輔助程式設計面試,取代了前後端職位原本側重演算法與資料結構的基礎篩選,改為觀察候選人如何拆解需求、做決策,以及怎麼檢查和修改 AI 寫出的程式碼。這是一個版面的重排:被評估的物件從「產出的程式碼」換成了「與程式碼的互動過程」。
允許用 AI 之後,題目反而變得更難讀
貼文作者舉了一個具體例子。一個預約功能,正常提交沒問題,畫面上毫無破綻。可是兩個人同時搶同一個時段會怎樣?使用者連點兩次提交會怎樣?換一個帳號,能不能取消別人的預約?
這組追問其實描述了新的評估重心。以前寫不出來,問題擺在明面上;現在功能已經跑起來,考的是你有沒有能力讀出它沒被寫出來的部分。競態條件、重複提交、越權操作,這些問題不存在於程式碼的表面,存在於對系統行為的理解裡。面試從一場「生成考試」變成了一場「審查考試」。
這與我們先前觀察過的ValidX 與正則表達式的兩種可讀性有相似的結構:當工具能代勞生成,價值就往判讀與驗證那一側移動。
誰受益、誰喫虧,是版面重排後的必然結果
貼文對此有一段誠實的分析。受益的是學校好、計算機基本功一般、但會用 AI 做出東西的人;喫虧的是學校一般、原本打算靠刷演算法彌補學歷差距的人。作者自述當年刷了三五百道演算法題才進大廠實習,導師錄取他的理由是面過的人連快速排序都寫不好。演算法題曾是雙非學生逆襲的一條明確通道,現在這條通道正在收窄。
不過留言區的聲音提醒事情沒那麼快。有人指出「現在還沒到那個程度」,刷演算法的人也不可能不練 AI 編碼,自己面試兩輪一道 Hot 100 都沒被問到,冒出來的是各種臨場發想的題目和前端 TypeScript 題。另一位留言者寫得更尖銳:實際流程是行測、傳統筆試、AI 筆試、AI 面試、技術面、HR 面,一輪輪疊加上去,並沒有變簡單。還有人認為,國內若真取消演算法題,篩選只會更依賴學歷。
面試是一種介面,重排時最大的風險是留下空白格
回到設計的角度。傳統程式面試的優點是明確:題目、計時、通過與否,欄位都排好了,對考生與面試官都公平可讀。它的缺點是量到的東西越來越窄。AI 輔助面試想把欄位換成需求拆解、決策品質、對 AI 產出的審查能力,這些欄位更貼近實際工作,但也更難標準化,更容易被學歷、表達能力這些舊變數填進來。
一個值得留在桌上的觀點是:取消刷題不等於取消評估,只是把評估的介面換了一頁。這一頁還在排版中,欄位尚未定案。對求職者來說,與其問還要不要刷題,不如先想清楚,當 AI 把功能寫完之後,自己能不能說出它哪裡會壞。