京東測試工程師面經分析

2022-02-22 23:32:42 字數 1834 閱讀 7382

tcp/ip是乙個協議簇,是乙個開放的協議標準,所有人都可以免費試用,並且是獨立於硬體和作業系統的。tcp/ip協議是不區分網路硬體的,它在區域網,廣域網和網際網路中都被廣泛使用。tcp/ip協議使用統一的網路位址分配的方案。網路中的每台電腦都具有唯一的ip位址。tcp/ip協議是乙個標準的高層協議,擁有極高的可靠性,可以為使用者提供可靠的服務。

tcp/ip共分為四層,分別是網路介面層,網際層,傳輸層,應用層,其中網路介面層對應osi模型的物理層和資料鏈路層;網際層對應網際層,傳輸層對應傳輸層,應用層對應會話層,表示層,應用層。

層次名稱

功能協議

網路介面層

負責實際資料的傳輸

hdlc(高階鏈路控制協議)                     ppp(點對點協議)                                   slip(序列線路介面協議)

網際層負責網路間的定址

ip(網際協議)                                     icmp(網際控制訊息協議)                      arp(位址解析協議)                              rarp(反向位址解析協議)

傳輸層負責提供可靠的傳輸服務

tcp(控制傳輸協議)                                   udp(使用者資料報協議)

應用層負責實現一切與應用程式相關的功能

ftp(檔案傳輸協議)                               http(超文字傳輸協議)                         dns (網域名稱解析協議)                             snmp(簡單郵件傳輸協議)                    nfs(網路檔案系統協議)

第一次握手:建立連線。客戶端傳送連線請求報文段,將syn位置為1,sequence number為x;然後,客戶端進入syn_send狀態,等待伺服器的確認;

第二次握手:伺服器收到syn報文段。伺服器收到客戶端的syn報文段,需要對這個syn報文段進行確認,設定acknowledgment number為x+1(sequence number+1);同時,自己自己還要傳送syn請求資訊,將syn位置為1,sequence number為y;伺服器端將上述所有資訊放到乙個報文段(即syn+ack報文段)中,一併傳送給客戶端,此時伺服器進入syn_recv狀態;

第三次握手:客戶端收到伺服器的syn+ack報文段。然後將acknowledgment number設定為y+1,向伺服器傳送ack報文段,這個報文段傳送完畢以後,客戶端和伺服器端都進入established狀態,完成tcp三次握手。

四次揮手

第一次分手:主機1(可以使客戶端,也可以是伺服器端),設定sequence number和acknowledgment number,向主機2傳送乙個fin報文段;此時,主機1進入fin_wait_1狀態;這表示主機1沒有資料要傳送給主機2了;

第二次分手:主機2收到了主機1傳送的fin報文段,向主機1回乙個ack報文段,acknowledgment number為sequence number加1;主機1進入fin_wait_2狀態;主機2告訴主機1,我「同意」你的關閉請求;

第三次分手:主機2向主機1傳送fin報文段,請求關閉連線,同時主機2進入last_ack狀態;

第四次分手:主機1收到主機2傳送的fin報文段,向主機2傳送ack報文段,然後主機1進入time_wait狀態;主機2收到主機1的ack報文段以後,就關閉連線;此時,主機1等待2msl後依然沒有收到回覆,則證明server端已正常關閉,那好,主機1也可以關閉連線了。

為什麼要三次握手

為了防止已失效的連線請求報文段突然又傳送到了服務端,因而產生錯誤。

2019屆秋招稅友測試工程師面經

三面 技術面 hr面 大佬面 技術面1 自我介紹 這個時間果然是給面試官看簡歷的,我的自我介紹太短面試官都還沒看完簡歷問我還有嗎就很尷尬 2 為什麼選擇測試?3 說說你的實習經歷 4 我看你說熟悉jenkins,你知道jenkins上構建專案的根目錄在哪嗎?我就記得自動化打包的時候看構建的東西是在w...

位元組跳動 測試開發工程師 面經

自我介紹 作業系統 虛擬記憶體的概念 程序和執行緒 執行緒同步 如何實現執行緒同步 計算機網路 說一下tcp 為什麼是四次揮手呢 說乙個ip位址,如果第一位元組是269行不行 說一下http 自己講了get post 自己在專案中用過這些方法嗎 在頁面上點讚用了哪些方法 是不是有乙個功能是get和p...

測試工程師簡介

一 什麼是軟體測試?1975年,兩位軟體測試先驅john good enough和susan cerhart 在ieee上發表了 軟體資料選擇的原理 此時將軟體測試定義為 證明軟體的工作是正確 的活動。1979年,glenford j.myers的著名的 軟體測試藝術 對測試的定義是 發現錯誤而執行...