千萬別瞎寫簡(jiǎn)歷了
今天,聊一下面試準(zhǔn)備工作的事情。
讀研or工作
是否讀研對(duì)于本科同學(xué)來說是個(gè)永恒的問題,我也經(jīng)歷過。
大家都是成年人,每一個(gè)選擇的背后都有眾多考量,所以這是個(gè)沒有標(biāo)準(zhǔn)答案的話題。
2022年的數(shù)字激增至457萬,越來越多人選擇考研和社會(huì)壓力以及研究生教育改革有很大的關(guān)系,歷史的洪流裹挾我們前進(jìn)。
備考的日子是非常艱辛的,巨大競(jìng)爭(zhēng)和低錄取率的雙重壓力讓很多人最后都放棄了,所以考研一定是個(gè)非常"痛苦"的過程,可不是說說而已,這個(gè)過程非常歷練人。
我們分幾種具體的情況來討論:
保研的學(xué)霸
對(duì)于有保研資格的學(xué)霸來說,就不存在這個(gè)艱辛過程了,只需要去看錄取學(xué)校&專業(yè)&導(dǎo)師&研究方向是不是感興趣了:
學(xué)校很棒、導(dǎo)師很棒、方向有興趣 不用猶豫 讀就完了
學(xué)校很棒、導(dǎo)師和研究方向不感冒,需要考慮下是否去讀
三年學(xué)術(shù)碩士 可能比較耗時(shí)間,讀研過程可能會(huì)不開心,不讀也罷 專業(yè)碩士 可以出去實(shí)習(xí),這種模式還可以,不會(huì)那么磨人,可以讀
名校非保研同學(xué)
對(duì)于名校CS&EE的同學(xué)來說,要看自己以后想從事的工作類型和單位:
畢業(yè)后想去研究所、研究院建議讀研 畢業(yè)后想進(jìn)私企公司 可讀可不讀
很多研究所基本都會(huì)卡學(xué)歷,私企公司基本很少,比如畢業(yè)之后想去BAT做軟件開發(fā),就沒必要死磕讀研。
如果非常想去某個(gè)學(xué)校(比如清華),畢業(yè)之后仍然去做軟件開發(fā),那我覺得確實(shí)可以試試沖自己的夢(mèng)想學(xué)校,畢竟工作一直有,適合讀書的年紀(jì)卻不常常有。
對(duì)于本科名校同學(xué)來說,個(gè)人覺得不必對(duì)考研有執(zhí)念,不工作的狀態(tài)下三戰(zhàn)四戰(zhàn)是可取的。
讀書的目的也是學(xué)以致用,學(xué)校的東西和實(shí)際工作差距比較大 讀研之后的生活和學(xué)習(xí)都可能存在偏差,不要過分臆想美化

