八股文騷套路之計算機(jī)網(wǎng)絡(luò)
八股文騷套路系列指計算機(jī)基礎(chǔ)來啦!?? 今天帶來的是計算機(jī)網(wǎng)絡(luò)相關(guān)的內(nèi)容。
這篇文章,我主要會介紹如何準(zhǔn)備計算機(jī)網(wǎng)絡(luò)面試,推薦一些不錯的書籍。并且,我還會總結(jié)出最常見的一些計算機(jī)網(wǎng)絡(luò)面試問題,以方便大家把握重點(diǎn)。
另外,我在這個系列,也會逐漸將自己在準(zhǔn)備秋招面試過程中的一些心得,以及一些技巧穿插的進(jìn)行講述,希望對大家有幫助!
計算機(jī)基礎(chǔ)這塊一般是中大廠面試問的比較多,并且不同的大廠面試之間對其重視程度也不一樣。比如說字節(jié)、騰訊面試就非常重視計算機(jī)基礎(chǔ)比如操作系統(tǒng)和計算機(jī)網(wǎng)絡(luò)這塊,他們會問很多相關(guān)的問題。而阿里、京東的面試偏向 Java 生態(tài),像常用的一些中間件、框架經(jīng)常會成為面試的重點(diǎn)。像阿里、京東的面試當(dāng)然也會問計算機(jī)基礎(chǔ)比如操作系統(tǒng)和計算機(jī)網(wǎng)絡(luò),不過問的深度相對來說比較一般。另外,如果你面客戶端的崗位的話,計算機(jī)網(wǎng)絡(luò)會問的更多一些。
相關(guān)閱讀:
面試小技巧
這里帶來的面試小技巧是關(guān)于項(xiàng)目準(zhǔn)備相關(guān)的。
項(xiàng)目經(jīng)驗(yàn)的重要性,我想不需要我多做強(qiáng)調(diào)。如果你沒有一個比較有含金量的項(xiàng)目的話,簡歷關(guān)大概率直接就會被 pass 掉!尤其是對于那些沒有實(shí)習(xí)經(jīng)歷以及競賽獲獎經(jīng)歷的小伙伴來說,項(xiàng)目經(jīng)歷可以說是你的救命稻草了。
一般情況下,你有下面幾種獲得項(xiàng)目經(jīng)驗(yàn)的方法:
1、參加競賽
有很多項(xiàng)目相關(guān)的技術(shù)競賽,尤其是在大學(xué)的時候。比如中國“互聯(lián)網(wǎng)+”大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽、“挑戰(zhàn)杯”中國大學(xué)生創(chuàng)業(yè)計劃大賽、“中國軟件杯”大學(xué)生軟件設(shè)計大賽。
另外,像國內(nèi)的一些大廠也有一些相關(guān)比賽,含金量也比較高。比如阿里的天池、騰訊的各種公益挑戰(zhàn)賽。
這些參加競賽所獲得的項(xiàng)目經(jīng)歷對于應(yīng)屆生來說是非常有價值的,即使你沒有獲獎。
2、實(shí)戰(zhàn)項(xiàng)目視頻/專欄
這種方式是我身邊的大部分同學(xué)都在使用的方式。也是比較救急的方式,不過一些好的項(xiàng)目可能會花一些錢。
簡單來說就是找一個教程來跟著做,不過,千萬不要把這個跟著做理解為完全照葫蘆畫瓢!一定一定一定要多多思考,多多總結(jié),多多改進(jìn)!
3、實(shí)習(xí)項(xiàng)目
你去公司實(shí)習(xí)的話,一般情況下也會接觸到實(shí)際的項(xiàng)目。
不要苛求自己把整個項(xiàng)目搞懂,找準(zhǔn)一個功能線,然后把它搞懂即可!
4、老師的項(xiàng)目
大學(xué)老師經(jīng)常會接一些項(xiàng)目,然后他可能會找一些學(xué)生來幫著做。
雖然,這種情況下,通常是給老師當(dāng)苦力,但不失為一個不錯的獲得項(xiàng)目經(jīng)驗(yàn)的機(jī)會。
更多關(guān)于項(xiàng)目準(zhǔn)備的內(nèi)容,推薦大家看看大賽的項(xiàng)目的準(zhǔn)備,我想說這些……這篇文章。
計算機(jī)網(wǎng)絡(luò)面試準(zhǔn)備
最近校招已經(jīng)開始了一段時間了,如果你目前的計算機(jī)網(wǎng)絡(luò)基礎(chǔ)不太好,可以先跟著我做救急準(zhǔn)備,把下面這些知識點(diǎn)搞明白背清楚應(yīng)付面試就差不多了,只要你別和面試官吹你熟悉計算機(jī)網(wǎng)絡(luò)。按這篇文章救急準(zhǔn)備的話,你對自己的評價應(yīng)該是計算機(jī)網(wǎng)絡(luò)基本掌握。
救急準(zhǔn)備
大家都知道,計算機(jī)網(wǎng)絡(luò)的分層體系有幾套不同的標(biāo)準(zhǔn),如果你考研的話,在天勤和王道上看到更多的是按照 OSI 的七層網(wǎng)絡(luò)參考模型來講(我覺得用天勤和王道來學(xué)習(xí)計算機(jī)網(wǎng)絡(luò)還不錯),但是實(shí)際應(yīng)用的話更多的是按照五層的體系結(jié)構(gòu)來劃分。
面試過程中問的比較多的也就是應(yīng)用層、運(yùn)輸層、網(wǎng)絡(luò)層的協(xié)議,物理層和數(shù)據(jù)鏈路層的東西面試基本不會被問到,所以準(zhǔn)備面試過程中這塊就不用看了。
我把要準(zhǔn)備的問題,以及面試你要答到什么程度列在下面,就按這個準(zhǔn)備面試應(yīng)該差不多了。下面的問題在 JavaGuide 中都能找到解答,我是想在 Guide 哥的基礎(chǔ)上告訴大家這些問題面試官常問的是哪些?一般會怎么問?以及你在回答問題時應(yīng)該把哪些知識點(diǎn)答出來。
項(xiàng)目地址:https://github.com/Snailclimb/JavaGuide 。

