:從簡歷篩選到技術(shù)面試的完整復(fù)盤)
2021年秋招那會兒我正好也在看機會前后聊了十來家做視覺的團隊從安防到自動駕駛再到AIOT都有。市場上對視覺算法崗的要求其實已經(jīng)分得很細(xì)了有人臉檢測、車牌識別這類傳統(tǒng)安防方向也有做BEV感知、純視覺方案的新勢力還有做邊緣端模型壓縮的。面完一圈最大的感受是社招和校招完全是兩個物種。校招還能靠刷題和背八股混過去社招面試官基本只關(guān)心三件事——你做過什么、做到什么程度、遇到問題怎么解決。這篇面經(jīng)我就按自己真實經(jīng)歷加上身邊同事的反饋整理一份2021年視覺算法崗社招的完整復(fù)盤從簡歷篩選到技術(shù)面到HR面把每個環(huán)節(jié)的考察邏輯和避坑點都聊透。作為參考我的背景是雙非碩士畢業(yè)兩年在一家做安防設(shè)備的公司做視覺算法工程師主要接觸的是目標(biāo)檢測、人臉識別、ReID這幾個方向日常用PyTorch部署用的是TensorRT和OpenVINO。秋招時面的崗位從純算法到算法部署一體化都有薪資范圍從25k到40k不等最后拿了三家offer。接下來直接進入正題按我的面試經(jīng)歷把每個環(huán)節(jié)拆開講。1. 簡歷篩選階段的底層邏輯與準(zhǔn)備思路很多人以為社招簡歷就是把自己做過的事情列上去其實面試官在看簡歷的時候心里已經(jīng)有一套過濾邏輯了。視覺算法崗的簡歷篩選核心就兩個字匹配。1.1 簡歷篩選的真正看重點技術(shù)面試官篩簡歷的速度比你想象中快得多基本一分鐘內(nèi)就能定性。他們首先看的是項目方向是否和崗位匹配。比如崗位明確寫著要做OCR你簡歷里全是人臉識別項目就算技術(shù)深度不錯面試官也會猶豫。其次看你使用的技術(shù)棧是否是團隊熟悉的用PyTorch還是TensorFlow訓(xùn)練平臺是自研的還是開源的部署走的是什么推理引擎這些細(xì)節(jié)決定了你入職后的上手成本。還有一個容易被忽略的點是簡歷里對項目結(jié)果的量化描述。寫“提升了檢測精度”等于沒說寫“通過改進NMS策略將檢測mAP從78.4提升到81.2推理速度保持30FPS不變”才是有效表達。面試官需要數(shù)據(jù)來判斷你的項目真實性和投入程度沒有數(shù)字支撐的描述很難讓人信服。我在準(zhǔn)備簡歷的時候把每個項目都改寫成三層結(jié)構(gòu)項目背景解決什么問題、我的職責(zé)具體負(fù)責(zé)哪塊、核心成果量化指標(biāo)技術(shù)亮點。每段經(jīng)歷控制在五行以內(nèi)重點突出最近的一段工作更早的經(jīng)歷只寫和視覺算法相關(guān)的部分。1.2 社招與校招簡歷的本質(zhì)差異社招簡歷的核心邏輯已經(jīng)從“我學(xué)過什么”轉(zhuǎn)變成“我解決過什么問題”。校招簡歷可以羅列課程、比賽、論文但社招面試官對這些內(nèi)容的信任度很低他們更想看真實業(yè)務(wù)場景下的問題定義和解決方案。舉個例子一個做工業(yè)瑕疵檢測的候選人如果能在簡歷里寫清楚“針對金屬表面反光導(dǎo)致的誤檢問題通過改進打光方案配合圖像增強算法將缺陷召回率從82%提升到93%”面試官一眼就能看出這是真實做過項目的人因為普通人編不出這么具體的問題和解決路徑。簡歷里面還有一個我踩過的坑過度包裝模型結(jié)構(gòu)。第一次更新簡歷時我寫了很多類似于“基于改進的CSPDarknet結(jié)構(gòu)”這種話實際面試時被追問到底改了哪里、為什么這么改差點答不上來。后來把簡歷里的技術(shù)描述全部調(diào)整成自己能講透的內(nèi)容寧可用簡單但完整的技術(shù)鏈路也不堆砌自己說不清的高級名詞。提示簡歷里寫的每一項技術(shù)點默認(rèn)面試官都會往深挖兩到三層。寫之前先自問三個問題——它解決什么問題、為什么選擇它、有沒有更好的方案。三個問題答不上來的內(nèi)容趁早刪掉。2. 技術(shù)面試的核心知識框架與高頻考點拆解準(zhǔn)備社招面試時我發(fā)現(xiàn)一個現(xiàn)象考察范圍雖然很廣但高頻考點非常集中。把面了十幾家的題目匯總來看基礎(chǔ)知識、手撕代碼和項目深挖這三塊占了幾乎百分之百的面試時長。每家的側(cè)重點不同但底層邏輯是想通的。2.1 深度學(xué)習(xí)基礎(chǔ)題的高頻考察方式視覺算法崗的深度學(xué)習(xí)基礎(chǔ)題翻來覆去就是BN原理、卷積計算量、梯度消失與爆炸、防止過擬合這幾板斧。但社招面試官的出題方式會和校招很不一樣他們更喜歡追問原理背后的為什么。比如問BN不會只讓你背“歸一化到均值為0方差為1”而是會追問BN在訓(xùn)練和推理階段有什么區(qū)別為什么推理時要用全局統(tǒng)計量而不是當(dāng)前batch的統(tǒng)計量BN在小batch size下為什么效果明顯下降如果把BN放在卷積之前和之后有什么區(qū)別這些問題如果只停留在背公式的層面很容易被問穿。還有卷積計算量和感受野的計算也是必考項。比如給你一個224x224x3的輸入用一個7x7的卷積核stride2padding3輸出特征圖的尺寸是多少計算量是多少這種問題看起來簡單但現(xiàn)場手算的時候很容易因為緊張而出錯。我的經(jīng)驗是平時把計算公式固化到肌肉記憶里面試前重新推導(dǎo)一遍確保不用思考也能寫對。錨框的匹配策略、RPN和FCN的區(qū)別、FPN的特征融合方式以及ROI Align相比ROI Pooling的改進點這類目標(biāo)檢測的底層知識也要重點準(zhǔn)備。面試官習(xí)慣從你最熟悉的檢測算法切入然后用連環(huán)追問來探測你的知識邊界。與其被動等問不如主動準(zhǔn)備一套完整的技術(shù)鏈路把自己的知識體系梳理清楚。2.2 經(jīng)典網(wǎng)絡(luò)結(jié)構(gòu)的理解深度要求面試官考察經(jīng)典網(wǎng)絡(luò)結(jié)構(gòu)時真正想考察的是你對視覺算法演進脈絡(luò)的理解。ResNet為什么能解決退化問題MobileNet的深度可分離卷積到底減少了多少計算量FPN為什么能提升小目標(biāo)檢測精度這些問題的答案在論文里都有但能把它們串成一條線講清楚的人不多。我自己的準(zhǔn)備方法是將經(jīng)典網(wǎng)絡(luò)按照發(fā)展脈絡(luò)做了一次梳理從AlexNet到VGG再到GoogLeNet和ResNet之后是DenseNet和EfficientNet再到后來的Vision Transformer。每出現(xiàn)一個新結(jié)構(gòu)我都會問自己三個問題它解決了前人什么痛點、核心創(chuàng)新點是什么、帶來了什么新的問題。這樣的知識體系在面對開放式提問時才能游刃有余。舉個例子面試官問“為什么ResNet在訓(xùn)練初期收斂那么快”如果你只回答“因為有了殘差連接”明顯不夠深入。面試官其實期待你能講清楚恒等映射如何讓梯度更容易回傳、如何避免網(wǎng)絡(luò)退化、以及這和深層網(wǎng)絡(luò)的優(yōu)化難度有什么關(guān)系。這類問題沒有標(biāo)準(zhǔn)答案能展開講多少取決于你對網(wǎng)絡(luò)結(jié)構(gòu)的理解深度。2.3 面試必考的 Transformer 與注意力機制2021年視覺算法崗的一個顯著變化是Transformer相關(guān)的問題比重明顯上升。從DETR到ViT再到Swin Transformer面試官已經(jīng)默認(rèn)你至少聽說過這些結(jié)構(gòu)甚至期望你對原理有一定了解。我印象最深的一次面試面試官直接讓我推導(dǎo)Self-Attention的計算復(fù)雜度然后追問為什么視覺領(lǐng)域不適合直接用全局注意力以及局部注意力窗口的劃分方式對特征表達有什么影響。那場面完出來我立刻把Swin Transformer的論文仔細(xì)看了一遍發(fā)現(xiàn)很多細(xì)節(jié)自己平時確實沒留意過。注意事項準(zhǔn)備Transformer相關(guān)知識時除了搞懂原理還要關(guān)注它在視覺任務(wù)中落地的難點。比如訓(xùn)練不穩(wěn)定的問題、需要更大數(shù)據(jù)集的問題、與小樣本場景的適配問題等等。面試官最反感的是只會念結(jié)論、不懂原理的候選人哪怕你把Vit的結(jié)構(gòu)背得滾瓜爛熟一問到為什么需要位置編碼就只能卡殼印象分會大打折扣。2.4 兩大類必會的損失函數(shù)及其適用場景損失函數(shù)是視覺算法面試中很容易被忽視但實際考察頻率很高的一個點。檢測方向的三件套是交叉熵?fù)p失、Smooth L1損失和Focal Loss每個都必須能講清楚它的數(shù)學(xué)表達式、為什么要這么設(shè)計、適合什么樣的業(yè)務(wù)場景。交叉熵?fù)p失在多分類任務(wù)中的問題是對易分類樣本也有較大的損失貢獻Focal Loss通過調(diào)制因子降低了易分類樣本的權(quán)重把訓(xùn)練重心推向難例。Smooth L1損失相比L2損失對離群點不那么敏感在目標(biāo)框回歸任務(wù)中更穩(wěn)定。這些內(nèi)容光記結(jié)論不夠面試官會給你一個具體業(yè)務(wù)場景讓你分析用哪種損失函數(shù)更合適這時候就需要你真正理解不同損失函數(shù)的行為差異。人臉識別方向的損失函數(shù)也是高頻考點從早期的Triplet Loss到后來的Center Loss再到SphereFace、CosFace和ArcFace。我被問過最多的問題是“ArcFace相比CosFace改進了什么”答案是ArcFace在角度空間添加了角度間隔而CosFace是在余弦空間添加了余弦間隔前者對特征的判別性提升更明顯。這種細(xì)節(jié)問題如果沒有實際用過真的很難答準(zhǔn)。3. 手撕代碼環(huán)節(jié)的真題復(fù)盤與實戰(zhàn)技巧手撕代碼是視覺算法崗面試中淘汰率最高的一環(huán)。和純開發(fā)崗位的算法題不同視覺崗的手撕代碼更偏向于模型結(jié)構(gòu)的實現(xiàn)和圖像處理算法雖然偶爾也會出LeetCode原題但概率相對低一些。3.1 高頻出現(xiàn)的代碼題目類型分析視覺算法崗手撕代碼最常出現(xiàn)的四類題型是模型結(jié)構(gòu)的代碼實現(xiàn)、經(jīng)典算法的復(fù)現(xiàn)、圖像處理底層的函數(shù)實現(xiàn)、以及一些簡單的業(yè)務(wù)邏輯編碼。模型結(jié)構(gòu)的代碼實現(xiàn)最常見的是手寫ResNet的BasicBlock、手寫SE模塊、手寫Multi-Head Self-Attention。這些題目看似簡單但實際上很考驗對細(xì)節(jié)的掌握程度。比如手寫SE模塊的時候很多人在AdaptiveAvgPool2d的輸出維度處理上會卡住還有attention的輸出需要保證維度和輸入一致這些細(xì)節(jié)一眼就能看出你有沒有真正寫過。經(jīng)典算法的復(fù)現(xiàn)一般是NMS、IoU計算、卷積操作循環(huán)實現(xiàn)、雙線性插值等。NMS是出現(xiàn)頻率最高的題目幾乎每三家就有一家會考??疾靸?nèi)容包括核心流程、邊界條件處理和復(fù)雜度分析有些公司甚至?xí)屇闶謱懸粋€變種的Soft-NMS或DIoU-NMS這就需要你不僅會調(diào)用API還要理解算法底層的每一步操作。圖像處理底層的函數(shù)實現(xiàn)通常包括直方圖均衡化、高斯濾波、邊緣檢測等。這類題目更多出現(xiàn)在做低層視覺和傳統(tǒng)圖像處理的團隊面試中如果崗位方向是檢測分割考察概率相對小一些。但基礎(chǔ)不扎實的候選人一旦遇到就很容易當(dāng)場翻車。3.2 手撕代碼的高標(biāo)準(zhǔn)答案參考以NMS為例給你一份能直接拿高分的標(biāo)準(zhǔn)答案。首先明確NMS的輸入是預(yù)測框的坐標(biāo)和置信度輸出是篩選后的框。核心邏輯是先按置信度排序然后把置信度最高的框和其余框計算IoU超過閾值的框被抑制接著處理下一個框不斷迭代直到所有框都被處理完。def nms(boxes, scores, iou_threshold): boxes: (N, 4), format [x1, y1, x2, y2] scores: (N,) x1 boxes[:, 0] y1 boxes[:, 1] x2 boxes[:, 2] y2 boxes[:, 3] areas (x2 - x1) * (y2 - y1) order scores.argsort()[::-1] keep [] while order.size 0: i order[0] keep.append(i) xx1 np.maximum(x1[i], x1[order[1:]]) yy1 np.maximum(y1[i], y1[order[1:]]) xx2 np.minimum(x2[i], x2[order[1:]]) yy2 np.minimum(y2[i], y2[order[1:]]) w np.maximum(0.0, xx2 - xx1) h np.maximum(0.0, yy2 - yy1) inter w * h iou inter / (areas[i] areas[order[1:]] - inter) inds np.where(iou iou_threshold)[0] order order[inds 1] return keep代碼寫完之后面試官大概率會追問“這個實現(xiàn)有什么性能問題”“如果框的數(shù)量特別多怎么加速”。這時候你要能答上來當(dāng)前實現(xiàn)的時間復(fù)雜度是O(N^2)N是候選框數(shù)量。加速思路包括使用GPU并行計算IoU矩陣、用C實現(xiàn)或使用更高階的TensorRT NMS插件。3.3 手撕代碼環(huán)節(jié)的實戰(zhàn)技巧與心態(tài)管理手撕代碼的緊張感是天然的但有幾個方法能幫你減少失誤。第一先和面試官確認(rèn)輸入輸出的格式和邊界條件這既能爭取思考時間又能避免方向跑偏。第二寫完核心邏輯后自己用簡單例子快速走一遍流程驗證正確性。第三如果卡住了不要沉默。把自己的思考過程說出來面試官往往會給出引導(dǎo)邊聊邊寫比悶頭硬想效果好得多。手撕代碼的時候還有一個很多人忽視的細(xì)節(jié)命名規(guī)范和代碼風(fēng)格。邊界處理正確、代碼整潔、變量名有意義這些都能給面試官留下好印象。說到底社招面試是考察一個工程師的工程素養(yǎng)而工程素養(yǎng)最直觀的體現(xiàn)就是代碼質(zhì)量和思維清晰度。注意大多數(shù)面試官對手撕代碼的評判標(biāo)準(zhǔn)不是“能否一次寫出完美答案”而是“遇到問題時如何思考和解決”。所以就算寫錯了也別慌冷靜分析、主動修正比硬撐著說自己寫得對要好。4. 項目深挖與開放性問題應(yīng)對策略社招面試和校招最大的區(qū)別就在于項目深挖的深度。面試官會花大量時間問項目細(xì)節(jié)本質(zhì)上是想驗證你簡歷上寫的是真做過還是只是參與了、打下手了。這個問題很難準(zhǔn)備因為每家公司問的方向不同但應(yīng)對思路是有跡可循的。4.1 項目深挖的經(jīng)典問題鏈項目環(huán)節(jié)最常見的切入方式是“講講你最滿意的項目”。這時候不要像念PPT一樣把項目從頭到尾背一遍而是抓住“問題-方案-結(jié)果”這條主線在兩三分鐘內(nèi)講清楚核心邏輯。太啰嗦會打斷面試官的思路太簡單會讓人覺得你沒有深度參與。講完項目后面試官會順著你的回答往下挖。我整理了一個高頻的問題清單模型訓(xùn)練過程中l(wèi)oss曲線是怎么變化的有沒有遇到過不收斂的情況怎么排查的測試集和訓(xùn)練集的分布差異你做過什么分析目標(biāo)尺度的分布情況如何小目標(biāo)占比多少有沒有針對性處理模型的參數(shù)量和計算量是多少線上服務(wù)能承受多大的QPS。這些問題沒有固定答案但是每一個都能反映出你對項目的深入程度。其中被問得最多的是“你在這個項目中遇到的最大困難是什么怎么解決的”。這個問題考察的是解決問題的思路和行動力。建議選擇一個真實的技術(shù)難點講清楚當(dāng)時面臨的約束條件、你嘗試過的方案、最終選擇某個方案的原因以及效果如何。重點在于展示思考過程和決策邏輯而不是訴苦或者表功。4.2 開放性問題背后的考察意圖除了項目深挖社招面試還會問一些開放性問題比如“讓你從零搭建一個圖像分類系統(tǒng)你會怎么做”“現(xiàn)有模型的誤檢率太高你會從哪些方向去優(yōu)化”“你如何看待當(dāng)前視覺算法的發(fā)展趨勢”。這類問題沒有標(biāo)準(zhǔn)答案面試官考察的是你的系統(tǒng)設(shè)計能力和思考深度。我準(zhǔn)備這類問題的方法是將常見業(yè)務(wù)問題分類整理比如檢測類、分類類、分割類、檢索類每一類的經(jīng)典問題定義、常用技術(shù)鏈路、模型選型和優(yōu)化空間都提前整理成一套標(biāo)準(zhǔn)打法。面試時遇到類似問題先把問題定義清楚再給出技術(shù)方案最后分析可能的風(fēng)險點這套結(jié)構(gòu)能讓你的回答比一般人更有條理。網(wǎng)上很多面經(jīng)會把這類問題歸結(jié)為“考察系統(tǒng)設(shè)計能力”但我感覺更準(zhǔn)確的說法是“考察工程直覺”。面試官想看你有沒有做過真實的產(chǎn)品知不知道真實場景中各種約束條件的存在。比如模型精度提升了0.5個點但推理耗時增加了3毫秒這個trade-off你作為算法工程師怎么看這類問題沒有標(biāo)準(zhǔn)答案但真實的項目經(jīng)驗會給你很直觀的判斷依據(jù)。4.3 項目復(fù)盤與自我審視的實操方法準(zhǔn)備項目深挖的核心方法是對自己的項目做一次“靈魂拷問”式的復(fù)盤。每做一個項目就問自己這些問題業(yè)務(wù)場景是什么技術(shù)指標(biāo)是什么哪些工作是我獨立完成的哪些是合作完成的我負(fù)責(zé)的部分有什么亮點遇到的最難的問題是什么我是怎么解決的有沒有更好的方案是我當(dāng)時沒想到的。這個復(fù)盤過程的輸出物不是演講稿而是一份問題清單和標(biāo)準(zhǔn)回答。我面每一家之前都會把簡歷里的項目重新過一遍對每一個可能被追問的細(xì)節(jié)提前準(zhǔn)備答案。準(zhǔn)備得越充分現(xiàn)場發(fā)揮越穩(wěn)定。另外還要提一下論文和開源項目在面試中的作用。社招面試中論文是加分項但前提是你對論文的內(nèi)容有深入理解。如果你在簡歷里寫了某篇論文面試官默認(rèn)你對它的工作非常熟悉從動機到實驗細(xì)節(jié)都要能講清楚。沒有把握的論文還不如不寫因為一旦被戳穿影響的不僅是這個問題的得分而是整場面試的可信度。5. 不同公司風(fēng)格的面試差異與針對性準(zhǔn)備視覺算法崗的面試風(fēng)格在不同類型的公司之間差異很大面多了自然能總結(jié)出規(guī)律。我把2021年面試過的公司大致分成三類大廠算法團隊、AI獨角獸和傳統(tǒng)安防廠商它們的考察側(cè)重點完全不同。5.1 大廠算法團隊的面經(jīng)總結(jié)大廠算法團隊的面試流程一般是四到五輪包括兩輪技術(shù)面、一輪交叉面、一輪leader面和一輪HR面。技術(shù)面的核心關(guān)注點是算法基礎(chǔ)和項目深挖交叉面更看重解決問題的思路leader面則更關(guān)注技術(shù)視野和團隊協(xié)作能力。大廠的技術(shù)面題目普遍偏基礎(chǔ)和泛化不太會針對某個特定業(yè)務(wù)場景出題更傾向于考察候選人的知識廣度。我見過大廠面試官讓候選人講自己熟悉的三個檢測算法然后拿其中一個深挖原理的場景。這種考察方式很考驗知識儲備和表達能力。另一家的大廠面試則出了一個比較純粹的場景題“在一條沒有交通信號燈的斑馬線上如何檢測行人并判斷是否會過馬路”這道題不限定方法要做的是問題拆解、方案設(shè)計和邊界情況分析看起來像業(yè)務(wù)題但本質(zhì)考察的是系統(tǒng)思考能力。如果你準(zhǔn)備面大廠建議除了刷基礎(chǔ)題還要關(guān)注業(yè)界最新進展。2021年那會兒如果完全沒聽過Swin Transformer或者MAE面試官會覺得你跟業(yè)界脫節(jié)。5.2 AI獨角獸與創(chuàng)業(yè)公司的風(fēng)格差異AI獨角獸和創(chuàng)業(yè)公司的面試風(fēng)格更直接技術(shù)面會圍繞業(yè)務(wù)場景深挖。它們更關(guān)注候選人能否直接上手干活能否帶來團隊缺的技術(shù)能力。面試中經(jīng)常會被問到“我們目前遇到某某問題你會怎么解決”這類實戰(zhàn)型問題。這類公司的面試一般有三輪左右節(jié)奏快、問題直接有時甚至?xí)谕惠喢嬖囍羞B續(xù)出多個小問題。我面過一家做工業(yè)質(zhì)檢的創(chuàng)業(yè)公司面試官直接拿了一個真實的缺陷樣本集讓我現(xiàn)場分析模型的誤檢原因和優(yōu)化方向。這種考察方式對日常積累的要求很高沒有真實項目經(jīng)驗的話很難答好。如果你是準(zhǔn)備面這樣的公司建議提前研究目標(biāo)公司的產(chǎn)品和業(yè)務(wù)場景然后準(zhǔn)備幾個相關(guān)的技術(shù)方案。面試中如果能講到面試官熟悉的技術(shù)細(xì)節(jié)會顯得你確實對業(yè)務(wù)有理解而不是只會背面試題。5.3 傳統(tǒng)安防與傳統(tǒng)行業(yè)AI團隊的面經(jīng)要點傳統(tǒng)安防廠商和傳統(tǒng)行業(yè)AI團隊的面試風(fēng)格相對更務(wù)實但仍然非??粗貏邮帜芰?。面試官通常是團隊的技術(shù)骨干問題會更聚焦在具體的業(yè)務(wù)場景上比如人臉識別的底庫規(guī)模、車牌識別的復(fù)雜環(huán)境適配、以及模型在嵌入式平臺上的優(yōu)化等等。這類團隊的面試官對模型訓(xùn)練和部署的細(xì)節(jié)非常在意喜歡追著問訓(xùn)練的數(shù)據(jù)怎么清洗、標(biāo)注標(biāo)準(zhǔn)怎么制定、模型在硬件平臺上的推理速度怎么優(yōu)化。我面過的一家安防團隊面試官直接從他們項目的實際場景出發(fā)問在低照度環(huán)境下人臉的檢出率怎么保證這種問題沒有一勞永逸的答案但面試官期待你能給出針對性的工程解決方案而不是只談理論。準(zhǔn)備這類面試時基礎(chǔ)的數(shù)據(jù)處理和模型加速知識是加分項。如果能在簡歷里體現(xiàn)出對端側(cè)或邊緣側(cè)部署的理解面試成功率會高很多。傳統(tǒng)算法工程師可能更偏重圖像處理、特征工程、模型壓縮優(yōu)化這些方向的積累這類崗位的面試官往往也特別注重工程落地的能力。心得面了這么多家以后我的感受是——不要為了某家公司臨時準(zhǔn)備一套面試話術(shù)。真正有效的方法是把自己的知識體系維護好、把做過的項目挖透然后在面試中做真實的自己。面試官閱人無數(shù)背答案是能被看出來的而一個能深入聊自己項目的候選人往往比一個能背出所有面試題的候選人更受歡迎。6. 面試后的復(fù)盤流程與高頻失敗原因診斷很多人面完就完了等結(jié)果或者直接面下一家。這樣其實浪費了很好的成長機會。面試的本質(zhì)是一次專業(yè)能力檢驗每次被問到答不上來的問題都暴露了你知識體系中的盲區(qū)。養(yǎng)成面試后復(fù)盤的流程對后續(xù)面試的提升非常明顯。6.1 高效準(zhǔn)備與面試后的復(fù)盤流程面試結(jié)束后趁記憶還清晰把能記住的題目全部記錄下來特別是那些沒答上來的問題。然后對這些問題進行分類整理區(qū)分出是基礎(chǔ)知識不到位還是項目細(xì)節(jié)不清楚還是表達方式有問題。這種分類復(fù)盤能讓你下一次面試前快速找到重點。有一個我要夸爆的經(jīng)驗是錄音復(fù)盤當(dāng)然前提是征求面試官的同意不同意的就靠回憶整理。面試結(jié)束后用30分鐘時間對每道題逐題過一遍把自己的回答和理想答案對比找出差距。多次面試下來你會發(fā)現(xiàn)高頻考點就那么幾個把自己的薄弱點逐一補強后后面的面試會越來越順。我自己的節(jié)奏是每面完一家當(dāng)天晚上就做復(fù)盤筆記不管結(jié)果如何當(dāng)天學(xué)到的東西是真的屬于自己了。6.2 常見未通過原因的主觀剖析根據(jù)我個人經(jīng)驗和身邊案例視覺算法崗社招面不過的主要原因集中在幾個方面第一個是知識面寬但深度不足。好多人能聊MobileNet的輕量化設(shè)計思路但問到深度可分離卷積的計算量相比標(biāo)準(zhǔn)卷積減少了多少、為什么就答不上來。這種“能聊不能深”的狀態(tài)在技術(shù)面里最容易暴露。第二個是項目講不清楚。簡歷里寫了改進模型結(jié)構(gòu)但面試官問改了什么、效果提升來自哪里時支支吾吾。這種情況往往是因為面試者對項目細(xì)節(jié)的掌控程度不夠或者簡歷包裝過度。第三個是工程能力欠缺。算法、代碼都還行但一旦牽扯到部署、性能優(yōu)化、跨團隊協(xié)作就會露餡。社招比校招更看重的就是工程落地能力簡歷上如果沒有體現(xiàn)這部分的經(jīng)驗面試官會有疑慮。第四個是交流能力不足。面試是個雙向溝通的過程不是單向答題。有些候選人技術(shù)很強但溝通時習(xí)慣性打斷面試官或者回答問題過于發(fā)散容易給面試官留下協(xié)作成本高的印象。6.3 針對性的補強訓(xùn)練方法如果發(fā)現(xiàn)自己基礎(chǔ)知識不牢最快的補強方法是把經(jīng)典論文和基礎(chǔ)課程重新過一遍用輸出倒逼輸入。我的做法是每讀完一篇論文就對著空氣講一遍核心貢獻和技術(shù)實現(xiàn)講不清楚的地方就是知識盲區(qū)。如果項目講不清楚建議先把自己的項目重新梳理一遍畫出技術(shù)鏈路圖標(biāo)出每個節(jié)點的輸入輸出和關(guān)鍵參數(shù)。然后模擬面試官可能問到的問題自己給自己做幾輪追問練習(xí)。如果能找到一個朋友幫忙模擬面試效果會更好旁觀者清他們往往能指出你自己看不見的問題。如果想補強工程能力最有效的方法是實際動手做一個小項目把訓(xùn)練到部署的完整流程走一遍。比如用自己的數(shù)據(jù)訓(xùn)練一個目標(biāo)檢測模型然后轉(zhuǎn)成ONNX再轉(zhuǎn)成TensorRT最后用C或者Python調(diào)用推理。這個過程雖然辛苦但比看十篇部署文檔都管用因為它讓你真正理解模型從訓(xùn)練到上線的每一步。7. 2021年社招面試趨勢與核心能力要求的變化回看2021年的視覺算法崗社招一個明顯的趨勢是“算法工程師”的邊界正在模糊。越來越多的崗位要求算法工程師不僅會訓(xùn)練模型還要懂部署、懂?dāng)?shù)據(jù)、懂業(yè)務(wù)至少要理解整個產(chǎn)品鏈路里算法所處的位置。7.1 復(fù)合能力要求的提升2021年的招聘JD里頻繁出現(xiàn)的要求包括熟悉TensorRT、ONNX、OpenVINO等推理引擎有模型壓縮、量化、剪枝經(jīng)驗優(yōu)先熟悉C能獨立完成算法模塊開發(fā)有移動端或嵌入式平臺部署經(jīng)驗優(yōu)先。這些要求背后反映的是企業(yè)對算法工程師的期望已經(jīng)從“模型訓(xùn)練者”轉(zhuǎn)變?yōu)椤八惴óa(chǎn)品完整交付者”。當(dāng)時做視覺算法的從業(yè)者普遍需要關(guān)注的事情已經(jīng)不止Train一個環(huán)節(jié)。數(shù)據(jù)標(biāo)注、模型訓(xùn)練、精度調(diào)優(yōu)、壓縮量化、服務(wù)部署整個生命周期都要有人管。能理解大模型在端側(cè)落地遇到的挑戰(zhàn)能平衡精度和速度的矛盾這種能力在面試時體現(xiàn)的是工程素養(yǎng)與問題解決能力的深度這種復(fù)合能力在2021年的社招中非常吃香。從面試題也能感覺到這個趨勢。算法題的比例在下降系統(tǒng)設(shè)計題和工程題的比例在上升。手寫NMS不再只是檢測方向的基礎(chǔ)題還會追問“批量計算IoU矩陣怎么實現(xiàn)”“如果改用C實現(xiàn)會比Python快多少”“怎么把NMS放進TensorRT的推理管線里”這類工程化的問題。7.2 技術(shù)與業(yè)務(wù)的銜接意識另外一個趨勢是面試官越來越看重候選人對業(yè)務(wù)的理解。2021年我面過的幾家公司幾乎每家都會問“你怎么理解你做的算法在業(yè)務(wù)中的價值”“如果業(yè)務(wù)指標(biāo)和技術(shù)指標(biāo)沖突你怎么權(quán)衡”。這些問題在幾年前的面經(jīng)里很少出現(xiàn)但現(xiàn)在已經(jīng)成了社招面試的常見問題。這個變化背后的邏輯是算法團隊在企業(yè)里的話語權(quán)越來越取決于算法能否真正解決業(yè)務(wù)問題。一個模型在A榜上刷到99%的準(zhǔn)確率放到真實場景卻因為數(shù)據(jù)分布差異而失控這種“實驗室效果好”與“實際落地效果差”的落差正是很多業(yè)務(wù)方對算法團隊的抱怨來源。所以準(zhǔn)備面試時除了準(zhǔn)備論文和項目也建議想想你的算法到底服務(wù)了什么業(yè)務(wù)場景用戶是誰成本是多少競品怎么做這些問題想清楚了在回答業(yè)務(wù)相關(guān)問題時能講出很多有洞察的內(nèi)容。7.3 給后續(xù)求職者的建議如果你正在準(zhǔn)備視覺算法崗的社招面試我的建議是重心放在項目復(fù)盤和系統(tǒng)設(shè)計能力的提升上。刷題可以但不要過度研究算法原理時不要只停留在會推公式要能講清楚實際數(shù)據(jù)是怎么流動、怎么批處理要能理解訓(xùn)練和推理的整個行為規(guī)律。如果你準(zhǔn)備和面試官聊業(yè)界前沿別只報名字把每個關(guān)鍵進展的原理和動機講清楚。可能大家看這篇面經(jīng)最想獲得的是“標(biāo)準(zhǔn)答案”但我想說的是面經(jīng)的真正價值不是背答案而是知方向。知道了方向把基礎(chǔ)打牢把項目挖透剩下的事情水到渠成。我從準(zhǔn)備第一場面試時的手心冒汗到面到最后幾家時能笑著和面試官討論技術(shù)細(xì)節(jié)中間大概經(jīng)歷了十幾次的復(fù)盤迭代。這個過程中最深的體會是面試不是看你能答出多少答案而是看你有沒有一套完整的技術(shù)思維框架和解決未知問題的能力。希望這篇面經(jīng)能讓你的準(zhǔn)備過程少走一點彎路祝順利。