溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

發(fā)布時間:2021-10-13 09:14:11 來源:億速云 閱讀:173 作者:iii 欄目:編程語言

這篇文章主要介紹“2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些”,在日常操作中,相信很多人在2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

1.先看一天面試的經(jīng)驗

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

2.什么是網(wǎng)絡(luò)編程

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

3.網(wǎng)絡(luò)編程中兩個主要的問題

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

4.網(wǎng)絡(luò)協(xié)議是什么

在計算機網(wǎng)絡(luò)要做到井井有條的交換數(shù)據(jù),就必須遵守一些事先約定好的規(guī)則,比如交換數(shù)據(jù)的格式、是否需要發(fā)送一個應(yīng)答信息。這些規(guī)則被稱為網(wǎng)絡(luò)協(xié)議。

5.為什么要對網(wǎng)絡(luò)協(xié)議分層

  • 簡化問題難度和復(fù)雜度。由于各層之間獨立,我們可以分割大問題為小問題。

  • 靈活性好。當(dāng)其中一層的技術(shù)變化時,只要層間接口關(guān)系保持不變,其他層不受影響。

  • 易于實現(xiàn)和維護。

  • 促進標(biāo)準(zhǔn)化工作。分開后,每層功能可以相對簡單地被描述

6.計算機網(wǎng)絡(luò)體系結(jié)構(gòu)

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

TCP/IP參考模型

TCP/IP四層協(xié)議(數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層)

  • 應(yīng)用層 應(yīng)用層最靠近用戶的一層,是為計算機用戶提供應(yīng)用接口,也為用戶直接提供各種網(wǎng)絡(luò)服務(wù)。我們常見應(yīng)用層的網(wǎng)絡(luò)服務(wù)協(xié)議有:HTTP,HTTPS,F(xiàn)TP,TELNET等。

  • 傳輸層 建立了主機端到端的鏈接,傳輸層的作用是為上層協(xié)議提供端到端的可靠和透明的數(shù)據(jù)傳輸服務(wù),包括處理差錯控制和流量控制等問題。該層向高層屏蔽了下層數(shù)據(jù)通信的細(xì)節(jié),使高層用戶看到的只是在兩個傳輸實體間的一條主機到主機的、可由用戶控制和設(shè)定的、可靠的數(shù)據(jù)通路。我們通常說的,TCP UDP就是在這一層。端口號既是這里的“端”。

  • 網(wǎng)絡(luò)層 本層通過IP尋址來建立兩個節(jié)點之間的連接,為源端的運輸層送來的分組,選擇合適的路由和交換節(jié)點,正確無誤地按照地址傳送給目的端的運輸層。就是通常說的IP層。這一層就是我們經(jīng)常說的IP協(xié)議層。IP協(xié)議是Internet的基礎(chǔ)。

  • 數(shù)據(jù)鏈路層 通過一些規(guī)程或協(xié)議來控制這些數(shù)據(jù)的傳輸,以保證被傳輸數(shù)據(jù)的正確性。實現(xiàn)這些規(guī)程或協(xié)議的 硬件 和軟件加到物理線路,這樣就構(gòu)成了數(shù)據(jù)鏈路,

1 TCP / UDP

1.1 什么是TCP/IP和UDP

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

1.2 TCP與UDP區(qū)別:

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

1.3 TCP和UDP的應(yīng)用場景:

對某些實時性要求比較高的情況使用UDP,比如游戲,媒體通信,實時直播,即使出現(xiàn)傳輸錯誤也可以容忍;其它大部分情況下,HTTP都是用TCP,因為要求傳輸?shù)膬?nèi)容可靠,不出現(xiàn)丟失的情況

1.4 形容一下TCP和UDP

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

1.5 運行在TCP 或UDP的應(yīng)用層協(xié)議分析。

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

1.5.1 什么是ARP協(xié)議 (Address Resolution Protocol)?

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

1.5.2 什么是NAT (Network Address Translation, 網(wǎng)絡(luò)地址轉(zhuǎn)換)?

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

1.5.3 從輸入址到獲得頁面的過程?

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

1.6 TCP的三次握手

1.6.1 什么是TCP的三次握手

在網(wǎng)絡(luò)數(shù)據(jù)傳輸中,傳輸層協(xié)議TCP是要建立連接的可靠傳輸,TCP建立連接的過程,我們稱為三次握手。

1.6.2 三次握手的具體細(xì)節(jié)

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

1.6.3 用現(xiàn)實理解三次握手的具體細(xì)節(jié)

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

1.6.4 建立連接可以兩次握手嗎?為什么?

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

1.6.5 可以采用四次握手嗎?為什么?

這個肯定可以。三次握手都可以保證連接成功了,何況是四次,但是會降低傳輸?shù)男省?/p>

1.6.6 第三次握手中,如果客戶端的ACK未送達(dá)服務(wù)器,會怎樣?

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

1.6.7 如果已經(jīng)建立了連接,但客戶端出現(xiàn)了故障怎么辦?

服務(wù)器每收到一次客戶端的請求后都會重新復(fù)位一個計時器,時間通常是設(shè)置為2小時,若兩小時還沒有收到客戶端的任何數(shù)據(jù),服務(wù)器就會發(fā)送一個探測報文段,以后每隔75秒鐘發(fā)送一次。若一連發(fā)送10個探測報文仍然沒反應(yīng),服務(wù)器就認(rèn)為客戶端出了故障,接著就關(guān)閉連接。

