中兴软件测试过往面试题汇总
1、TCP/IP三次握手四次揮手?
三次握手
TCP建立連接要經過三次握手是為了保證客戶端與服務器之間的數據收發過程沒有問題。
1、第一次握手:客戶端發送連接請求報文段,將 SYN 位置為 1,Seq 為 x;然后,客戶端等待服務器的確認;
2、第二次握手:服務器收到客戶端的 SYN 報文段,需要對這個 SYN 報文段進行確認,設置 Ack為x+1(Seq +1);同時,自己還要發送 SYN 請求信息,將 SYN 位置為 1,Seq為y;服務器端將上述所有信息放到一個報文段(即 SYN+ACK 報文段)中,一并發送給客戶端,此時服務器進入 SYN_RECV 狀態;
3、第三次握手:客戶端收到服務器的 SYN+ACK 報文段,會確認服務端響應的數據。然后將 Ack設置為 y+1,向服務器發送 ACK 報文段,這個報文段發送完畢以后,客戶端和服務器端都進入 ESTABLISHED 狀態,完成 TCP 三次握手。
四次揮手
客戶端在斷開連接的時候會主動發送一個finish包,代表客戶端不會再給服務器寫數據了,服務器接收到客戶端的finish包會馬上響應客戶端已經知道了客戶端想要斷開連接了,但是服務器可能還會有一些數據需要發送,在發送完數據后,服務器會再給客戶端發送一個finish包表示之后終止發數據,最后客戶端會確認服務器的響應結果。
三次握手過程中是否可以攜帶數據:
第三次握手時是可以攜帶數據的,但第一二次握手時不可以攜帶數據。
(1)假如第一次握手可以攜帶數據的話,那么會放大 SYN 洪泛。如果有人要惡意攻擊服務器,每次都在第一次握手中的 SYN 報文中放入大量的數據,然后瘋狂重復發送 SYN 報文的話,就會讓服務器開辟大量的緩存來接收這些報文,內存會很容易耗盡,從而拒絕服務。
(2) 第三次握手時客戶端已經處于 ESTABLISHED 狀態,對于客戶端來說,他已經建立起連接了,并且已經知道服務器的接收和發送能力是正常的,所以也就可以攜帶數據了。
如果已經建立了連接,但是客戶端突然出現故障了怎么辦?
TCP還設有一個保活計時器,顯然,客戶端如果出現故障,服務器不能一直等下去。服務器每收到一次客戶端的請求后都會重新復位這個計時器,時間通常是設置為2小時,若兩小時還沒有收到客戶端的任何數據,服務器就會發送一個探測報文段,以后每隔75秒鐘發送一次。若一連發送10個探測報文仍然沒反應,服務器就認為客戶端出了故障,接著就關閉連接。
為什么需要TIME_WAIT狀態?
(1)重發丟失的ACK報文,保證連接可靠的關閉:
由于網絡等原因,無法保證最后一次揮手的 ACK 報文一定能傳送給對方,如果 ACK 丟失,對方會超時重傳 FIN,主動關閉端會再次響應ACK過去;如果沒有 TIME_WAIT 狀態,直接關閉,對方重傳的FIN報文則被響應一個RST報文,此RST會被動關閉端被解析成錯誤。同時,服務器就因為接收不到客戶端的信息而無法正常關閉。
(2)保證本次連接的重復數據段從網絡中消失:
如果存在兩個連接,第一個連接正常關閉,第二個相同的連接緊接著建立;如果第一個連接的某些數據仍然滯留在網絡中,這些延遲數據在建立新連接之后才到達,則會干擾第二連接,等待 2MSL 可以讓上次連接的報文數據消逝在網絡中。
2、Linux常用命令
3、抓包
抓包就是將網絡傳輸發送與接收的數據包進行截獲、重發、編輯等操作。
<1. 分析數據傳輸協議。
<2. 定位網絡協議的問題。
<3. 從數據包中獲取想要的信息。
<4. 將截取到的數據包進行修改,偽造,重發。
4、路由器會不會刷固件?
理論上當然是可以刷固件的。
路由器產品本質是一臺網卡特別多的 Linux 主機,理論上當然是可以刷固件的。 而且路由器刷固件的必要性很大,因為廠商們,尤其是國內廠商們會受到各種規章限制,比如科學上網和凈(miǎn)化(guǎng)網(gào)絡相關的功能肯定沒有,而且還會因為固件做得差,穩定性和功能性都不佳,甚至還有無良廠商會推廣告留后門。
5、測試的流程
需求分析—測試計劃—測試用例—測試執行—回歸測試—測試報告
6、四種排序方法及時間復雜度
插入排序
將一個記錄插入到已排好序的序列中,從而得到一個新的有序序列。
將序列的第一個數據看成是一個有序的子序列,然后從第二個記錄逐個向該有序的子序列進行有序的插入,直至整個序列有序。
當初始序列為正序時,時間復雜度為O(N);初始序列為反序時,時間復雜度為O(n^2)
冒泡排序
重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個算法的名字由來是因為越大的元素會經由交換慢慢“浮”到數列的頂端,故稱為"冒泡排序"。
時間復雜度O(n^2)
選擇排序
時間復雜度O(n^2)
快速排序
在一個數組中,找一個數為基準數,將這個數中所有比基準數大的數放在該數的右邊,比基準數小的數放在該數的左邊。
平均時間復雜度是:O(nlogn)
7、路由器和交換機
(1)工作所處的OSI層次不一樣,交換機工作在OSI第二層數據鏈路層,路由器工作在OSI第三層網絡層;
(2)尋址方式不同:交換機根據MAC地址尋址,路由器根據IP地址尋址;
(3)轉發速不同:交換機的轉發速度快,路由器轉發速度相對較慢。
8、ARP協議
ARP 是根據 IP 地址獲取 MAC 地址的一種協議,核心原理就是廣播發送ARP請求,單播發送ARP響應。
(1)每個主機都在自己的ARP緩沖區中建立一個ARP列表,以表示 IP 地址和 MAC 地址之間的對應關系。
(2)當源主機要發送數據時,先檢查ARP列表中是否有該 IP 地址對應的 MAC 地址,如果有,則直接發送數據;如果沒有,就向本網段的所有主機發送ARP數據包,用于查詢目的主機的MAC地址,該數據包包括的內容有:源主機IP地址,源主機MAC地址,目的主機的IP。
(3)當本網絡的所有主機收到該ARP數據包時,首先檢查數據包中的IP地址是否是自己的IP地址,如果不是,則忽略該數據包,如果是,則首先從數據包中取出源主機的IP和MAC地址寫入到ARP列表中,如果已經存在,則覆蓋,然后將自己的MAC地址寫入ARP響應包中,告訴源主機自己是它想要找的MAC地址。
(4)源主機收到 ARP 響應包后,將目的主機的 IP 和 MAC 地址寫入ARP列表,并利用此信息發送數據。如果源主機一直沒有收到ARP響應數據包,表示ARP查詢失敗。
9、4G和5G的了解
高速度
目前我們 4G 使用的都是低頻段,它的優點在于性能好,覆蓋面廣,能夠有效減少運營商在基站的投入,節省資金。但缺點就是,用的人多,數據傳輸的“路”就會出現擁窄現象。而 5G 使用的就是高頻段,使用高頻不但能緩解低頻資源的緊張,由于沒有擁窄現象,使得“道路”更加寬廣,提高帶寬的速率。(下載高清視頻、4K視頻直播)
大容量
5G 技術引入了體積小,耗能低的微基站,這種基站可以安裝部署在城市的任何位置,可以安裝到路燈、信號燈、商場、住房等等。每個基站可以從其它基站接收信號并向任何位置的用戶發送數據。信號接收均勻,承載量大,形成泛在網,解決高頻段長距離傳輸差的缺點。(智能家居、智能穿戴)
低延時
4G 網絡應用服務器集中于中心機房,距離終端遠,中間需要經過多個傳輸節點。5G 通過邊緣計算技術將接入網與互聯網業務進行深度融合,在接入網邊緣部署計算、處理和存儲功能的云計算設備,構建移動便捷云,提供信息技術服務環境和云計算能力。可以減少數據傳輸過程中的轉發和處理時間,降低端到端的延時。(無人駕駛、車聯網)
10、項目中,遇到的最難的問題,是如何解決的?
11、為什么選擇測試而不是開發?
不管是開發還是測試,它們都有各自專屬的技術領域,誰也替代不了誰。測試在我國發展時間比較短,隨著產品功能越來越復雜,測試這個崗位也越來越重要,而且職業方向和路線也很多,技術型、管理型、業務型都可以。測試的目標是確定功能是否能夠正常運作,它重在“發現”和“分析”,這剛好也符合我自己的性格特點:細致、耐心,善于溝通。其次,我平時也比較喜歡看一些解謎類的書籍和電影,雖然我說不好這個跟測試具體有什么關聯,不過有一些感覺是一樣的,觀察、推演、嘗試、歸納、發現。在我的認知中,我覺得測試也是這樣一個綜合的過程,我喜歡這種探索發現的新鮮感也喜歡分析歸納之后的成就感。后面自己的技術有進一步提升之后,也打算轉測開。
12、測試商城的按摩椅
13、HTTP、HTTPs
?
總結
以上是生活随笔為你收集整理的中兴软件测试过往面试题汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言二进制微粒群算法,离散二进制微粒群
- 下一篇: 基于微信小程序的智能填表工具软件系统