網(wǎng)絡(luò)層
網(wǎng)絡(luò)層面試問的也相對較少,主要就是問 IPV4,偶爾問一下 ARP 地址解析協(xié)議的的工作原理。
首先要記清楚 IPV4 地址是怎么分類的、以及地址的格式。這里經(jīng)常結(jié)合代碼題一起問你,我和很多同學(xué)都在面試中被面試官要求寫一個程序判斷給定的字符串是否是 IPV4 地址。 IPV4 子網(wǎng)劃分面試中不怎么問,筆試題時經(jīng)常有這個問題。 了解 IP 地址和 Mac 地址的區(qū)別,了解 ARP 地址解析協(xié)議并了解其工作原理。
傳輸層
面試中計算機(jī)網(wǎng)絡(luò)的問題最常出現(xiàn)在這一章中。
TCP 和 UDP 的區(qū)別 :從是否面向連接、傳輸可靠性、傳輸形式、傳輸效率、應(yīng)用場景這些方面來回答。 TCP 三次握手和 UDP 四次揮手 :這是計算機(jī)網(wǎng)絡(luò)面試中最最最常問的問題?。?!你計算機(jī)網(wǎng)絡(luò)就算其它的什么也不會,這個問題你必須要記清楚,如果面試官問出你這個問題你都答不上,面試官估計覺得你連敷衍都不想敷衍他了。當(dāng)面試官問你三次握手和四次揮手時,你要答出這三個點(diǎn)來。(1)為什么要三次揮手和四次揮手,如果不這樣做會有什么影響。(2)三次握手四次揮手的整個流程。(3)有的面試官只要你答出三次握手和四次揮手的大體流程就好了,但是有的面試官會要求你答出三次握手和四次揮手時發(fā)送端和接收端分別發(fā)了哪些標(biāo)記。 TCP 協(xié)議如何保證可靠傳輸 :把 ARQ 協(xié)議、滑動窗口、流量控制、擁塞控制等回答清楚就算到位了。
應(yīng)用層
在瀏覽器中輸入 URL 地址到瀏覽器顯示網(wǎng)頁這個過程中計算機(jī)網(wǎng)絡(luò)做了什么 :這個問題無論時考研還是找工作都是常見的,建議把 JavaGuide 中這個問題的總結(jié)熟讀并全文背誦。 HTTP 1.0 和 HTTP 1.1 的主要區(qū)別 :這個問題的答案可以參考這篇文章:HTTP1.0、HTTP1.1 和 HTTP2.0 的區(qū)別 。 HTTP 和 HTTPS 的區(qū)別 :這個也是面試??紗栴},這個問題展開以后能問的就比較多了。在回答這個問題時你首先分別介紹一下 HTTP 和 HTTPS 的原理,以及區(qū)別。大致就是 HTTP 是通過明文在網(wǎng)絡(luò)上傳輸?shù)?,HTTPS 是加密的。然后有的面試官問到這也就可以了,有的面試官不講武德,想搞偷襲,會繼續(xù)讓你講 HTTPS 建立連接的流程、然后會繼續(xù)追著你問 SSL 的工作流程。建議把這里好好準(zhǔn)備一下,面試官一問你就可以展開講,你就能消耗很多面試時間,這樣面試官問其它問題的時間就少了,嘿嘿。 HTTP 請求常見的狀態(tài)碼 :背幾個常用的就好。 DNS 域名系統(tǒng) :這里你要可以描述清楚工作原理。也是面試常問問題,當(dāng)除考研我也重點(diǎn)背過這里。
網(wǎng)絡(luò)接口層
把網(wǎng)卡、網(wǎng)橋、交換機(jī)的概念、用途簡單了解下就好,一般面試官不會問。
好了,把這些問題搞清楚,應(yīng)付面試官應(yīng)該就沒什么問題了,趕緊去總結(jié)下答案然后好好背吧。如果你時間充分,想系統(tǒng)學(xué)一下計算機(jī)網(wǎng)絡(luò),那你就接著往下看。
系統(tǒng)準(zhǔn)備
如果想要系統(tǒng)地學(xué)習(xí)計算機(jī)網(wǎng)絡(luò)相關(guān)的知識,首推 機(jī)械工業(yè)出版社的《計算機(jī)網(wǎng)絡(luò)——自頂向下方法》 。
這本書的目錄清晰,按照 TCP/IP 五層模型逐層講解,對每層涉及的技術(shù)都展開了詳細(xì)討論,基本上高校里開設(shè)的課程的教學(xué)大綱就是這本書的目錄了。

