理想汽車自動駕駛算法面試經歷:感知+規劃+控制全鏈路考察

自動駕駛作者: 美歷團隊

2年自動駕駛經驗,詳細復盤理想汽車三輪技術面試,涵蓋CV感知、目標檢測、規劃算法、決策樹、系統設計等核心考點

背景介紹

先說下我的情況吧,985碩畢業,在一家自動駕駛創業公司幹了兩年,主要做感知算法這塊,日常就是和點雲、影像打交道。今年年初開始看機會,理想汽車一直在我的目標列表裡——畢竟新勢力裡做增程式自動駕駛的,技術路線挺有想法的,而且他們那個AD Max系統確實有點東西。

投簡歷是在Boss上直接找的HR,大概三天後就收到了電話,約了面試時間。整個流程大概持續了三週,三輪技術面+一輪HR面,節奏還算緊湊。下面我就按輪次詳細復盤一下。

面試流程復盤

一面:CV感知+目標檢測(約1.5小時)

一面面試官是個看起來很年輕的小哥,後來才知道是感知組的tech lead。開場先讓我自我介紹,然後直接進入技術環節。

他先問了我目前項目裡用的檢測算法,我說是基於BEV的3D目標檢測,用的BEVFormer。他追問了BEVFormer的核心思路,我從spatial attention機制開始講,講到如何把2D特徵lift到3D BEV空間,再到temporal fusion怎麼做的。他聽完後點了點頭,然後問了一個很刁鑽的問題:BEVFormer在遠處目標的檢測精度下降很厲害,你們有沒有做過什麼改進?

這個問題我確實踩過坑,當時我們用multi-scale feature fusion來緩解遠距離特徵稀疏的問題,還加了一個distance-aware的loss權重。我把這些細節都講了出來,面試官明顯來了興趣,又追問了loss設計的具體公式。

接下來是手撕代碼環節,題目是:給定一組2D bounding box和對應的camera extrinsic/intrinsic矩陣,實現一個簡單的frustum-based偽3D檢測。這道題不算難,但細節很多,尤其是坐標變換那塊容易出錯。我大概花了25分鐘寫完,面試官看了下說邏輯沒問題,但讓我考慮一下edge case——比如box超出影像邊界的情況。

最後聊了大概15分鐘的項目細節,主要是數據標註流程和模型部署的事情。一面整體感覺還不錯,面試官很專業,問題也都在點子上。

二面:規劃算法+決策樹(約1.5小時)

二面是個資深工程師,一上來就給我畫了個場景:高速公路上,自車在中間車道,前方100米有慢車,左車道有車正在變道過來,右車道空著,問規劃模組怎麼處理?

這個場景其實挺經典的。我從場景理解開始分析,講到behavior prediction對周圍車輛的軌跡預測,然後是decision making層怎麼用決策樹或者POMDP來做決策,最後是motion planning怎麼生成具體的軌跡。面試官聽完後追問:如果左車突然加速變道完成,你的決策樹怎麼處理這種動態變化?

我說這需要在每個planning cycle重新評估,決策樹的葉子節點需要考慮時序變化,可以用rolling horizon的方式來做。他又問:rolling horizon的horizon長度怎麼確定?太短和太長各有什麼問題?這個我之前確實思考過,太短會導致規劃短視,太長會增加計算量且預測不準確,一般取3-5秒比較合適。

代碼題是:實現一個簡單的lattice planner,給定起點和終點,生成候選軌跡集合並用cost function排序。這個我之前實現過類似的東西,所以寫得比較快。但面試官讓我詳細解釋cost function的設計,包括舒適性、安全性、效率性各項權重怎麼調的,這部分聊了很久。

二面感覺比一面更有深度,面試官會不斷追問直到你答不上來為止,但不會讓你覺得被刁難,更像是在一起探討問題。

三面:項目深挖+系統設計(約2小時)

