算機(jī)考研大綱深度拆解:從考綱到復(fù)習(xí)地圖的實(shí)戰(zhàn)指南)
1. 一份考綱PDF背后的信息差每年九月前后計(jì)算機(jī)專(zhuān)業(yè)的備考圈子里總會(huì)流傳一份文件文件名通常長(zhǎng)這樣2019年計(jì)算機(jī)考研大綱(原文).pdf。很多人第一次拿到它第一反應(yīng)是“就這”——薄薄幾十頁(yè)排版樸素沒(méi)有例題沒(méi)有解析甚至連個(gè)像樣的封面都沒(méi)有。但如果你問(wèn)任何一個(gè)真正靠這套大綱拿到高分的過(guò)來(lái)人他們大概率會(huì)告訴你這份東西的價(jià)值恰恰藏在它“什么都沒(méi)說(shuō)”的地方。我前后幫過(guò)幾屆學(xué)弟學(xué)妹梳理備考資料也自己逐字逐句啃過(guò)這份大綱原文。它本質(zhì)上是一份考試范圍的權(quán)威界定文件由命題機(jī)構(gòu)發(fā)布規(guī)定了當(dāng)年計(jì)算機(jī)學(xué)科專(zhuān)業(yè)基礎(chǔ)綜合也就是大家常說(shuō)的“408”到底考哪些知識(shí)點(diǎn)、每個(gè)知識(shí)點(diǎn)要求掌握到什么程度。它能解決的核心問(wèn)題是幫你劃出復(fù)習(xí)的邊界告訴你哪些必須死磕、哪些可以戰(zhàn)略放棄、哪些只是了解即可。適合所有準(zhǔn)備參加計(jì)算機(jī)專(zhuān)業(yè)碩士研究生入學(xué)考試的人尤其是跨專(zhuān)業(yè)考生和二戰(zhàn)考生——前者容易在無(wú)關(guān)內(nèi)容上浪費(fèi)大量時(shí)間后者往往需要重新校準(zhǔn)自己的知識(shí)盲區(qū)。但問(wèn)題在于大綱原文的表述極其精煉甚至可以說(shuō)“惜字如金”。比如它寫(xiě)“掌握二叉樹(shù)的定義、性質(zhì)、存儲(chǔ)結(jié)構(gòu)”這短短十幾個(gè)字背后對(duì)應(yīng)的是至少三天的專(zhuān)項(xiàng)訓(xùn)練量。所以這篇博文我不打算復(fù)述大綱內(nèi)容——那沒(méi)有意義你直接看PDF就行。我要做的是拆解這份大綱的使用邏輯怎么讀、怎么拆、怎么把它變成一張可執(zhí)行的復(fù)習(xí)地圖。這套方法不僅適用于2019年的大綱任何年份的同類(lèi)考綱都可以套用。2. 大綱的整體結(jié)構(gòu)與命題邏輯拆解2.1 四門(mén)科目的分值分布與權(quán)重邏輯計(jì)算機(jī)學(xué)科專(zhuān)業(yè)基礎(chǔ)綜合這張卷子滿(mǎn)分150分考試時(shí)間180分鐘。大綱把它拆成四個(gè)模塊數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)組成原理、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)。這個(gè)順序不是隨便排的它基本反映了知識(shí)點(diǎn)之間的依賴(lài)關(guān)系——數(shù)據(jù)結(jié)構(gòu)是算法思維的基礎(chǔ)組成原理講的是硬件怎么跑軟件操作系統(tǒng)站在軟硬件交界處做資源管理計(jì)算機(jī)網(wǎng)絡(luò)則是把單機(jī)擴(kuò)展到互聯(lián)環(huán)境。從分值上看數(shù)據(jù)結(jié)構(gòu)約45分組成原理約45分操作系統(tǒng)約35分計(jì)算機(jī)網(wǎng)絡(luò)約25分。這個(gè)分布很有意思數(shù)據(jù)結(jié)構(gòu)與組成原理并列第一梯隊(duì)操作系統(tǒng)居中網(wǎng)絡(luò)墊底。為什么這么排因?yàn)榍皟砷T(mén)是計(jì)算機(jī)專(zhuān)業(yè)的“內(nèi)功”數(shù)據(jù)結(jié)構(gòu)考的是抽象建模和算法設(shè)計(jì)能力組成原理考的是對(duì)底層硬件的理解深度這兩項(xiàng)直接決定了一個(gè)人有沒(méi)有繼續(xù)做系統(tǒng)級(jí)工作的潛力。操作系統(tǒng)和網(wǎng)絡(luò)雖然也重要但更多是“應(yīng)用層”的知識(shí)整合。我當(dāng)年備考時(shí)犯過(guò)一個(gè)錯(cuò)誤因?yàn)榫W(wǎng)絡(luò)分值最低就把它放到最后兩個(gè)月才看。結(jié)果發(fā)現(xiàn)網(wǎng)絡(luò)的知識(shí)點(diǎn)極其瑣碎協(xié)議層次、報(bào)文格式、各種定時(shí)器機(jī)制臨時(shí)抱佛腳根本記不住。后來(lái)復(fù)盤(pán)才明白分值低不等于難度低只等于題量少。網(wǎng)絡(luò)的選擇題往往考得很細(xì)一道題兩分錯(cuò)三道就相當(dāng)于丟了一道數(shù)據(jù)結(jié)構(gòu)大題。提示不要按分值高低決定復(fù)習(xí)順序要按“知識(shí)依賴(lài)關(guān)系”和“個(gè)人基礎(chǔ)”來(lái)排。跨考生建議先啃組成原理和操作系統(tǒng)因?yàn)檫@兩門(mén)需要建立硬件視角科班出身的人可以從數(shù)據(jù)結(jié)構(gòu)切入快速找回手感。2.2 大綱表述中的“動(dòng)詞密碼”大綱里每個(gè)知識(shí)點(diǎn)前面都有一個(gè)動(dòng)詞了解、理解、掌握、熟練掌握。這四個(gè)詞不是隨便寫(xiě)的它們對(duì)應(yīng)著不同的命題深度和復(fù)習(xí)投入?!傲私狻奔?jí)別的知識(shí)點(diǎn)比如“了解指令流水線(xiàn)的基本概念”通常只出選擇題而且考的是定義辨析。你不需要會(huì)畫(huà)流水線(xiàn)時(shí)空?qǐng)D但得知道什么是數(shù)據(jù)冒險(xiǎn)、什么是控制冒險(xiǎn)?!袄斫狻奔?jí)別的比如“理解進(jìn)程和線(xiàn)程的區(qū)別”可能出簡(jiǎn)答題要求你用自己的話(huà)解釋清楚并且能舉出實(shí)際例子?!罢莆铡奔?jí)別的比如“掌握快速排序算法的基本思想”那就意味著你必須能手寫(xiě)代碼、能分析時(shí)間空間復(fù)雜度、能說(shuō)出什么情況下會(huì)退化。“熟練掌握”是最高級(jí)別通常只出現(xiàn)在核心考點(diǎn)上比如“熟練掌握二叉樹(shù)的遍歷”這要求你不僅會(huì)寫(xiě)遞歸和非遞歸版本還得能在各種變體題里靈活運(yùn)用。我見(jiàn)過(guò)很多人的復(fù)習(xí)筆記把“了解”和“掌握”混在一起抄結(jié)果重點(diǎn)不突出后期背誦時(shí)抓不住主次。正確的做法是用不同顏色的熒光筆在大綱上標(biāo)注這四個(gè)動(dòng)詞然后按級(jí)別分配時(shí)間。了解級(jí)的知識(shí)點(diǎn)考前兩周集中過(guò)一遍即可掌握級(jí)的必須從復(fù)習(xí)第一天就開(kāi)始反復(fù)訓(xùn)練。2.3 從大綱到真題的映射關(guān)系大綱是“范圍”真題是“樣本”。很多人只看大綱不做真題結(jié)果上了考場(chǎng)發(fā)現(xiàn)“這題我見(jiàn)過(guò)但不知道它考的是哪個(gè)知識(shí)點(diǎn)”。這是因?yàn)榇缶V只告訴你“考什么”不告訴你“怎么考”。舉個(gè)例子大綱寫(xiě)“掌握頁(yè)式虛擬存儲(chǔ)管理”真題可能這樣出給一個(gè)32位地址結(jié)構(gòu)頁(yè)大小4KB問(wèn)頁(yè)內(nèi)偏移多少位、頁(yè)號(hào)多少位然后給一個(gè)訪(fǎng)問(wèn)序列讓你算缺頁(yè)次數(shù)。這道題同時(shí)考了地址結(jié)構(gòu)、頁(yè)表機(jī)制、置換算法三個(gè)點(diǎn)。如果你只背了大綱上的定義沒(méi)有做過(guò)這種綜合題考場(chǎng)上就會(huì)懵。我的建議是每復(fù)習(xí)完大綱上的一個(gè)章節(jié)立刻去找對(duì)應(yīng)章節(jié)的近五年真題把題目按知識(shí)點(diǎn)歸類(lèi)。你會(huì)發(fā)現(xiàn)有些知識(shí)點(diǎn)年年考只是換了個(gè)馬甲有些知識(shí)點(diǎn)大綱里有但從來(lái)沒(méi)考過(guò)那就可以適當(dāng)降低優(yōu)先級(jí)。這個(gè)工作做一遍你對(duì)“重點(diǎn)”的理解會(huì)比任何輔導(dǎo)書(shū)都準(zhǔn)確。3. 核心細(xì)節(jié)解析與分科目實(shí)操要點(diǎn)3.1 數(shù)據(jù)結(jié)構(gòu)從“會(huì)寫(xiě)”到“會(huì)分析”的跨越數(shù)據(jù)結(jié)構(gòu)是大綱里分值最高、也最考驗(yàn)基本功的一門(mén)。大綱對(duì)它的要求可以概括為三個(gè)層次線(xiàn)性結(jié)構(gòu)、樹(shù)形結(jié)構(gòu)、圖形結(jié)構(gòu)外加查找和排序兩大算法板塊。線(xiàn)性結(jié)構(gòu)里鏈表和數(shù)組的對(duì)比是永恒考點(diǎn)。大綱要求“掌握順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)的區(qū)別”這個(gè)“區(qū)別”不是讓你背表格而是要求你能在具體場(chǎng)景下做出選擇。比如題目說(shuō)“需要頻繁在中間插入刪除且數(shù)據(jù)量未知”你就得立刻反應(yīng)出用鏈表如果說(shuō)“需要隨機(jī)訪(fǎng)問(wèn)第k個(gè)元素”那就得用數(shù)組。這種判斷能力靠背定義是練不出來(lái)的必須通過(guò)大量做題形成條件反射。樹(shù)形結(jié)構(gòu)是重中之重。二叉樹(shù)的性質(zhì)、遍歷、線(xiàn)索化、哈夫曼樹(shù)、二叉排序樹(shù)、平衡樹(shù)每一個(gè)都是高頻考點(diǎn)。我個(gè)人的經(jīng)驗(yàn)是二叉樹(shù)的非遞歸遍歷必須練到閉著眼睛能寫(xiě)出來(lái)。因?yàn)楹芏嗑C合題會(huì)要求你在遍歷過(guò)程中做額外操作比如“輸出所有葉子節(jié)點(diǎn)”“求樹(shù)的高度”“判斷是否是完全二叉樹(shù)”。如果你連基礎(chǔ)遍歷都寫(xiě)得磕磕絆絆這些變體題根本沒(méi)法做。圖形結(jié)構(gòu)里最短路和最小生成樹(shù)是必考項(xiàng)。Dijkstra、Floyd、Prim、Kruskal這四個(gè)算法不僅要會(huì)手算還要能分析時(shí)間復(fù)雜度知道什么圖適合用哪個(gè)算法。比如Dijkstra不能處理負(fù)權(quán)邊這個(gè)點(diǎn)幾乎每年都有人踩坑。查找和排序板塊大綱要求“掌握各種查找和排序算法的基本思想、適用場(chǎng)景和復(fù)雜度分析”。這里的關(guān)鍵詞是“適用場(chǎng)景”??焖倥判蚱骄鵒(nlogn)但最壞O(n2)歸并排序穩(wěn)定但需要額外空間堆排序原地但不穩(wěn)定。這些特性在選擇題里經(jīng)常被拿來(lái)對(duì)比你必須做到看到題目就能條件反射地選出答案。注意數(shù)據(jù)結(jié)構(gòu)的大題往往要求寫(xiě)代碼但大綱沒(méi)有指定編程語(yǔ)言。實(shí)際考試中用C/C描述算法是最穩(wěn)妥的因?yàn)閭未a的接受度因閱卷而異。平時(shí)練習(xí)時(shí)就要養(yǎng)成寫(xiě)規(guī)范代碼的習(xí)慣變量命名清晰、邊界條件明確。3.2 計(jì)算機(jī)組成原理建立“硬件視角”的關(guān)鍵組成原理是很多跨考生的噩夢(mèng)因?yàn)樗婕按罅坑布?xì)節(jié)離日常編程經(jīng)驗(yàn)比較遠(yuǎn)。但大綱的編排其實(shí)很有邏輯先講數(shù)據(jù)表示和運(yùn)算再講存儲(chǔ)系統(tǒng)然后是指令系統(tǒng)、CPU、總線(xiàn)、IO。數(shù)據(jù)表示部分補(bǔ)碼、浮點(diǎn)數(shù)、校驗(yàn)碼是三大難點(diǎn)。補(bǔ)碼的運(yùn)算規(guī)則必須爛熟于心因?yàn)樗呛罄m(xù)所有運(yùn)算的基礎(chǔ)。浮點(diǎn)數(shù)的IEEE 754標(biāo)準(zhǔn)要能熟練進(jìn)行十進(jìn)制和二進(jìn)制之間的轉(zhuǎn)換理解階碼、尾數(shù)、符號(hào)位的含義。校驗(yàn)碼里海明碼的計(jì)算過(guò)程經(jīng)常出大題雖然步驟固定但容易在細(xì)節(jié)上出錯(cuò)比如校驗(yàn)位的插入位置、糾錯(cuò)時(shí)的異或運(yùn)算。存儲(chǔ)系統(tǒng)是分值大戶(hù)。Cache的映射方式直接映射、全相聯(lián)、組相聯(lián)、替換算法LRU、FIFO、隨機(jī)、寫(xiě)策略寫(xiě)回、寫(xiě)直達(dá)這些概念必須能畫(huà)圖說(shuō)明。虛擬存儲(chǔ)部分和操作系統(tǒng)有重疊但組成原理更側(cè)重硬件實(shí)現(xiàn)比如TLB的作用、頁(yè)表的結(jié)構(gòu)。指令系統(tǒng)和CPU部分重點(diǎn)在指令周期、數(shù)據(jù)通路、流水線(xiàn)。流水線(xiàn)的三種冒險(xiǎn)結(jié)構(gòu)冒險(xiǎn)、數(shù)據(jù)冒險(xiǎn)、控制冒險(xiǎn)以及對(duì)應(yīng)的解決方法插入氣泡、轉(zhuǎn)發(fā)、分支預(yù)測(cè)幾乎每年必考。我建議自己畫(huà)一遍五級(jí)流水線(xiàn)的時(shí)空?qǐng)D把每條指令在每個(gè)周期的狀態(tài)標(biāo)清楚畫(huà)過(guò)三遍之后這部分就不會(huì)再丟分了。3.3 操作系統(tǒng)在“資源管理”框架下理解細(xì)節(jié)操作系統(tǒng)的知識(shí)點(diǎn)看起來(lái)很散進(jìn)程管理、內(nèi)存管理、文件管理、IO管理。但它們都圍繞一個(gè)核心計(jì)算機(jī)資源怎么分配和回收。抓住這條主線(xiàn)很多概念就串起來(lái)了。進(jìn)程管理里PV操作是必考大題。生產(chǎn)者-消費(fèi)者、讀者-寫(xiě)者、哲學(xué)家進(jìn)餐這三個(gè)經(jīng)典模型必須能默寫(xiě)出完整的信號(hào)量代碼。但考試不會(huì)直接考原題它會(huì)改條件比如“緩沖區(qū)大小從1變成n”“讀者優(yōu)先變成寫(xiě)者優(yōu)先”。所以你不能死記代碼要理解信號(hào)量的物理含義P操作代表申請(qǐng)資源V操作代表釋放資源信號(hào)量的值代表當(dāng)前可用資源數(shù)。內(nèi)存管理里分頁(yè)、分段、段頁(yè)式的區(qū)別是選擇題???。頁(yè)面置換算法OPT、FIFO、LRU、Clock要能手動(dòng)模擬給出訪(fǎng)問(wèn)序列后算出缺頁(yè)次數(shù)和缺頁(yè)率。這里有個(gè)坑FIFO可能出現(xiàn)Belady異常即增加物理塊數(shù)反而缺頁(yè)次數(shù)增加這個(gè)現(xiàn)象要能解釋原因。文件管理部分索引節(jié)點(diǎn)的結(jié)構(gòu)、多級(jí)索引的地址計(jì)算是重點(diǎn)。給一個(gè)文件大小和索引節(jié)點(diǎn)結(jié)構(gòu)讓你算需要幾級(jí)索引、訪(fǎng)問(wèn)某個(gè)偏移量需要幾次磁盤(pán)IO這種題必須練熟。IO管理里磁盤(pán)調(diào)度算法FCFS、SSTF、SCAN、C-SCAN的計(jì)算題也經(jīng)常出現(xiàn)注意題目問(wèn)的是“移動(dòng)距離”還是“響應(yīng)順序”兩者算法不同。3.4 計(jì)算機(jī)網(wǎng)絡(luò)分層思想是解題鑰匙網(wǎng)絡(luò)的分值雖然最低但知識(shí)點(diǎn)密度很高。大綱按OSI七層模型和TCP/IP四層模型展開(kāi)重點(diǎn)在物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層。物理層考得最少主要是編碼和傳輸介質(zhì)的基本概念。數(shù)據(jù)鏈路層里差錯(cuò)控制CRC校驗(yàn)、流量控制滑動(dòng)窗口、介質(zhì)訪(fǎng)問(wèn)控制CSMA/CD是重點(diǎn)。CSMA/CD的退避算法經(jīng)常出計(jì)算題要理解沖突窗口和最小幀長(zhǎng)的關(guān)系。網(wǎng)絡(luò)層是核心。IP地址的分類(lèi)、子網(wǎng)劃分、CIDR、路由算法距離向量、鏈路狀態(tài)、ARP、ICMP、DHCP這些知識(shí)點(diǎn)幾乎覆蓋了大部分選擇題。子網(wǎng)劃分的題目必須練到看到掩碼就能算出網(wǎng)絡(luò)地址、廣播地址、可用主機(jī)數(shù)。路由聚合的題目也要會(huì)給幾個(gè)網(wǎng)絡(luò)地址讓你聚合成一個(gè)超網(wǎng)。傳輸層里TCP的三次握手、四次揮手、擁塞控制慢啟動(dòng)、擁塞避免、快重傳、快恢復(fù)是必考內(nèi)容。這里有個(gè)常見(jiàn)誤區(qū)很多人把“擁塞窗口”和“接收窗口”搞混。記住擁塞窗口是發(fā)送方根據(jù)網(wǎng)絡(luò)狀況調(diào)整的接收窗口是接收方根據(jù)自己緩沖區(qū)大小通告的實(shí)際發(fā)送窗口取兩者最小值。應(yīng)用層里DNS、HTTP、FTP、SMTP、POP3這些協(xié)議的端口號(hào)、工作方式、報(bào)文格式要記清楚。HTTP/1.1的持久連接、流水線(xiàn)機(jī)制也考過(guò)多次。提示網(wǎng)絡(luò)部分的知識(shí)點(diǎn)非常適合用“分層圖”來(lái)記憶。自己畫(huà)一張大圖把每層的協(xié)議、設(shè)備、數(shù)據(jù)單元、關(guān)鍵功能都標(biāo)上去貼在書(shū)桌前每天看一遍兩周就能形成肌肉記憶。4. 從大綱到復(fù)習(xí)計(jì)劃的落地實(shí)操4.1 三階段復(fù)習(xí)法的具體時(shí)間分配拿到大綱后不要急著從第一頁(yè)開(kāi)始看。先花半天時(shí)間做一件事把大綱上的所有知識(shí)點(diǎn)拆成可執(zhí)行的任務(wù)項(xiàng)然后按“基礎(chǔ)-強(qiáng)化-沖刺”三階段分配。基礎(chǔ)階段約3個(gè)月目標(biāo)是“全覆蓋、無(wú)死角”。按數(shù)據(jù)結(jié)構(gòu)→組成原理→操作系統(tǒng)→網(wǎng)絡(luò)的順序逐章過(guò)知識(shí)點(diǎn)。每章配一套基礎(chǔ)練習(xí)題不求快求懂。這個(gè)階段不要碰真題因?yàn)檎骖}綜合性強(qiáng)基礎(chǔ)不牢會(huì)打擊信心。強(qiáng)化階段約2個(gè)月目標(biāo)是“抓重點(diǎn)、練綜合”。開(kāi)始做近十年的真題按科目分類(lèi)做。每做完一套把錯(cuò)題對(duì)應(yīng)的知識(shí)點(diǎn)在大綱上標(biāo)記出來(lái)看看是哪個(gè)層級(jí)的動(dòng)詞。如果“掌握”級(jí)的知識(shí)點(diǎn)錯(cuò)了立刻回去翻教材如果“了解”級(jí)的錯(cuò)了記在錯(cuò)題本上考前再看。沖刺階段約1個(gè)月目標(biāo)是“模擬考、補(bǔ)漏洞”。每周做兩套完整的模擬卷嚴(yán)格計(jì)時(shí)。做完后不僅看分?jǐn)?shù)更要看時(shí)間分配是否合理。比如數(shù)據(jù)結(jié)構(gòu)的大題如果花了40分鐘還沒(méi)寫(xiě)完說(shuō)明前面的選擇題耗時(shí)太多需要調(diào)整策略。4.2 大綱知識(shí)點(diǎn)的“顆粒度”拆解示例大綱上的一句話(huà)往往對(duì)應(yīng)多個(gè)可操作的學(xué)習(xí)任務(wù)。我拿“掌握二叉樹(shù)的遍歷”舉例拆解后是這樣的大綱原文拆解任務(wù)預(yù)計(jì)耗時(shí)檢驗(yàn)標(biāo)準(zhǔn)掌握二叉樹(shù)的遍歷手寫(xiě)前序、中序、后序的遞歸版本1小時(shí)無(wú)參考代碼一次通過(guò)手寫(xiě)前序、中序、后序的非遞歸版本3小時(shí)能解釋棧的變化過(guò)程手寫(xiě)層序遍歷1小時(shí)能處理“每層換行輸出”的變體由遍歷序列構(gòu)造二叉樹(shù)2小時(shí)能處理含空節(jié)點(diǎn)的序列遍歷的應(yīng)用求高度、葉子數(shù)、判斷完全二叉樹(shù)3小時(shí)能獨(dú)立寫(xiě)出完整代碼這樣拆解之后一個(gè)看似簡(jiǎn)單的知識(shí)點(diǎn)變成了10小時(shí)的具體任務(wù)。你可以把它排進(jìn)每日計(jì)劃里完成一項(xiàng)劃掉一項(xiàng)進(jìn)度一目了然。4.3 真題與大綱的交叉驗(yàn)證方法真題是檢驗(yàn)大綱理解程度的最好工具。我的做法是每做完一套真題就在大綱上做一次“命中標(biāo)記”。具體來(lái)說(shuō)準(zhǔn)備三種顏色的熒光筆紅色代表“大綱要求掌握且真題考了”藍(lán)色代表“大綱要求掌握但真題沒(méi)考”綠色代表“大綱只要求了解但真題考了”。標(biāo)記完之后你會(huì)發(fā)現(xiàn)一些規(guī)律。紅色區(qū)域是絕對(duì)重點(diǎn)必須反復(fù)練。藍(lán)色區(qū)域是潛在考點(diǎn)不能完全放棄但可以適當(dāng)降低頻率。綠色區(qū)域最值得警惕——它說(shuō)明命題人有時(shí)候會(huì)超綱出題或者把“了解”級(jí)的知識(shí)點(diǎn)出成了綜合題。比如大綱對(duì)“校驗(yàn)碼”只要求“了解”但真題里海明碼的計(jì)算題出現(xiàn)過(guò)不止一次。這個(gè)交叉驗(yàn)證的過(guò)程本質(zhì)上是在用真題給大綱“加權(quán)”。大綱是靜態(tài)的真題是動(dòng)態(tài)的兩者結(jié)合才能畫(huà)出真正的重點(diǎn)地圖。5. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄5.1 大綱使用中的五個(gè)典型誤區(qū)誤區(qū)一把大綱當(dāng)教材看。大綱只有知識(shí)點(diǎn)名稱(chēng)沒(méi)有解釋和推導(dǎo)。如果你對(duì)著大綱發(fā)呆覺(jué)得“這寫(xiě)的啥”說(shuō)明你需要的是教材不是大綱。大綱的正確用法是“對(duì)照檢查”而不是“從頭學(xué)習(xí)”。誤區(qū)二忽略“了解”級(jí)知識(shí)點(diǎn)。前面說(shuō)過(guò)了解級(jí)的知識(shí)點(diǎn)可能出選擇題而且往往考得很細(xì)。比如“了解RAID的基本概念”你可能覺(jué)得不會(huì)考但真題里問(wèn)過(guò)RAID0和RAID1的區(qū)別。所以了解級(jí)的知識(shí)點(diǎn)至少要過(guò)一遍有個(gè)印象。誤區(qū)三不關(guān)注大綱的變化。每年大綱都會(huì)有微調(diào)新增的知識(shí)點(diǎn)往往是當(dāng)年命題的重點(diǎn)。比如某年新增了“閃存”相關(guān)內(nèi)容當(dāng)年就考了一道選擇題。所以拿到新大綱后第一件事是和去年的大綱做對(duì)比把新增和刪除的部分標(biāo)出來(lái)。誤區(qū)四只背知識(shí)點(diǎn)不練綜合題。大綱是按知識(shí)點(diǎn)羅列的但考試是按題目綜合的。一道大題可能同時(shí)考數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、組成原理的內(nèi)容。比如“虛擬內(nèi)存”這個(gè)主題數(shù)據(jù)結(jié)構(gòu)里考過(guò)頁(yè)面置換算法的模擬操作系統(tǒng)里考過(guò)頁(yè)表計(jì)算組成原理里考過(guò)TLB和Cache的協(xié)同。你必須做跨科目的綜合題才能適應(yīng)這種考法。誤區(qū)五迷信“押題”和“重點(diǎn)”。大綱是命題的唯一依據(jù)任何輔導(dǎo)機(jī)構(gòu)的“重點(diǎn)”都是基于大綱的二次解讀。與其花時(shí)間看各種押題卷不如把大綱上的每個(gè)“掌握”級(jí)知識(shí)點(diǎn)練到滾瓜爛熟。5.2 復(fù)習(xí)進(jìn)度滯后的排查與調(diào)整備考過(guò)程中最常見(jiàn)的困擾是“進(jìn)度跟不上”。我總結(jié)了一個(gè)排查表你可以對(duì)照自己的情況找原因癥狀可能原因調(diào)整方案每天學(xué)10小時(shí)但感覺(jué)沒(méi)進(jìn)展只看視頻不動(dòng)手強(qiáng)制自己每看一節(jié)視頻就做對(duì)應(yīng)習(xí)題知識(shí)點(diǎn)當(dāng)時(shí)懂過(guò)一周就忘缺少?gòu)?fù)習(xí)機(jī)制采用艾賓浩斯遺忘曲線(xiàn)第1、2、4、7、15天各復(fù)習(xí)一次做題速度慢考試做不完平時(shí)不限時(shí)訓(xùn)練每套題嚴(yán)格計(jì)時(shí)選擇題控制在60分鐘內(nèi)大題沒(méi)思路不知道考什么缺少題型歸納把近五年真題按知識(shí)點(diǎn)分類(lèi)總結(jié)每類(lèi)題的解題模板越學(xué)越焦慮想放棄目標(biāo)不清晰或過(guò)高把大目標(biāo)拆成周計(jì)劃完成一項(xiàng)就給自己正反饋這個(gè)表不是萬(wàn)能的但能幫你快速定位問(wèn)題。我當(dāng)年在強(qiáng)化階段發(fā)現(xiàn)自己“知識(shí)點(diǎn)懂但做題錯(cuò)”排查后發(fā)現(xiàn)是“只輸入不輸出”——看了很多書(shū)但很少合上書(shū)自己默寫(xiě)。后來(lái)改成“看一章、默寫(xiě)一章、做一章題”效率立刻上來(lái)了。5.3 考場(chǎng)上的時(shí)間分配與應(yīng)急策略大綱規(guī)定了考試范圍但沒(méi)規(guī)定答題順序。我的建議是按分值分配時(shí)間按個(gè)人優(yōu)勢(shì)安排順序。選擇題40道每題2分共80分。建議控制在50-60分鐘。如果一道選擇題超過(guò)3分鐘還沒(méi)思路立刻跳過(guò)標(biāo)記后回頭再看。大題7道共70分。數(shù)據(jù)結(jié)構(gòu)2道、組成原理2道、操作系統(tǒng)2道、網(wǎng)絡(luò)1道。建議每道大題控制在15-20分鐘。如果遇到完全沒(méi)思路的題不要空著。把相關(guān)的公式、定義、算法框架寫(xiě)上去閱卷時(shí)是按步驟給分的。比如一道PV操作題即使信號(hào)量定義錯(cuò)了但P操作和V操作的順序?qū)憣?duì)了也能拿到部分分?jǐn)?shù)。注意考場(chǎng)上最忌諱的是“死磕一道題”。我見(jiàn)過(guò)有人在一道數(shù)據(jù)結(jié)構(gòu)大題上花了40分鐘結(jié)果后面三道大題沒(méi)時(shí)間寫(xiě)。正確的策略是先拿滿(mǎn)基礎(chǔ)分再回頭攻難題。6. 從大綱延伸出的長(zhǎng)期學(xué)習(xí)價(jià)值這份大綱的價(jià)值不止于一場(chǎng)考試。如果你仔細(xì)看它的知識(shí)框架會(huì)發(fā)現(xiàn)它其實(shí)就是計(jì)算機(jī)專(zhuān)業(yè)的“最小知識(shí)集”。數(shù)據(jù)結(jié)構(gòu)訓(xùn)練的是抽象思維和算法設(shè)計(jì)能力組成原理讓你理解程序在硬件上到底怎么跑操作系統(tǒng)教你資源調(diào)度的權(quán)衡藝術(shù)計(jì)算機(jī)網(wǎng)絡(luò)讓你看到分布式系統(tǒng)的雛形。我后來(lái)在工作中帶新人時(shí)經(jīng)常用這份大綱做“能力體檢”。一個(gè)后端開(kāi)發(fā)如果說(shuō)不清楚TCP的三次握手為什么是三次而不是兩次一個(gè)系統(tǒng)工程師如果解釋不了Cache和虛擬內(nèi)存的交互那說(shuō)明基礎(chǔ)還有漏洞??荚嚂?huì)結(jié)束但這套知識(shí)框架會(huì)跟著你很久。另外大綱的“動(dòng)詞分級(jí)”方法也可以遷移到其他學(xué)習(xí)場(chǎng)景。比如你學(xué)一門(mén)新編程語(yǔ)言也可以把知識(shí)點(diǎn)分成“了解語(yǔ)法”“理解范式”“掌握常用庫(kù)”“熟練做項(xiàng)目”四個(gè)層級(jí)然后按層級(jí)分配時(shí)間。這種“先劃邊界、再定深度”的思路比盲目刷教程高效得多。最后分享一個(gè)我自己的小習(xí)慣每年新大綱發(fā)布后我會(huì)把上一年的大綱打印出來(lái)用紅筆在上面做標(biāo)記——哪些知識(shí)點(diǎn)我已經(jīng)完全掌握哪些還需要鞏固哪些已經(jīng)忘了。這個(gè)過(guò)程只需要半小時(shí)但能讓我對(duì)自己的知識(shí)狀態(tài)有一個(gè)清晰的認(rèn)知。備考也好工作也好知道自己“不知道什么”往往比知道自己“知道什么”更重要。