可能有一些小伙伴的學(xué)校用的是謝希仁老師的《計算機(jī)網(wǎng)絡(luò)》這本書。其實(shí),我個人是不太推薦這本書的。這本書的內(nèi)容確實(shí)很詳細(xì),不過,很多地方有點(diǎn)過于啰嗦了。
《計算機(jī)網(wǎng)絡(luò)——自頂向下方法》這本書被分成了 9 章,比較重要的章節(jié)及其介紹如下:
第 1 章 計算機(jī)網(wǎng)絡(luò)和因特網(wǎng) :主要講了計算機(jī)網(wǎng)絡(luò)相關(guān)的一些基礎(chǔ)概念比如因特網(wǎng)、協(xié)議的定義。 第 2 章 應(yīng)用層 :主要講了應(yīng)用層的各種協(xié)議比如 HTTP、FTP、SMTP 和 一些重要的概念比如 DNS、P2P 應(yīng)用。 第 3 章 運(yùn)輸層 :主要講了運(yùn)輸層的相關(guān)協(xié)議比如 UDP 、TCP 。 第 4,5 章 網(wǎng)絡(luò)層 :主要講了網(wǎng)絡(luò)層相關(guān)的各種協(xié)議比如 ICMP、IPv4 協(xié)議和各種網(wǎng)絡(luò)層的相關(guān)概念比如路由器、防火墻。 第 6 章 鏈路層和局域網(wǎng) :主要講了鏈路層(也叫網(wǎng)絡(luò)接口層)相關(guān)的概念和協(xié)議比如差錯檢測和糾正技術(shù)、多路訪問鏈路和協(xié)議、MAC 協(xié)議。
針對 HTTP 這一章節(jié),你還可以結(jié)合 《圖解 HTTP 》這本比較有趣的書籍來學(xué)習(xí)。

我是 Guide哥,一個工作2年有余,接觸編程已經(jīng)6年有余的程序員。大三開源 JavaGuide,目前已經(jīng) 100k+ Star。未來幾年,希望持續(xù)完善 JavaGuide,爭取能夠幫助更多學(xué)習(xí) Java 的小伙伴!共勉!凎!點(diǎn)擊即可了解我的個人經(jīng)歷。
歡迎點(diǎn)贊分享。咱們下期再會!