三面是部門總監面的,氣場很強但說話很溫和。他先讓我完整講一個做過的項目,我選了之前做的多模態融合感知項目。講的過程中他不斷打斷提問:

你們的融合策略是early fusion還是late fusion?為什麼這麼選?

激光雷達和攝像頭的時間同步怎麼做的?誤差在什麼級別?

如果某個傳感器突然失效,系統怎麼graceful degradation?

這些問題一個比一個深,尤其是傳感器失效那塊,我之前只考慮過簡單的fallback策略,他讓我從系統架構層面重新思考,包括如何做sensor health monitoring、如何在感知層做uncertainty estimation來指導下游決策。

系統設計題是:設計一個城區NOA的感知-規劃-控制全鏈路系統,需要考慮哪些模組?各模組之間如何通信?延遲要求是什麼?

這個題很大,我從系統架構圖開始畫,講了感知模組的輸出格式和頻率、規劃模組的輸入輸出、控制模組的執行頻率,以及中間的message passing機制。他特別關注延遲——從感知到控制的端到端延遲要求是多少?你們怎麼保證?我說感知大概50ms,規劃30ms,控制10ms,總共90ms左右,通過pipeline並行和GPU加速來保證。

三面結束後我整個人都虛脫了,但同時也覺得收穫很大,面試官的問題確實讓我重新審視了很多之前沒深入思考過的點。

真題彙總

1. BEVFormer的核心思路是什麼?spatial attention怎麼實現的?

2. 遠距離目標檢測精度下降的原因和改進方案?

3. 給定2D bbox和相機參數,實現frustum-based偽3D檢測

4. 高速場景下規劃模組如何處理周圍車輛的動態變化?

5. Rolling horizon的horizon長度如何確定?

6. 實現lattice planner,設計cost function

7. Early fusion vs late fusion的優缺點?

8. 多傳感器時間同步方案?

9. 傳感器失效時的graceful degradation策略?

10. 城區NOA全鏈路系統設計:模組劃分、通信機制、延遲要求

心得建議

第一,基礎一定要扎實。理想汽車的面試不會考你什麼奇技淫巧,但基礎概念必須真正理解,不是背個八股就行的。比如BEV的spatial attention,你得能從數學原理講到工程實現,中間不能有斷層。

第二,項目經驗要能講出深度。面試官特別在意你是否真正理解自己做的項目,而不只是跑了個模型。每個技術選型的原因、踩過的坑、做過的改進,都要能說清楚。

第三,系統思維很重要。尤其是三面,面試官關注的是你對整個系統的理解,而不只是某個模組。自動駕駛是一個系統工程,感知、規劃、控制是緊密耦合的,你得能從全局視角看問題。

第四,手撕代碼不能拉胯。雖然不是純算法崗那種難度,但代碼題都是和業務強相關的,而且要求你邊寫邊解釋思路,所以平時得多練。

第五,保持冷靜和誠實。不會的就說不會,面試官其實更看重你的思考過程。我有幾個問題答得不太好,但我說了我的思路和猜測,面試官也給了正面的反饋。

FAQ

Q:理想汽車自動駕駛部門的工作強度如何?

A:面試過程中了解到,加班是常態,尤其是項目衝刺期。但相比一些創業公司,節奏還算可控,週末一般不加班。

Q:面試語言是中文還是英文?

A:全程中文,技術術語用英文就行,不需要英文面試。

Q:對學歷有什麼要求?

A:感知算法崗基本要求碩士以上,規劃控制崗本科也有機會,但需要有扎實的項目經驗。

Q:面試結果多久出?

A:我是一面後3天約二面,二面後5天約三面,三面後一週出結果,整體大概三週。

Q:薪資水平怎麼樣?

A:2年經驗的話,總包大概在50-70w之間,具體看面試表現和定級。股票部分佔比不小,但鎖定期比較長。

#自動驾驶#理想汽車#感知算法#規劃算法#系統設計#BEV#面試經歷