盤:從海投無(wú)果到大廠Offer的關(guān)鍵心得)
2020年的秋招季對(duì)國(guó)內(nèi)所有應(yīng)屆生來(lái)說(shuō)都太特殊了——疫情讓傳統(tǒng)的宣講會(huì)、現(xiàn)場(chǎng)筆試集體消失視頻面試線上筆試成了絕對(duì)主流。作為一個(gè)目標(biāo)明確想進(jìn)大廠的前端應(yīng)屆生我在那幾個(gè)月里經(jīng)歷了簡(jiǎn)歷海投無(wú)聲、筆試翻車、三面掛掉、被HR泡池子的一系列打擊也終于拿到了幾個(gè)還算滿意的大廠offer。整個(gè)過(guò)程真真切切讓我體會(huì)到了什么叫不進(jìn)則退。這篇文章不打算寫成標(biāo)準(zhǔn)的面經(jīng)模板也不會(huì)把面試題變成八股文清單。我想聊聊那些面試官不會(huì)寫在面經(jīng)里、但真正決定你能否上岸的東西簡(jiǎn)歷怎么從篩選中活下來(lái)、八股文到底怎么背才能變成自己的、機(jī)試的穩(wěn)定性怎么練、遠(yuǎn)程面試有哪些額外得分點(diǎn)以及秋招這種長(zhǎng)達(dá)三個(gè)月的持久戰(zhàn)心態(tài)和復(fù)盤到底有多重要。如果你也在準(zhǔn)備前端大廠面試或者還在猶豫要不要沖一下這篇東西希望能給你一些真正的參考。1. 2020年秋招的真實(shí)底色遠(yuǎn)程面試全面鋪開(kāi)海投模式失效了1.1 疫情讓秋招節(jié)奏徹底變了先聊時(shí)間背景。2020年的秋招很多公司從7月就開(kāi)始啟動(dòng)提前批8月底到9月初是正式批的井噴期10月開(kāi)始陸續(xù)進(jìn)入尾批和補(bǔ)招。表面看起來(lái)時(shí)間線和往年差不多但實(shí)際節(jié)奏已經(jīng)被線上化打亂了。最大的變化是筆試和面試全面線上化。往年大廠校招筆試基本都在學(xué)校里統(tǒng)一機(jī)房進(jìn)行2020年則普遍改成牛客網(wǎng)、賽碼網(wǎng)這類在線筆試平臺(tái)在家開(kāi)攝像頭就能考。面試更是從兩輪技術(shù)面一輪HR面的線下流程變成了視頻面為主甚至出現(xiàn)了一整天連面四輪的魔鬼安排。我當(dāng)時(shí)最夸張的一天上午兩場(chǎng)視頻面試下午一場(chǎng)筆試晚上還有一個(gè)電話面整個(gè)人精力被撕成碎片。線上化帶來(lái)的第二個(gè)變化是海投模式開(kāi)始失效。以前大家覺(jué)得多投簡(jiǎn)歷總能有幾個(gè)回音但2020年很多公司用了AI篩選簡(jiǎn)歷、統(tǒng)一題庫(kù)筆試沒(méi)有內(nèi)推或者簡(jiǎn)歷里沒(méi)有突出的關(guān)鍵詞基本就在系統(tǒng)里石沉大海。我初期海投了大概200份簡(jiǎn)歷最終得到筆試機(jī)會(huì)的不到30家拿到面試的更少。這個(gè)數(shù)據(jù)不是勸退而是想說(shuō)海投的低效性在線上化之后被放大了精準(zhǔn)投遞和找內(nèi)推的性價(jià)比遠(yuǎn)高于盲目海投。1.2 不進(jìn)則退不是口號(hào)是這場(chǎng)秋招給我的最大教訓(xùn)說(shuō)實(shí)話以前我對(duì)不進(jìn)則退這四個(gè)字的理解只停留在雞湯層面但2020年秋招親身經(jīng)歷之后我把它當(dāng)成了自己求職觀的地基。為什么這么說(shuō)因?yàn)榍岸思夹g(shù)棧的迭代速度在2020年實(shí)在太快了。我記得年初還在用React 16的hooks方案年中Vue 3 beta發(fā)布、Vite開(kāi)始冒頭年末Webpack 5正式發(fā)布、Snowpack這類工具也開(kāi)始被討論。如果你只是按部就班地學(xué)完了React或Vue的基礎(chǔ)用法沒(méi)有跟進(jìn)最新的工程化實(shí)踐、沒(méi)有研究過(guò)性能優(yōu)化的底層原理、沒(méi)有了解微前端和Serverless這些新方向面試官隨便追問(wèn)兩句就露餡了。更直接的體現(xiàn)是面試題目的難度升級(jí)。2019年之前前端大廠校招面經(jīng)還能看到不少講講event loop手寫防抖節(jié)流這類基礎(chǔ)題但2020年之后同樣一道題會(huì)往上疊加好幾層先講event loop再追問(wèn)宏任務(wù)微任務(wù)的具體執(zhí)行場(chǎng)景再讓你結(jié)合React的調(diào)度機(jī)制分析一個(gè)真實(shí)頁(yè)面的卡頓原因。也就是說(shuō)面試官想看的不再是你會(huì)不會(huì)背概念而是你的知識(shí)體系能不能支撐他去深挖。這也是我把不進(jìn)則退放在標(biāo)題最前面的原因——秋招里的每一個(gè)競(jìng)爭(zhēng)者都在進(jìn)步尤其是目標(biāo)明確的人在三個(gè)月里進(jìn)步的速度是驚人的你稍稍松一口氣就會(huì)被甩在后面。2. 簡(jiǎn)歷不是寫出來(lái)的是篩出來(lái)的如何讓你的簡(jiǎn)歷活過(guò)第一輪2.1 技術(shù)棧別追求大而全要和目標(biāo)崗位精準(zhǔn)對(duì)齊簡(jiǎn)歷是第一關(guān)但很多人對(duì)簡(jiǎn)歷的理解有偏差。簡(jiǎn)歷不是你的技術(shù)自傳不是所有學(xué)過(guò)的技術(shù)都往上堆而是你與目標(biāo)崗位的匹配度說(shuō)明書。我在秋招前期犯過(guò)一個(gè)典型錯(cuò)誤把Vue、React、Angular、小程序、Node、Flutter全都寫進(jìn)技術(shù)棧覺(jué)得這樣顯得自己全能。實(shí)際上HR和面試官看到這種簡(jiǎn)歷第一反應(yīng)是這人是不是都只學(xué)了皮毛。后來(lái)我痛定思痛把技術(shù)棧按精通熟練了解三個(gè)層級(jí)做了嚴(yán)格區(qū)分——精通只保留兩三項(xiàng)JavaScript和TypeScript、React及其生態(tài)、前端工程化方向熟練放Vue、小程序、Node了解才放Flutter、GraphQL這些接觸過(guò)的邊緣方向。投遞不同公司的時(shí)候我會(huì)根據(jù)JD微調(diào)技術(shù)棧排序比如這家公司主要用Vue就把Vue提到前面。這個(gè)做法的邏輯在于大廠校招面試官一天可能要面十幾個(gè)候選人簡(jiǎn)歷上精通兩個(gè)字如果不能在你的項(xiàng)目經(jīng)歷里得到證實(shí)那就是減分項(xiàng)。精而準(zhǔn)永遠(yuǎn)比大而全更有說(shuō)服力。2.2 STAR法則量化項(xiàng)目每一個(gè)字都要能扛住追問(wèn)項(xiàng)目經(jīng)歷是簡(jiǎn)歷的主體也是面試環(huán)節(jié)面試官問(wèn)得最細(xì)的部分。我見(jiàn)過(guò)很多同學(xué)的項(xiàng)目描述是這樣的負(fù)責(zé)XX系統(tǒng)前端開(kāi)發(fā)實(shí)現(xiàn)XX功能——這種描述等于什么都沒(méi)寫。我自己后來(lái)總結(jié)了一套項(xiàng)目描述方法可以叫它STAR法則的前端版背景Situation這個(gè)項(xiàng)目是什么場(chǎng)景、給誰(shuí)用、解決什么問(wèn)題。任務(wù)Task你在其中負(fù)責(zé)哪一部分是整體架構(gòu)還是某個(gè)業(yè)務(wù)模塊。行動(dòng)Action具體做了什么技術(shù)選型和實(shí)現(xiàn)方案為什么這么選。結(jié)果Result量化成果比如首屏加載時(shí)間從3.2s降到1.1s、線上bug量下降40%、支持日活10萬(wàn)用戶等。其中量化結(jié)果這一項(xiàng)是我吃過(guò)虧才重視起來(lái)的。第一次寫簡(jiǎn)歷的時(shí)候我寫優(yōu)化了首屏加載速度面試官問(wèn)優(yōu)化了多久怎么測(cè)量的具體優(yōu)化了哪幾個(gè)點(diǎn)我支支吾吾答不上來(lái)面試氣氛瞬間降到冰點(diǎn)。后來(lái)我把每個(gè)項(xiàng)目都補(bǔ)上了數(shù)據(jù)比如通過(guò)路由懶加載、圖片CDN加速、gzip壓縮等方案將首屏加載時(shí)間從3.2s降到1.1sLightHouse FCP指標(biāo)這樣面試官再追問(wèn)我就能順著數(shù)據(jù)往下講而且每個(gè)數(shù)據(jù)背后都有真實(shí)的優(yōu)化點(diǎn)支撐。還有一個(gè)關(guān)鍵原則簡(jiǎn)歷里的每一個(gè)項(xiàng)目和技術(shù)點(diǎn)都要做好被深挖三層的準(zhǔn)備。比如你寫了使用Web Worker處理大文件上傳面試官會(huì)追問(wèn)為什么不用主線程SharedArrayBuffer和postMessage的區(qū)別是什么大文件分片的粒度怎么定斷點(diǎn)續(xù)傳的hash怎么計(jì)算如果你答不上來(lái)寧可不要寫這個(gè)項(xiàng)目。簡(jiǎn)歷上每一個(gè)亮點(diǎn)都應(yīng)該是你真正能吃透的知識(shí)點(diǎn)。2.3 投遞策略從海投到定向狙擊投遞策略這件事我是踩了坑之后才認(rèn)真對(duì)待的。初期我海投了大概200多份簡(jiǎn)歷從頂級(jí)大廠到不知名小公司都投結(jié)果回復(fù)率極低大部分都是簡(jiǎn)歷已進(jìn)入人才庫(kù)的官方拒絕信。后來(lái)我把策略改成了定向狙擊目標(biāo)篩選列出20家想去的公司認(rèn)真研究每一家的業(yè)務(wù)方向、技術(shù)棧、校招流程。內(nèi)推優(yōu)先通過(guò)各種渠道找內(nèi)推包括學(xué)長(zhǎng)學(xué)姐、技術(shù)社區(qū)、??途W(wǎng)的內(nèi)推帖。內(nèi)推除了能免簡(jiǎn)歷篩選或優(yōu)先篩選更重要的是能幫你把簡(jiǎn)歷遞到業(yè)務(wù)線真實(shí)的技術(shù)面試官手里看到的機(jī)會(huì)完全不同。定制簡(jiǎn)歷針對(duì)不同公司的技術(shù)棧微調(diào)簡(jiǎn)歷里的項(xiàng)目排序和技術(shù)棧優(yōu)先級(jí)但保證真實(shí)性絕對(duì)不編造。說(shuō)實(shí)話定向投遞之后我收到的面試邀請(qǐng)率有了明顯提升從之前的十投一響變成了五投二響。這不是玄學(xué)而是因?yàn)楹?jiǎn)歷和目標(biāo)崗位的匹配度直接決定了系統(tǒng)篩選中被撈起來(lái)的概率。3. 八股文準(zhǔn)備的核心邏輯背答案不如構(gòu)建知識(shí)網(wǎng)絡(luò)3.1 計(jì)算機(jī)基礎(chǔ)大廠前端的隱形分水嶺前端面試八股文往往被人詬病但不可否認(rèn)它確實(shí)是校招篩人的重要手段。我在準(zhǔn)備過(guò)程中最大的體會(huì)是八股文不能死背要構(gòu)建知識(shí)網(wǎng)絡(luò)尤其是計(jì)算機(jī)基礎(chǔ)這塊。很多前端同學(xué)會(huì)忽略計(jì)算機(jī)網(wǎng)絡(luò)、操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)這些基礎(chǔ)課覺(jué)得我是前端為什么要看這些但大廠面試官看重的恰恰是這部分。我記得在字節(jié)的第三輪技術(shù)面中面試官問(wèn)了一個(gè)問(wèn)題從你在地址欄輸入U(xiǎn)RL到頁(yè)面顯示整個(gè)過(guò)程發(fā)生了什么這道題看起來(lái)是經(jīng)典八股但真正的難點(diǎn)在后續(xù)追問(wèn)DNS解析的細(xì)節(jié)是什么TCP握手為什么是三次HTTPS握手過(guò)程中證書驗(yàn)證是怎么做的瀏覽器渲染進(jìn)程和網(wǎng)絡(luò)進(jìn)程是怎么通信的如果只背過(guò)答案模板答不出兩層就會(huì)卡住。我的準(zhǔn)備方法是把輸入U(xiǎn)RL到頁(yè)面顯示作為一個(gè)主線把計(jì)算機(jī)網(wǎng)絡(luò)、瀏覽器原理、渲染機(jī)制全部串起來(lái)。比如DNS解析對(duì)應(yīng)網(wǎng)絡(luò)層TCP/IP協(xié)議、HTTP緩存在協(xié)議層瀏覽器進(jìn)程架構(gòu)、渲染管線、回流重繪在渲染層然后每層再往外擴(kuò)展。這樣任何一個(gè)環(huán)節(jié)被提問(wèn)我都能定位到自己知識(shí)網(wǎng)絡(luò)中的位置從上游和下游去補(bǔ)充答案而不是就事論事背一段死答案。3.2 前端核心知識(shí)點(diǎn)要有自己的面試答題框架前端本身的八股文也不能零散地記要有答題框架。我拿瀏覽器緩存舉例說(shuō)明我的整理方法第一步明確這個(gè)知識(shí)點(diǎn)的層級(jí)瀏覽器緩存屬于HTTP協(xié)議層 瀏覽器機(jī)制層可以從HTTP緩存和HTTP緩存整體策略兩個(gè)方向回答。第二步繪制自己的答題邏輯主線HTTP緩存強(qiáng)緩存、協(xié)商緩存強(qiáng)緩存ExpiresHTTP/1.0、Cache-ControlHTTP/1.1max-age、no-cache、no-store等指令。協(xié)商緩存Last-Modified / If-Modified-SinceETag / If-None-Match。為什么有ETag還要Last-Modified各自有什么問(wèn)題Last-Modified粒度是秒文件修改但內(nèi)容沒(méi)變也會(huì)重新驗(yàn)證ETag基于內(nèi)容哈希更精確。緩存位置Memory Cache內(nèi)存、Disk Cache硬盤、Service Worker緩存。緩存策略的實(shí)際應(yīng)用結(jié)合前端工程化比如hash文件名版本控制、打包時(shí)的gzip、CDN的cache-control配置。第三步準(zhǔn)備一個(gè)實(shí)際場(chǎng)景上線一個(gè)前端版本后老用戶緩存不失效怎么辦這個(gè)問(wèn)題在真實(shí)工作中經(jīng)常遇到答案就是文件名hash 發(fā)布時(shí)修改index.html的Cache-Control為no-cache。準(zhǔn)備完這個(gè)場(chǎng)景之后面試官再深入問(wèn)打包輸出帶hash的文件為什么能解決緩存問(wèn)題我也可以順著hash計(jì)算的原理答下去。零散背八股和構(gòu)建知識(shí)網(wǎng)絡(luò)的區(qū)別就在這里死背只能回答是什么而知識(shí)網(wǎng)絡(luò)能回答為什么和怎么辦。面試官往往更看重后面的部分。3.3 手寫代碼題高頻題不能只是見(jiàn)過(guò)前端面試的手寫題是很多人的噩夢(mèng)。防抖節(jié)流、深拷貝、Promise.all、數(shù)組扁平化、柯里化、new的實(shí)現(xiàn)、call/apply/bind實(shí)現(xiàn)、數(shù)組去重、事件總線……這些題目幾乎每家都會(huì)出。我對(duì)手寫題的態(tài)度是不能只停留在見(jiàn)過(guò)、能寫出來(lái)的程度要理解每一個(gè)實(shí)現(xiàn)的邊界條件和性能考量。以深拷貝為例如果只寫一個(gè)遞歸遍歷Object.assign面試官會(huì)讓你補(bǔ)上函數(shù)、正則、Date、循環(huán)引用、Symbol、Map/Set這些特殊類型的處理。準(zhǔn)備的時(shí)候我專門花了一個(gè)晚上把所有邊界case全整理了一遍基礎(chǔ)類型直接返回函數(shù)、Date、RegExp、Map、Set分別處理Symbol作為key也要保留WeakMap解決循環(huán)引用以及為什么要用WeakMap而不是Map——防止內(nèi)存泄漏等到面試的時(shí)候手寫深拷貝就變成了一道加分題而不是送命題。類似的還有手寫Promise.all的時(shí)候要考慮reject之后的狀態(tài)處理、傳入空數(shù)組的返回、以及返回值數(shù)組的索引對(duì)應(yīng)關(guān)系。這些細(xì)節(jié)只有自己完整實(shí)現(xiàn)過(guò)一遍才能在實(shí)際面試中順手寫出來(lái)。4. 機(jī)試與算法從刷題量到解題穩(wěn)定性的跨越4.1 刷題路線怎么定大廠校招的算法筆試一般分為兩類一類是ACM風(fēng)格的在線編程題??途W(wǎng)平臺(tái)一類是偏工業(yè)場(chǎng)景的算法題。2020年秋招機(jī)器筆試的特點(diǎn)是題目數(shù)量不多1-2題到3-5題不等但時(shí)間緊、數(shù)據(jù)范圍大、要求一次性通過(guò)所有測(cè)試用例也就是說(shuō)暴力解能過(guò)一部分case但不給全部分?jǐn)?shù)的情況很普遍。我的刷題路線是數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)數(shù)組、鏈表、棧、隊(duì)列、哈希表、二叉樹(shù)→ 基礎(chǔ)算法思想遞歸、二分、排序、雙指針、滑動(dòng)窗口→ 進(jìn)階算法動(dòng)態(tài)規(guī)劃、貪心、回溯、圖、并查集→ 高頻題字節(jié)跳動(dòng)、騰訊、阿里等公司的高頻面經(jīng)題。最推薦的刷題順序是先按知識(shí)點(diǎn)專題刷再按公司真題刷。按專題刷是為了形成看到題目就能定位到數(shù)據(jù)結(jié)構(gòu)和算法思想的條件反射按公司真題刷是為了適應(yīng)出題風(fēng)格和題目難度。LeetCode的劍指Offer系列、??途W(wǎng)的公司真題庫(kù)都是不錯(cuò)的練習(xí)材料。4.2 機(jī)試翻車的幾個(gè)典型場(chǎng)景機(jī)試翻車的原因很多時(shí)候不是算法不會(huì)而是輸出格式、輸入處理、邊界條件這些軟細(xì)節(jié)出了問(wèn)題。我總結(jié)了自己和周圍同學(xué)的幾個(gè)高頻翻車場(chǎng)景輸入輸出問(wèn)題。??途W(wǎng)常見(jiàn)的輸入模板是parseInt(readline())但有些題目有多行輸入、每行長(zhǎng)度不同如果沒(méi)注意讀入空行或者多余空格就會(huì)導(dǎo)致亂碼。練習(xí)時(shí)一定要熟悉??驮诰€編程的輸入輸出格式最好把幾種常見(jiàn)模板背下來(lái)。數(shù)組越界和空數(shù)組。寫二分、雙指針、滑動(dòng)窗口的時(shí)候初始條件和while循環(huán)的邊界是否覆蓋空數(shù)組、單元素?cái)?shù)組是很好拿分但也很好丟分的地方。建議平常練習(xí)就養(yǎng)成先跑邊界測(cè)試的習(xí)慣。精度問(wèn)題。涉及浮點(diǎn)數(shù)比較時(shí)不要直接要用Math.abs(a - b) 1e-9。涉及大數(shù)運(yùn)算時(shí)要用BigInt或字符串處理。時(shí)間復(fù)雜度的誤判。比如數(shù)據(jù)范圍是10的5次方你寫了個(gè)O(n2)的解法結(jié)果超時(shí)。做題的時(shí)候要快速根據(jù)數(shù)據(jù)范圍估算復(fù)雜度是不是能過(guò)。還有一個(gè)容易忽略的點(diǎn)是寫完代碼一定自己跑一遍示例。我見(jiàn)過(guò)不少同學(xué)在??途W(wǎng)提交了就干等結(jié)果因?yàn)槁┝朔痔?hào)、數(shù)組下標(biāo)寫錯(cuò)而WAWrong Answer這非??上?。在本地IDE或者草稿紙上模擬一遍輸入輸出能幫你避免大量低級(jí)錯(cuò)誤。4.3 時(shí)間分配的優(yōu)先級(jí)秋招期間不可能把所有時(shí)間都放在刷題上還有八股文、項(xiàng)目復(fù)盤、面試技巧需要準(zhǔn)備。我的時(shí)間分配大概是這樣的前期7月到8月中旬每天固定2小時(shí)刷算法題1小時(shí)整理前端知識(shí)網(wǎng)絡(luò)1小時(shí)復(fù)盤項(xiàng)目。前期末到中旬8月中旬到9月算法的時(shí)間減到每天1到1.5小時(shí)重點(diǎn)刷高頻真題同時(shí)開(kāi)啟面試復(fù)盤環(huán)節(jié)——每次技術(shù)面結(jié)束后當(dāng)天就把被問(wèn)到的問(wèn)題整理進(jìn)知識(shí)庫(kù)。中后期9月到10月算法主要以保持手感為主不再做新題每天1道hard或者2道m(xù)edium加上之前整理的錯(cuò)題集中重做。面試復(fù)盤和八股文優(yōu)先級(jí)提高因?yàn)槊嬖囇?qǐng)變得密集實(shí)時(shí)更新自己的知識(shí)盲區(qū)變得很重要。說(shuō)實(shí)話沒(méi)有人能面面俱到關(guān)鍵是在正確的時(shí)間做正確的事。7月一開(kāi)始就把大量時(shí)間花在背八股文上等到9月面試高峰期才發(fā)現(xiàn)算法手感丟了這種血淚教訓(xùn)我見(jiàn)過(guò)不止一次。5. 面試現(xiàn)場(chǎng)復(fù)盤遠(yuǎn)程面試有哪些你看不見(jiàn)的得分點(diǎn)5.1 自我介紹和項(xiàng)目介紹怎么講出亮點(diǎn)遠(yuǎn)程面試、尤其是視頻面試和線下面對(duì)面的感受完全不同畫面卡頓、延遲、雙方互動(dòng)節(jié)奏都會(huì)影響發(fā)揮。這讓我意識(shí)到遠(yuǎn)程面試的自我展示需要更加結(jié)構(gòu)化。自我介紹不是流水賬千萬(wàn)不要從大一說(shuō)到大四。我的套路是一句話定位我是誰(shuí)來(lái)自哪所學(xué)校主攻前端方向 兩個(gè)亮點(diǎn)在校期間做了XX項(xiàng)目主要貢獻(xiàn)是XX 一個(gè)目標(biāo)希望有機(jī)會(huì)加入貴公司在XX方向繼續(xù)深入總時(shí)長(zhǎng)控制在1分鐘左右。自我介紹最重要的作用是給面試官一個(gè)鉤子讓他順著你最想被深挖的地方提問(wèn)。項(xiàng)目介紹更不能平鋪直敘。我后來(lái)總結(jié)了一個(gè)技術(shù)亮點(diǎn)第一的講法不按時(shí)間線講項(xiàng)目而是先拋?zhàn)盍裂鄣募夹g(shù)點(diǎn)。比如這個(gè)項(xiàng)目最核心的突破是我們用Web Worker解決了大數(shù)據(jù)量導(dǎo)出的卡頓問(wèn)題具體方案是……——這樣面試官就會(huì)順著這個(gè)技術(shù)點(diǎn)往下問(wèn)主動(dòng)權(quán)就掌握在你手里了。如果按時(shí)間線從需求講到設(shè)計(jì)再講實(shí)現(xiàn)面試官大概率會(huì)從你最薄弱的環(huán)節(jié)開(kāi)始提問(wèn)。5.2 面試中的追問(wèn)鏈怎么應(yīng)對(duì)大廠面試最明顯的特點(diǎn)就是追問(wèn)特別深。一個(gè)講一下React的渲染流程可能被一路追問(wèn)到Fiber、優(yōu)先級(jí)調(diào)度、時(shí)間切片、中斷恢復(fù)。能不能接得住追問(wèn)是面試官判斷你是不是真的會(huì)的分水嶺。我應(yīng)對(duì)追問(wèn)的方法論是永遠(yuǎn)用現(xiàn)象→原理→實(shí)踐的結(jié)構(gòu)回答問(wèn)題。比如被問(wèn)到React中setState是同步還是異步這個(gè)問(wèn)題我會(huì)先回答現(xiàn)象在React 18之前在事件處理函數(shù)中是異步的在setTimeout或原生事件中是同步的然后講原理React內(nèi)部通過(guò)一個(gè)執(zhí)行上下文標(biāo)志isBatchingUpdates來(lái)控制批量更新getDerivedStateFromProps和componentDidUpdate的調(diào)用時(shí)機(jī)決定了更新是否被合并最后講實(shí)踐這個(gè)特性在開(kāi)發(fā)中意味著什么比如在setState之后不能立刻讀state值要使用回調(diào)函數(shù)或者在componentDidUpdate中讀取。哪怕被追問(wèn)到不會(huì)的地方也不要直接說(shuō)不知道。更好的表達(dá)是這塊我目前的理解是……可能方向上有偏差您可以指正然后把自己知道的相關(guān)內(nèi)容說(shuō)出來(lái)。面試官要的不是一個(gè)行走的百科全書而是面對(duì)未知問(wèn)題時(shí)展現(xiàn)出來(lái)的思維方式和學(xué)習(xí)能力。5.3 反問(wèn)環(huán)節(jié)這才是拉開(kāi)差距的地方很多同學(xué)把反問(wèn)環(huán)節(jié)當(dāng)成走過(guò)場(chǎng)問(wèn)一句部門主要做什么就結(jié)束了。但實(shí)際上反問(wèn)環(huán)節(jié)是展示你思考深度和個(gè)人取舍的最佳時(shí)機(jī)。我一般在反問(wèn)環(huán)節(jié)會(huì)問(wèn)以下問(wèn)題關(guān)于團(tuán)隊(duì)技術(shù)棧目前團(tuán)隊(duì)在前端技術(shù)棧上主要用Vue還是React未來(lái)的演進(jìn)方向是什么如果有新的項(xiàng)目立項(xiàng)平臺(tái)怎么決定用哪套框架——這展示了你對(duì)技術(shù)選型的關(guān)注也幫自己判斷這個(gè)團(tuán)隊(duì)是否技術(shù)驅(qū)動(dòng)。關(guān)于新人培養(yǎng)校招同學(xué)入職后的培訓(xùn)體系是什么樣的第一年大概會(huì)接觸到什么樣的項(xiàng)目——問(wèn)這個(gè)問(wèn)題能讓你在多個(gè)offer之間做取舍也表明你不是隨便找個(gè)工作就完事。關(guān)于業(yè)務(wù)方向這個(gè)團(tuán)隊(duì)目前主要服務(wù)哪些業(yè)務(wù)方業(yè)務(wù)在快速發(fā)展期還是成熟期——這可以幫你了解團(tuán)隊(duì)的氛圍和晉升空間。反過(guò)來(lái)千萬(wàn)別問(wèn)的薪資待遇HR面再聊、加班情況會(huì)給人抗壓能力不行的印象、我面試表現(xiàn)怎么樣這是面試官最忌諱的等。反問(wèn)環(huán)節(jié)不是提問(wèn)機(jī)會(huì)是你展示決策能力的機(jī)會(huì)。6. 秋招全程時(shí)間線與心態(tài)管理Offer靠實(shí)力也靠撐到最后6.1 我的秋招時(shí)間線復(fù)盤復(fù)盤自己的秋招時(shí)間線我覺(jué)得有幾個(gè)關(guān)鍵節(jié)點(diǎn)是可以優(yōu)化的。我把自己真實(shí)的秋招經(jīng)歷做了一個(gè)簡(jiǎn)化時(shí)間線供大家參考時(shí)間階段主要?jiǎng)幼鲝?fù)盤反饋7月初-7月中旬準(zhǔn)備期確定方向、篩選目標(biāo)公司、開(kāi)始刷題方向確定得太晚應(yīng)該4-5月就開(kāi)始7月中旬-8月中旬基礎(chǔ)夯實(shí)刷LeetCode基礎(chǔ)、整理前端知識(shí)網(wǎng)絡(luò)八股文和算法并行推進(jìn)每天保證3小時(shí)很有用8月中旬-9月初提前批沖刺投遞提前批、參加線上筆試和初次面試提前批的競(jìng)爭(zhēng)也很激烈但不投更虧9月-10月正式批高峰期密集筆試、技術(shù)面、HR面這個(gè)階段的面試邀請(qǐng)開(kāi)始爆發(fā)一定要做好記錄和復(fù)盤10月底-11月尾批補(bǔ)招部分公司加面、比較offer、最終簽約Offer比較時(shí)不要只看base要看技術(shù)和業(yè)務(wù)成長(zhǎng)這個(gè)時(shí)間線看起來(lái)很簡(jiǎn)單但實(shí)際操作中每個(gè)階段都會(huì)遇到突發(fā)情況比如一個(gè)筆試和另一個(gè)面試撞車、某個(gè)公司三面拖了兩周沒(méi)消息、提前批被掛但正式批重新發(fā)起……所以我強(qiáng)烈建議做一份秋招管理表格把每家公司投遞的時(shí)間、筆試狀態(tài)、面試輪次、面試官問(wèn)過(guò)的問(wèn)題、你的復(fù)盤全部記錄下來(lái)。秋招后期你會(huì)發(fā)現(xiàn)這個(gè)表格就是你最寶貴的經(jīng)驗(yàn)庫(kù)。6.2 焦慮、被掛、自我懷疑這些情緒怎么處理秋招是一場(chǎng)長(zhǎng)達(dá)三個(gè)月的心理戰(zhàn)我認(rèn)識(shí)的大部分同學(xué)包括我自己中途都有過(guò)崩盤的瞬間。記得我9月份有一次三面被掛原因是項(xiàng)目中的某個(gè)細(xì)節(jié)回答得不夠深入那個(gè)問(wèn)題其實(shí)我準(zhǔn)備過(guò)但因?yàn)榫o張沒(méi)發(fā)揮好。掛完之后我整個(gè)人都泄氣了連續(xù)兩天不想看任何技術(shù)內(nèi)容覺(jué)得自己三個(gè)月白準(zhǔn)備了。后來(lái)怎么調(diào)整過(guò)來(lái)的我發(fā)現(xiàn)幾個(gè)方法很有效固定時(shí)間焦慮把焦慮集中在某個(gè)固定時(shí)間比如每次面試完之后的半小時(shí)允許自己沮喪、吐槽、吃頓好的。其余時(shí)間告訴自己這是工作時(shí)間一切情緒等休息時(shí)再處理。這個(gè)方法看似荒謬但親測(cè)有效它能把情緒從工作狀態(tài)中隔離出去。和面友保持聯(lián)系找?guī)讉€(gè)同樣在秋招的朋友組成一個(gè)相互監(jiān)督、相互打氣的小群。彼此分享面經(jīng)、互相做模擬面試遇到面試被掛的時(shí)候群里吐吐槽你會(huì)發(fā)現(xiàn)你不是一個(gè)人。這種歸屬感對(duì)心態(tài)非常重要。復(fù)盤優(yōu)先于情緒面試被掛不要只沉浸在難過(guò)里當(dāng)天就把面試過(guò)程記錄下來(lái)找出最薄弱的一個(gè)點(diǎn)第二天花時(shí)間補(bǔ)上。當(dāng)你還有目標(biāo)去完成的時(shí)候情緒反而不會(huì)無(wú)限蔓延。保持規(guī)律的作息和運(yùn)動(dòng)秋招期間很容易熬夜復(fù)習(xí)、暴飲暴食但作息紊亂會(huì)讓焦慮加倍。每天至少保證7小時(shí)睡眠每周做3次運(yùn)動(dòng)哪怕是跑跑步對(duì)穩(wěn)定情緒非常有幫助。6.3 復(fù)盤系統(tǒng)每次面試結(jié)束后的30分鐘比面試本身更重要最后想重點(diǎn)講講面試復(fù)盤這是我認(rèn)為整個(gè)秋招中最核心的方法論也是不進(jìn)則退最好的反義詞每一次面試后如果能快速?gòu)氖≈刑崛〗?jīng)驗(yàn)?zāi)悄憔筒皇峭硕峭白吡税氩健N易约旱膹?fù)盤流程是這樣的面試結(jié)束后立刻找一個(gè)安靜的地方花30分鐘回答這四個(gè)問(wèn)題自我介紹和項(xiàng)目介紹是否流暢有沒(méi)有卡殼面試官問(wèn)了哪些問(wèn)題每個(gè)問(wèn)題我是否有完整的答題框架哪些問(wèn)題沒(méi)答好卡在哪里了是知識(shí)盲區(qū)還是表達(dá)問(wèn)題如果明天再面一次我在哪個(gè)點(diǎn)上可以做至少10%的改進(jìn)然后當(dāng)天晚上把這道題的相關(guān)知識(shí)整理進(jìn)知識(shí)庫(kù)。比如面試官問(wèn)了我HTTP/2的多路復(fù)用和HTTP/1.1的隊(duì)頭阻塞我當(dāng)天晚上就會(huì)把HTTP/1.1、HTTP/2、HTTP/3的協(xié)議演進(jìn)、多路復(fù)用的實(shí)現(xiàn)細(xì)節(jié)、隊(duì)頭阻塞產(chǎn)生的原因和解決辦法全部過(guò)一遍并寫成一個(gè)結(jié)構(gòu)化筆記。為什么要堅(jiān)持這樣做因?yàn)槊嬖囀亲罡咝У牟槁┭a(bǔ)缺方式。你花一個(gè)月的思考整理的面試題可能面一次試就被精準(zhǔn)暴露出來(lái)了。如果每次面試后30分鐘的復(fù)盤總結(jié)能夠被嚴(yán)格執(zhí)行你會(huì)發(fā)現(xiàn)自己的面試能力在快速拉升——第一場(chǎng)面試可能只能撐25分鐘就被問(wèn)倒第五場(chǎng)面試可能就能撐到50分鐘到了第十場(chǎng)你已經(jīng)能主動(dòng)把控面試節(jié)奏了。這個(gè)進(jìn)步的曲線就是對(duì)抗不進(jìn)則退的實(shí)際證明。最后再分享一個(gè)小技巧秋招結(jié)束后回頭看我最大的感悟有兩點(diǎn)第一大廠面經(jīng)最核心的價(jià)值不是讓你背熟答案而是讓你看清面試官考察的邏輯第二不要把求職過(guò)程當(dāng)成被打分的過(guò)程而要把每次面試當(dāng)成一次免費(fèi)的技術(shù)診斷和行業(yè)交流——這樣心態(tài)會(huì)穩(wěn)很多表達(dá)也會(huì)放松不少。最后分享一個(gè)我長(zhǎng)期使用的小技巧把面試官問(wèn)過(guò)但你答得不好的問(wèn)題專門整理一個(gè)痛點(diǎn)清單每周五晚上翻一遍看看這周有哪些痛點(diǎn)已經(jīng)變成必須會(huì)的常識(shí)。一周一周下來(lái)你會(huì)發(fā)現(xiàn)這份清單越來(lái)越短而你面對(duì)下一場(chǎng)面試的信心會(huì)越來(lái)越足。秋招很難但扛過(guò)去以后回頭看你會(huì)感謝那個(gè)不斷把退轉(zhuǎn)化為進(jìn)的自己。