這三個Offer,你怎么選?
前幾天,有讀者給我發(fā)信息,讓我?guī)退匆幌耾ffer的選擇:

字節(jié)、騰訊天美、阿里云,隨便一個都是羨煞旁人的offer,這家伙一下拿了三個,我都開始酸了起來。
于是我讓他總結(jié)一下面試過程中考察的知識點,給大家分享一下,這不秋招快到了,給大家復(fù)習(xí)提供一些參考。這里非常感謝這位反斜杠號同學(xué)(沒錯,他的微信名就是反斜杠號\)的分享。
面試經(jīng)歷
拿到offer:
字節(jié)跳動今日頭條后端 騰訊天美服務(wù)器后臺開發(fā) 阿里阿里云C++研發(fā) Momenta Deep Learning 大疆自動駕駛 測試開發(fā)
被調(diào)劑:
微軟蘇州SDE
掛掉:
網(wǎng)易雷火筆試
知識點總結(jié)
計算機網(wǎng)絡(luò)
TCP相較于UDP的優(yōu)點,為什么有這些優(yōu)點 設(shè)計一個FPS游戲聯(lián)網(wǎng)服務(wù)器架構(gòu)(分布式,同步方式,包的選擇傳輸,主從模式容災(zāi)) TCP頭部組成,分別是干什么的 HTTP1.0、2.0、3.0的區(qū)別是什么 HTTP和HTTPS的區(qū)別 HTTPS的加密過程
操作系統(tǒng)
操作系統(tǒng)一頁的大小是多少 為什么一頁的大小是這么多 類似內(nèi)存頁大小這些計算機中的常量,設(shè)計的時候考慮哪些因素 進程間通信方式,詳細介紹一下 對linux有多了解
C++
虛函數(shù)的實現(xiàn)方式 static關(guān)鍵字的多種用法 智能指針的了解和實現(xiàn)(boost或者C++標(biāo)準(zhǔn)庫,我答的C11標(biāo)準(zhǔn)庫) 多線程庫 STL底層實現(xiàn) map為什么用紅黑樹不是B+樹 constructor和destructor是否使用virtual,為什么 四大cast轉(zhuǎn)換 struct和class的區(qū)別 C++的編譯鏈接過程和實現(xiàn)原理 inline function inline和define的比較 函數(shù)默認(rèn)值的實現(xiàn) Name Mangling
數(shù)據(jù)庫
MySQL為什么用B+樹做索引而不是紅黑樹 MySQL的引擎,為什么要有這兩種,主要有什么區(qū)別 索引的實現(xiàn)原理 事務(wù)ACID和隔離等級
算法與數(shù)據(jù)結(jié)構(gòu)
(可能是因為我是搞ACM的,問的不是特別多
大部分是思維題,難度不高,涉及到幾個很基礎(chǔ)的二叉樹 設(shè)計redo/undo功能使用什么數(shù)據(jù)結(jié)構(gòu) LIS,普通三維dp等基礎(chǔ)的dp 基礎(chǔ)圖論算法,最短路和最小生成樹
項目經(jīng)驗
大一寫的一個Unity3D的FPS游戲 一個CV+AI的項目
聊幾句
總的看來,在校園招聘中,各個大廠都是非常看重大家的基礎(chǔ)知識掌握情況的。
像計網(wǎng)、操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)與算法、數(shù)據(jù)庫,這都是必考的東西,這幾門課程建議要全面復(fù)習(xí)一遍。
除此之外,不同語言方向的同學(xué),對各自所學(xué)的語言方面的知識點也要進行全面的梳理,像文中的同學(xué)是C++方向的,對C++方面的基礎(chǔ)細節(jié)考察的還是非常細的。
很多同學(xué)戲稱面試題是背誦八股文,不過我不建議大家像高中那樣死記硬背這些知識點,我的建議是多動手,因為我的經(jīng)驗是只有自己動手去驗證過的知識點,自己在面試遇到的時候就會立刻想起來,回答的時候有理有據(jù),更加自信!
像計算機網(wǎng)絡(luò)方面的知識點,就多抓包分析,在抓包軟件下面學(xué)習(xí)數(shù)據(jù)包,理解協(xié)議的交互流程比看書更深刻有效。
像操作系統(tǒng)、C++相關(guān)的知識點,就寫一些代碼去驗證,什么虛函數(shù)實現(xiàn)原理,inline函數(shù)原理,寫個代碼在調(diào)試器下看一下就知道了,這些都是不用去死記硬背的東西。
像算法與數(shù)據(jù)結(jié)構(gòu)相關(guān)的知識點,就多刷一些題,比如牛客網(wǎng)、LeetCode都去刷一刷,刷的多了就摸準(zhǔn)了套路,一看到題目就知道要考察什么了,專業(yè)面試的時候感覺自然就來了。
除了復(fù)習(xí)和刷題,還有個很重要的環(huán)節(jié)就是去看面經(jīng),多看看別人的經(jīng)驗,查漏補缺,看得多了,心里也就不虛了。
復(fù)習(xí)+編程+刷題+刷面經(jīng)=Offer
最后問一句,這位同學(xué)遇到的題目,你能答出百分之多少?