雙非同學(xué)
對(duì)于雙非同學(xué)來說,現(xiàn)在互聯(lián)網(wǎng)大廠招人也是海量級(jí)別,所以完全有機(jī)會(huì)一鍵直達(dá)。
這部分同學(xué)建議可以讀研&找工作兩條路一起搞,因?yàn)檫@兩部分是有重合的,并不是完全無法兼顧。
面試要準(zhǔn)備的東西也是很多學(xué)校考試的專業(yè)課內(nèi)容,考研和找工作沒有那么沖突。
可以直接參加校招,拿到大廠offer可以保底,后面考上理想學(xué)校再做選擇。
對(duì)于不想讀研的雙非同學(xué),那只有一條路就是好好準(zhǔn)備找工作,認(rèn)真搞起來!
敲黑板
遵從內(nèi)心和自身情況做一個(gè)選擇,不要隨波逐流,不要反復(fù)動(dòng)搖。
讀研也好,工作也罷,選定就好,切忌猶豫,干就完了!
如何準(zhǔn)備簡(jiǎn)歷
找工作同學(xué)最重要的一步:簡(jiǎn)歷。
可以找之前校招拿到大廠offer的學(xué)長(zhǎng)要簡(jiǎn)歷,盡量多找?guī)追荩C合下來選擇一個(gè)適合自己。
找同一卦的簡(jiǎn)歷,你搞C++就不要找Java的簡(jiǎn)歷,你搞后端就不要找客戶端的簡(jiǎn)歷 把準(zhǔn)備好的簡(jiǎn)歷讓大廠的學(xué)長(zhǎng)&朋友評(píng)估一下,有針對(duì)性地調(diào)整一波
一份好的簡(jiǎn)歷,一定要有幾個(gè)大要素:
教育背景
學(xué)校-專業(yè)-績(jī)點(diǎn)-排名,如果績(jī)點(diǎn)和排名都很好,一定要寫上,展示自己很好地學(xué)習(xí)能力,這個(gè)很重要。
專業(yè)技能
這部分是重點(diǎn),后面以后端崗位為例重點(diǎn)展開。
項(xiàng)目經(jīng)歷
這部分是面試官和候選人開始交流的起點(diǎn),一定要寫好,重中之重。
獲獎(jiǎng)情況
可以分為通用型(三好學(xué)生/獎(jiǎng)學(xué)金/國(guó)獎(jiǎng))和專業(yè)型(ACM/企業(yè)比賽)
個(gè)人評(píng)價(jià)
感覺這部分可有可無,一小時(shí)的面試交流,面試官會(huì)有自己的評(píng)價(jià)。
接下來,我從后端崗位的角度來重點(diǎn)說明專業(yè)技能和項(xiàng)目經(jīng)歷如何展開。
后端是做什么的
要想明白簡(jiǎn)歷該怎么寫,就必須要知道崗位內(nèi)容都有什么?
前端和后端的側(cè)重點(diǎn)是完全不一樣的:
前端總是那么整齊,后端卻很凌亂,亂中有序......
在我看來,后端的本質(zhì)在于將復(fù)雜問題拆解成小模塊,再抽象成對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),最后進(jìn)行存儲(chǔ)和數(shù)據(jù)動(dòng)態(tài)流轉(zhuǎn)。
完成基本功能之后就需要面臨更高用戶量、更端響應(yīng)時(shí)間、更穩(wěn)定運(yùn)行這些高階目標(biāo),也就是我們常說的高并發(fā)&高可用。
后端開發(fā)就像一個(gè)廚師,除了對(duì)菜譜的理解,更重要的是食材特性、佐料、火候的把握,具體的工作中就需要多方面的領(lǐng)域知識(shí)配合完成一件事,所以門檻和天花板都會(huì)相對(duì)高一些:

我來描述下日常開發(fā)過程中是如何運(yùn)用上面這些點(diǎn)的:
編程語言:我們使用Go來寫代碼,使用某種數(shù)據(jù)結(jié)構(gòu)來完成行為抽象 存儲(chǔ)系統(tǒng):我們把數(shù)據(jù)持久化存儲(chǔ)到MySQL,同時(shí)使用Redis作為緩存來加速響應(yīng) 網(wǎng)絡(luò)技術(shù):我們的編寫的程序要依賴別的服務(wù),通過微服務(wù)框架來實(shí)現(xiàn)相互通信 操作系統(tǒng):我們把完成的程序通過自動(dòng)化部署到運(yùn)行Linux系統(tǒng)的服務(wù)器上 網(wǎng)絡(luò)通信:外部用戶使用手機(jī)通過移動(dòng)互聯(lián)網(wǎng)HTTP請(qǐng)求與我們的服務(wù)交互數(shù)據(jù),同時(shí)為了提高響應(yīng)我們會(huì)部署CDN 日志系統(tǒng):我們的程序上線后會(huì)打印日志,需要日志收集&檢索系統(tǒng)來幫助我們定位問題 監(jiān)控體系:有時(shí)候會(huì)有問題,需要一套時(shí)序數(shù)據(jù)庫(kù)完成記錄異常觸發(fā)報(bào)警系統(tǒng) 分布式和容災(zāi):隨著用戶的增多,我們開始多機(jī)房部署進(jìn)行擴(kuò)容和容災(zāi)處理
上面的過程幾乎是每個(gè)后端開發(fā)人員都會(huì)用到的,理解這個(gè)過程非常重要,這樣你才知道為什么企業(yè)要求你會(huì)網(wǎng)絡(luò)、存儲(chǔ)、數(shù)據(jù)結(jié)構(gòu)和算法等技能了。
這下就明白后端工作是如何穿插各個(gè)技能點(diǎn)了吧,不會(huì)這些確實(shí)沒法好好干活呀!
專業(yè)技能怎么寫
專業(yè)技能主要是工作中會(huì)用到的知識(shí),所以一定要圍繞工作需要什么來展開。
如果不確定能寫什么,去招聘網(wǎng)站看看工作描述和職位要求,比如:


可以看到像百度、字節(jié)、騰訊這種大廠的jd風(fēng)格都是一樣的:
硬技能
編程語言的掌握:Java、C++、Golang、Python等一個(gè)或多個(gè) 操作系統(tǒng)原理的掌握:Linux/Unix、計(jì)算機(jī)原理 常用數(shù)據(jù)結(jié)構(gòu)和算法:數(shù)據(jù)結(jié)構(gòu)(數(shù)組/鏈表/樹等)、算法(動(dòng)態(tài)規(guī)劃/貪心/回溯等) 存儲(chǔ)系統(tǒng):MySQL、Redis、MongoDB等關(guān)系型&非關(guān)系型數(shù)據(jù)庫(kù) 組件:消息隊(duì)列(kafka、rocketmq等)、檢索系統(tǒng)(ES、ClickHouse等) 網(wǎng)絡(luò)編程:TCP/IP協(xié)議的理解、網(wǎng)絡(luò)庫(kù)的使用 服務(wù)端編程:多進(jìn)程、多線程、協(xié)程、服務(wù)端框架等
上述所有都是工作中一定會(huì)遇到的,所以是必備技能。
軟技能
學(xué)習(xí)能力要求:自驅(qū)能力(主動(dòng)學(xué)習(xí)&自我驅(qū)動(dòng))、刨根問底、結(jié)果導(dǎo)向 溝通協(xié)作能力:能把事情講清楚,讓伙伴明白,看著簡(jiǎn)單實(shí)則很難
企業(yè)的理想態(tài)肯定是找個(gè)學(xué)習(xí)能力好、責(zé)任心強(qiáng)、自我要求高、溝通表達(dá)能力好的種子型候選人。
這里再提一點(diǎn)編程語言怎么選?
就后端而言主流的有Java、C++、Go 從崗位來說肯定是Java最多,并且各個(gè)公司基本都有Java開發(fā)的崗位,當(dāng)然競(jìng)爭(zhēng)者也更多 C++屬于老牌語言目前很多業(yè)務(wù)領(lǐng)域被Java和Go瓜分了,但是對(duì)于高性能領(lǐng)域仍然是老大,比如推薦引擎&廣告引擎&交易系統(tǒng)等 Go屬于后起之秀,很多C++廠都有轉(zhuǎn)Go的,比如字節(jié)基本全系Go
所以在語言選擇上看個(gè)人興趣,如果沒有特別地興趣,可以優(yōu)先Java和Go,上手更快,C++實(shí)在是重劍無鋒,并不適合初學(xué)者去深挖,比較容易產(chǎn)生挫敗感。
項(xiàng)目經(jīng)歷怎么寫
研究生一般都會(huì)在實(shí)驗(yàn)室跟著導(dǎo)師做一些項(xiàng)目,但是很多本科生并沒有項(xiàng)目經(jīng)歷。
在這里澄清一個(gè)誤區(qū):項(xiàng)目經(jīng)歷就是在外面公司干活的經(jīng)歷。
這是大錯(cuò)特錯(cuò)的,很多時(shí)候你出去實(shí)習(xí)做的事情,完全是打雜,你最多了解了下企業(yè)在實(shí)際運(yùn)行過程中的事情,對(duì)于硬性技能的提升微乎其微,不要覺得沒去實(shí)習(xí)就很劣勢(shì)。
我認(rèn)為的項(xiàng)目經(jīng)歷是你做過、深入研究過一個(gè)和崗位領(lǐng)域相關(guān)的事情,是真正傾注了思考力和行動(dòng)力的事情,很寬泛。
比如本科同學(xué),平時(shí)除了上課偶爾做個(gè)課程設(shè)計(jì)就沒有了,那可以從以下方面入手:
去研究經(jīng)典開源項(xiàng)目
存儲(chǔ)系統(tǒng):基于C語言的Redis,基于C++的levelDB,基于Go的Codis 服務(wù)端:基于C語言的nginx,實(shí)現(xiàn)一個(gè)HTTPServer,實(shí)現(xiàn)C10k問題
研究經(jīng)典項(xiàng)目的意義在于非常容易和面試官產(chǎn)生共鳴,如果你研究很深入,也足夠驚艷到面試官。
動(dòng)手做一個(gè)東西
寫一個(gè)微服務(wù)框架、寫一個(gè)消息隊(duì)列 寫一個(gè)NoSQL的數(shù)據(jù)庫(kù)
動(dòng)手能力是王道,寫一個(gè)哪怕很挫的經(jīng)典組件也會(huì)遠(yuǎn)勝于背誦七零八碎的八股文,最后和工業(yè)級(jí)產(chǎn)品不斷對(duì)比&迭代,最后形成一個(gè)像樣的屬于自己的開源小項(xiàng)目。
以上項(xiàng)目只是舉個(gè)例子,具體想搞什么可以從興趣出發(fā),去github上逛逛。
小結(jié)
寫簡(jiǎn)歷前一定要明白所求職崗位時(shí)如何運(yùn)作的,技能樹是如何串起來的 專業(yè)技能要緊扣工作內(nèi)容,沒有用的不要寫,必須的一定要有 項(xiàng)目經(jīng)歷很重要,認(rèn)清什么是真正的項(xiàng)目,從興趣出發(fā)選擇2-3個(gè)搞
如何系統(tǒng)科學(xué)準(zhǔn)備面試
說到準(zhǔn)備面試一定繞不開:八股文。
八股文本來是好的,它把我們需要準(zhǔn)備的知識(shí)點(diǎn)都進(jìn)行了歸納,但是它有個(gè)致命的缺點(diǎn):孤立的、零落的、不成系統(tǒng)的、無法融會(huì)貫通的、容易遺忘的。
我面試過很多人,如果你從八股文的風(fēng)格去問,他能回答很多,你換個(gè)角度問,他完全無從下手。
問法一:kafka是如何做到高吞吐的?答:順序?qū)憽⒘憧截惖?/p>
這時(shí)候追問為啥順序?qū)懣梢蕴岣撸苛憧截愂鞘裁丛恚€有別的提高方案嗎?基本上就麻爪了。
問法二:如何設(shè)計(jì)一個(gè)高性能的消息隊(duì)列?
這個(gè)問法可能會(huì)讓很多人無從下手,是個(gè)開放問題,但是如果真正深入理解過消息隊(duì)列的本質(zhì)和設(shè)計(jì)重難點(diǎn),只要答個(gè)幾條就足夠驚艷面試官。
養(yǎng)成系統(tǒng)思考的習(xí)慣,切忌死磕八股文,理性看待八股文,動(dòng)腦子去理解,而不是動(dòng)腦子去背誦,理解式的記憶才是持久的。
遺憾的是,很多面試官也是靠背八股文進(jìn)公司的,這樣以來面試官也實(shí)在問不出什么有意思的問題,也注定是一場(chǎng)枯燥無味的面試。
換個(gè)角度說,如果你offer很多,這樣水準(zhǔn)的面試想必以后共事也不會(huì)多么愉悅。
采用系統(tǒng)思維習(xí)慣和思考的準(zhǔn)備模式,非常適合于大二大三、研一等低年級(jí)時(shí)間充分的同學(xué),穩(wěn)扎穩(wěn)打就可以。
時(shí)間很少了,如何速成
對(duì)于馬上找工作,之前又沒咋學(xué)習(xí)的同學(xué),該怎么辦呢?
八股文現(xiàn)在派上用場(chǎng)了,把必備的知識(shí)點(diǎn)先背誦&理解,面試總會(huì)遇到的。
熟讀唐詩三百首 不會(huì)寫詩也會(huì)吟,但這只是突擊,長(zhǎng)期來說不可取,我們要成為寫詩人的人而不是背詩的人。
動(dòng)手編程一定要持續(xù)進(jìn)行,LeetCode堅(jiān)持每天去做,按照數(shù)據(jù)結(jié)構(gòu)和算法兩大部分去準(zhǔn)備,刷高頻題目,刷熱門題目。
去真正學(xué)習(xí)人多的地方看評(píng)論,看問題,吹牛逼炫技的就別看了。
對(duì)于準(zhǔn)備時(shí)間不多的同學(xué)來說,更重要的是穩(wěn)住心態(tài),不要慌,按部就班堅(jiān)持下去就可以,一個(gè)月時(shí)間就能明顯感覺到進(jìn)步。
所以,速成的關(guān)鍵就是穩(wěn)住心態(tài) & 按部就班。
