之路)
1. 職業(yè)轉(zhuǎn)折期的困境與破局2019年夏天我經(jīng)歷了人生中第一次重大職業(yè)挫折——校招季顆粒無(wú)收。作為某211院校計(jì)算機(jī)系的應(yīng)屆生原本信心滿滿地準(zhǔn)備了BAT等大廠的面試卻在筆試環(huán)節(jié)就接連折戟。最接近成功的一次是百度的第三輪技術(shù)面面試官最后那句今天的面試就到這里的潛臺(tái)詞我在兩周后收到拒信時(shí)才真正明白。那段日子每天刷著??途W(wǎng)上的面經(jīng)分享看著同齡人曬出的offer郵件連實(shí)驗(yàn)室最內(nèi)向的學(xué)弟都拿到了美團(tuán)的SP特殊計(jì)劃offer而我的郵箱里只有獵聘網(wǎng)的垃圾郵件。記得有次在宿舍樓下碰到輔導(dǎo)員他拍著我肩膀說(shuō)小公司也能鍛煉人當(dāng)時(shí)覺(jué)得這不過(guò)是失敗者的安慰劑。職業(yè)建議校招季被拒后切忌陷入兩種極端——要么盲目海投降低標(biāo)準(zhǔn)要么閉門造車?yán)^續(xù)啃老本。我當(dāng)時(shí)做了三件事1) 整理所有面試錄音逐字分析 2) 用Excel統(tǒng)計(jì)各公司考核知識(shí)點(diǎn)出現(xiàn)頻率 3) 針對(duì)性地重做LeetCode中等難度以上題目2. 小公司的生存法則與技術(shù)突圍迫于生計(jì)我最終入職了一家做電商ERP系統(tǒng)的創(chuàng)業(yè)公司團(tuán)隊(duì)規(guī)模不到30人。入職第一天就發(fā)現(xiàn)現(xiàn)實(shí)比想象的更殘酷技術(shù)棧停留在Spring MVCjQuery時(shí)代版本控制還在用SVN最先進(jìn)的基礎(chǔ)設(shè)施是老板從阿里云買的共享型ECS。但這段經(jīng)歷后來(lái)證明價(jià)值連城。在小公司我被迫成為了全棧工程師中的全棧早上給客戶調(diào)試打印機(jī)驅(qū)動(dòng)下午重寫庫(kù)存管理模塊的SQL優(yōu)化深夜還要處理阿里云OSS的跨域問(wèn)題技術(shù)成長(zhǎng)關(guān)鍵點(diǎn)自建本地GitLab實(shí)現(xiàn)代碼版本控制推動(dòng)團(tuán)隊(duì)采用Docker-compose統(tǒng)一開(kāi)發(fā)環(huán)境用Python腳本自動(dòng)化50%的報(bào)表生成工作在老舊系統(tǒng)中實(shí)踐領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)最難忘的是有一次客戶生產(chǎn)環(huán)境數(shù)據(jù)庫(kù)崩潰我靠著mysqldump和binlog硬是在36小時(shí)內(nèi)恢復(fù)了200萬(wàn)條交易記錄。這種高壓環(huán)境鍛煉出的故障排查能力后來(lái)成為我面試時(shí)的殺手锏。3. 跳槽備戰(zhàn)從野路子到專業(yè)選手工作滿一年半后我開(kāi)始系統(tǒng)性準(zhǔn)備跳槽。與應(yīng)屆生不同社招更看重真實(shí)項(xiàng)目經(jīng)驗(yàn)和架構(gòu)思維。我的準(zhǔn)備策略分為三個(gè)維度3.1 技術(shù)深度重塑把工作中用到的技術(shù)棧追本溯源從會(huì)用Spring到閱讀Spring源碼設(shè)計(jì)模式在個(gè)人博客復(fù)現(xiàn)公司項(xiàng)目的技術(shù)難點(diǎn)比如用《阿里巴巴Java開(kāi)發(fā)手冊(cè)》規(guī)范重構(gòu)代碼每周堅(jiān)持做2道LeetCode hard題保持算法敏感度3.2 項(xiàng)目亮點(diǎn)提煉使用STAR法則重新包裝項(xiàng)目經(jīng)歷Situation日均10萬(wàn)訂單的電商系統(tǒng)Task將響應(yīng)時(shí)間從2s優(yōu)化到200msAction引入Redis緩存雪崩防護(hù)機(jī)制 分庫(kù)分表方案ResultQPS提升5倍年度運(yùn)維成本降低30%3.3 面試模擬訓(xùn)練在B站錄制技術(shù)分享視頻鍛煉表達(dá)能力用騰訊會(huì)議模擬系統(tǒng)設(shè)計(jì)面試整理出《高頻技術(shù)問(wèn)題應(yīng)答模板》文檔4. 百度面試的破局之道經(jīng)過(guò)8個(gè)月準(zhǔn)備我最終獲得百度智能云部門的面試機(jī)會(huì)。與校招時(shí)不同這次面試官對(duì)我在小公司的臟活累活經(jīng)驗(yàn)表現(xiàn)出極大興趣。幾個(gè)關(guān)鍵回合架構(gòu)設(shè)計(jì)題 如何設(shè)計(jì)一個(gè)分布式配置中心 我的回答沒(méi)有直接套用Spring Cloud Config而是結(jié)合公司實(shí)際遇到的配置漂移問(wèn)題提出基于版本號(hào)一致性哈希的解決方案。這正好切中面試官正在處理的真實(shí)需求。項(xiàng)目深挖環(huán)節(jié) 當(dāng)被問(wèn)到最棘手的線上問(wèn)題時(shí)我詳細(xì)講述了那次數(shù)據(jù)庫(kù)恢復(fù)經(jīng)歷并引申出對(duì)PaaS平臺(tái)容災(zāi)設(shè)計(jì)的思考。后來(lái)才知道這位面試官就是負(fù)責(zé)云數(shù)據(jù)庫(kù)產(chǎn)品的Tech Lead。談薪技巧 在HR面時(shí)我沒(méi)有按常規(guī)報(bào)區(qū)間價(jià)而是列出當(dāng)前年薪18萬(wàn)基本工資項(xiàng)目獎(jiǎng)金市場(chǎng)估值拉勾網(wǎng)同類崗位25-30萬(wàn)個(gè)人溢價(jià)已掌握百度云正在推廣的TiDB技術(shù)棧 最終拿到28k*16的offer較原薪資漲幅150%。5. 小廠到大廠的適應(yīng)指南入職百度后才發(fā)現(xiàn)大廠的工作方式完全是另一個(gè)維度工具鏈差異代碼提交要走Code Review流程每天要寫工作日?qǐng)?bào)包括技術(shù)方案文檔鏈接開(kāi)會(huì)必須提前預(yù)約會(huì)議室技術(shù)規(guī)范所有API必須符合內(nèi)部RPC框架規(guī)范數(shù)據(jù)庫(kù)變更要走工單審批連IDE插件都有統(tǒng)一版本管理生存建議第一個(gè)月重點(diǎn)熟悉內(nèi)部wiki和知識(shí)庫(kù)主動(dòng)申請(qǐng)參與技術(shù)分享會(huì)哪怕只是做記錄找到組里的老百度做mentor善用內(nèi)部學(xué)習(xí)平臺(tái)如百度學(xué)院最讓我驚訝的是之前在小公司練就的多線程處理能力在這里反而成了劣勢(shì)。Leader特意提醒我在大廠深度比廣度更重要你需要成為某個(gè)技術(shù)點(diǎn)的owner。6. 給同樣處境者的實(shí)操建議如果你也正經(jīng)歷職業(yè)迷茫期這是我的血淚經(jīng)驗(yàn)包技術(shù)提升路線graph TD A[掌握工作必需技能] -- B[拓展技術(shù)廣度] B -- C[選擇細(xì)分領(lǐng)域深耕] C -- D[產(chǎn)出技術(shù)影響力]時(shí)間管理方案工作日19:00-21:00 專項(xiàng)技術(shù)學(xué)習(xí)周末上午刷題下午項(xiàng)目復(fù)盤通勤時(shí)間聽(tīng)極客時(shí)間專欄資源利用技巧把公司生產(chǎn)問(wèn)題當(dāng)作學(xué)習(xí)案例用開(kāi)源項(xiàng)目補(bǔ)足技術(shù)棧短板參加線下技術(shù)沙龍積累人脈最近整理工位時(shí)翻到當(dāng)年校招時(shí)的面試筆記上面紅筆寫著缺乏實(shí)際工程經(jīng)驗(yàn)。現(xiàn)在想來(lái)正是小公司那兩年的一線實(shí)戰(zhàn)才讓我真正理解了什么是工程思維。有時(shí)候繞遠(yuǎn)路才是最快的捷徑。