1.6.8 初始序列號是什么?

TCP連接的一方A,隨機選擇一個32位的序列號(Sequence Number)作為發(fā)送數(shù)據(jù)的初始序列號(Initial Sequence Number,ISN),比如為1000,以該序列號為原點,對要傳送的數(shù)據(jù)進行編號:1001、1002...三次握手時,把這個初始序列號傳送給另一方B,以便在傳輸數(shù)據(jù)時,B可以確認(rèn)什么樣的數(shù)據(jù)編號是合法的;同時在進行數(shù)據(jù)傳輸時,A還可以確認(rèn)B收到的每一個字節(jié),如果A收到了B的確認(rèn)編號(acknowledge number)是2001,就說明編號為1001-2000的數(shù)據(jù)已經(jīng)被B成功接受。

1.7 TCP的四次揮手

1.7.1 什么是TCP的四次揮手

在網(wǎng)絡(luò)數(shù)據(jù)傳輸中,傳輸層協(xié)議斷開連接的過程我們稱為四次揮手

1.7.2 四次揮手的具體細(xì)節(jié)

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

1.7.3 用現(xiàn)實理解三次握手的具體細(xì)節(jié)TCP的四次揮手

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

1.7.4 為什么不能把服務(wù)器發(fā)送的ACK和FIN合并起來,變成三次揮手(CLOSE_WAIT狀態(tài)意義是什么)?

因為服務(wù)器收到客戶端斷開連接的請求時,可能還有一些數(shù)據(jù)沒有發(fā)完,這時先回復(fù)ACK,表示接收到了斷開連接的請求。等到數(shù)據(jù)發(fā)完之后再發(fā)FIN,斷開服務(wù)器到客戶端的數(shù)據(jù)傳送。

1.7.5 如果第二次揮手時服務(wù)器的ACK沒有送達(dá)客戶端,會怎樣?

客戶端沒有收到ACK確認(rèn),會重新發(fā)送FIN請求。

1.7.6 客戶端TIME_WAIT狀態(tài)的意義是什么?

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

2 Socket

2.1 什么是Socket

  • 網(wǎng)絡(luò)上的兩個程序通過一個雙向的通訊連接實現(xiàn)數(shù)據(jù)的交換,這個雙向鏈路的一端稱為一個Socket。Socket通常用來實現(xiàn)客戶方和服務(wù)方的連接。Socket是TCP/IP協(xié)議的一個十分流行的編程界面,一個Socket由一個IP地址和一個端口號唯一確定。

  • 但是,Socket所支持的協(xié)議種類也不光TCP/IP、UDP,因此兩者之間是沒有必然聯(lián)系的。在Java環(huán)境下,Socket編程主要是指基于TCP/IP協(xié)議的網(wǎng)絡(luò)編程。

  • socket連接就是所謂的長連接,客戶端和服務(wù)器需要互相連接,理論上客戶端和服務(wù)器端一旦建立起連接將不會主動斷掉的,但是有時候網(wǎng)絡(luò)波動還是有可能的

  • Socket偏向于底層。一般很少直接使用Socket來編程,框架底層使用Socket比較多,

2.2 socket屬于網(wǎng)絡(luò)的那個層面

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

2.3 Socket通訊的過程

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

2.4 TCP協(xié)議Socket代碼示例:

先運行服務(wù)端,在運行客戶端 ,

  1. 服務(wù)端:

package com.test.io; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.OutputStream;

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

2.5 UDP協(xié)議Socket代碼示例:

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

2.6 Socket的常用類

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

3. HTTP

3.1什么是Http協(xié)議?

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

3.2 Socket和http的區(qū)別和應(yīng)用場景

  • Socket連接就是所謂的長連接,理論上客戶端和服務(wù)器端一旦建立起連接將不會主動斷掉;

  • Socket適用場景:網(wǎng)絡(luò)游戲,銀行持續(xù)交互,直播,在線視屏等。

  • http連接就是所謂的短連接,即客戶端向服務(wù)器端發(fā)送一次請求,服務(wù)器端響應(yīng)后連接即會斷開等待下次連接

  • http適用場景:公司OA服務(wù),互聯(lián)網(wǎng)服務(wù),電商,辦公,網(wǎng)站等等等等

3.3 什么是http的請求體?

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

3.4 http的響應(yīng)報文有哪些?

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

3.5 http和https的區(qū)別?

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

3.6 HTTPS工作原理

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

3.7 一次完整的HTTP請求所經(jīng)歷幾個步驟?

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

3.8 常用HTTP狀態(tài)碼是怎么分類的,有哪些常見的狀態(tài)碼?

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

3.9 Http協(xié)議中有那些請求方式

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

3.10 GET方法與POST方法的區(qū)別

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

3.11 http版本的對比

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

3.12 什么是對稱加密與非對稱加密

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

3.13 cookie和session對于HTTP有什么用?

2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些

到此,關(guān)于“2021最新版TCP,UDP,Socket,Http的網(wǎng)絡(luò)編程面試題有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI