計(jì)算機(jī)專業(yè)的你必須牢記這12個(gè)黃金規(guī)則,才能在北上廣深立足

本科研發(fā)鋼的要求如下
1、算法題,(筆試,面試必考)
參考書(shū)
《劍指offer》,《leetcode》
ACM
2、數(shù)據(jù)結(jié)構(gòu)
AVL,哈希表這些簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)要自己實(shí)現(xiàn)過(guò)
鏈表,線性表必須熟悉到不能再熟悉了,
eg:vector為什么要加倍擴(kuò)容,
BBST
3、計(jì)算機(jī)組成原理,
《深入理解計(jì)算機(jī)系統(tǒng)》以及配套實(shí)驗(yàn)
4、計(jì)算機(jī)網(wǎng)絡(luò)
應(yīng)用層,傳輸層看完即可
桿件在于搞懂TCP協(xié)議為什么這么設(shè)計(jì),為什么三次握手,四次揮手,wires hark抓包遇倒三次快速重傳會(huì)怎么樣
5、操作系統(tǒng)
MIT6.828做
抓住重要部分,不要沉迷于技術(shù)細(xì)節(jié)
內(nèi)存分配,調(diào)度,多線程這幾個(gè)點(diǎn)都要深入理解一下。
6、數(shù)據(jù)庫(kù)
SQL度的詼諧,
幾個(gè)范式要正式運(yùn)用過(guò)
在做項(xiàng)目的時(shí)候,數(shù)據(jù)應(yīng)該如何組織,才能夠使得每次查詢的開(kāi)銷最小
數(shù)據(jù)庫(kù)實(shí)現(xiàn)是個(gè)很好的方向
7、編譯原理,
深入研究編譯器,
作為一個(gè)普通開(kāi)發(fā)人員,編譯器的各種選項(xiàng),不同度的優(yōu)化級(jí)別具體優(yōu)化了什么,這些都得了解
最關(guān)鍵的動(dòng)態(tài)鏈接,靜態(tài)鏈接,頭文件,gcc的include選項(xiàng),link選項(xiàng),defind選項(xiàng),
make file/cmake怎么寫(xiě)?
chang icc gcc到底用起來(lái)有什么區(qū)別
8、編程語(yǔ)言,至少擅長(zhǎng)一門語(yǔ)言
C++ effective 三部曲對(duì)象模型要看完
Java JVM虛擬機(jī)要理解
9、具體崗位需求,
比如
后端開(kāi)發(fā)要熟悉網(wǎng)絡(luò)編程,
UNP得好好看
10、項(xiàng)目
GitHub 參與開(kāi)源項(xiàng)目
上面5,6,7任何一個(gè),花上半年時(shí)間去實(shí)現(xiàn)一個(gè)簡(jiǎn)陋得原型。(比如實(shí)現(xiàn)一個(gè)簡(jiǎn)單得內(nèi)核,)都是非常好的簡(jiǎn)歷加分項(xiàng)
11、英語(yǔ)
英文面試
如果遇到問(wèn)題 可以上Google StackOverflow 找到回答并且獨(dú)立解決
或者堅(jiān)決從來(lái)沒(méi)接觸過(guò)的難題
12、信息采集能力 ,
這個(gè)能力其實(shí)最關(guān)鍵
深研LLVM