1. 程式人生 > >面試必考的網路協議相關題目應該如何回答

面試必考的網路協議相關題目應該如何回答

最近,正處於校招季。很多小夥伴已經拿到了如願以償的Offer,有些小夥伴還在努力著。

平常,也會有一些粉絲會在公眾號留言,或者在微信上問我一些面試題。其中有一類問題是除了Java基礎以外大家問的比較多的。那就是和計算機網路相關的問題。

在大學計算機相關的課程中,有幾門課程是比較重要的:計算機網路、資料結構與演算法、資料庫和作業系統。這些都是比較基礎的計算機相關知識。

計算機網路由於比較抽象,又沒有實踐的方法,使很多朋友不太容易理解。但是,這相關的知識又非常重要,所以很多大廠的面試官總愛考這類問題。

簡單總結一下BAT等大廠經常愛考的計算機網路相關的面試題目:

1、什麼是OSI七層模型,什麼是TCP/IP四層模型。

2、TCP和UDP之間的區別是什麼。

3、TCP的三次握手和四次關閉的原理,為什麼要三次握手。

4、什麼是TCP的丟包和粘包

5、IPV4和IPV6的區別是什麼,為什麼需要IPV6

6、get和post的區別

7、forward和redirect的區別

8、什麼是HTTPS,什麼是HTTP/2

9、一次網路請求的全過程

10、什麼是DNS、什麼是CDN。


這就是圍繞著計算機網路常考的10道面試題。其實這10道題,主要圍繞的就是HTTP、TCP、UDP等網路協議來的。

這些知識點,千萬不要死記硬背,要從OSI七層模型入手,真正的理解七層之間到底是什麼樣的關係,不同層次中到底使用哪種協議,不同層次之間到底如何互動的。

上面這張圖是關於計算機網路有關的各種知識點的彙集。可供讀者們查缺補漏。

我和我的同事,最愛考面試者的一道題目是:如果在瀏覽器位址列輸入www.taobao.com之後,到使用者看到頁面之前,都發生了什麼?

這道題,可以充分的瞭解到面試者對於網路傳輸、Web開發等知識的理解程度。我一般比較關注的幾個答題要點,如果可以在自己的回答中涉及到這幾個點,我會認為這個面試者是比較全面的:

DNS、CDN、負載均衡、反向代理、HTTP(post、get)、TCP/IP四層資料流轉(握手、關閉)、Servlet(filter)、MVC、快取、持久化、頁面渲染等。

以上這些是我覺得一個面試者應該重點關注的方面。

有很多朋友問我像計算機網路這類知識點該如何學習。讓我給推薦一些書籍和學習資料。

書籍的話,推薦機械工業出版社的《計算機網路(第六版)》,這也是一本大學教材,豆瓣評分較高,評價和內容都還不錯。

其他資料的話,還推薦一個極客時間上面專欄——《趣談網路協議》,這是通過講故事的方式介紹網路協議的。

這個專欄確實內容比較不錯,講解的也比較好,但是這畢竟是一個付費的專欄,本來我是不打算推薦的。