常見的網路編程面試題__編程

來源:互聯網
上載者:User
1:tcp和udp的區別

TCP:是連線導向的流傳輸控制通訊協定,具有高可靠性,確保傳輸資料的正確性,有驗證重發機制,因此不會出現丟失或亂序。

UDP:是不需連線的資料報服務,不對資料報進行檢查與修改,無須等待對方的應答,會出現分組丟失、重複、亂序,但具有較好的即時性,UDP段結構比TCP的段結構簡單,因此網路開銷也小。

2:流量控制和擁塞控制

擁塞控制
網路擁塞現象是指到達通訊子網中某一部分的分組數量過多,使得該部分網路來不及處理,以致引起這部分乃至整個網路效能下降的現象,嚴重時甚至會導致網路通訊業務陷入停頓,即出現死結現象。擁塞控制是處理網路擁塞現象的一種機制。
流量控制
資料的傳送與接收過程當中很可能出現收方來不及接收的情況,這時就需要對發方進行控制,以免資料丟失。
3:多線程如何同步

windows

線程同步有四種方式:臨界區、核心對象、互斥量、訊號量。

Linux

線程同步有最常用的是:互斥鎖、條件變數和訊號量。
4:進程間通訊的方式有哪些,各有什麼優缺點 處理序間通訊 5:tcp串連建立的時候3次握手,中斷連線的4次握手的具體過程

建立串連採用的3次握手協議,具體是指:
第一次握手是用戶端connect串連到server,server accept client的請求之後,向client端發送一個訊息,相當於說我都準備好了,你串連上我了,這是第二次握手,第3次握手就是client向server發送的,就是對第二次握手訊息的確認。之後client和server就開始通訊了。
中斷連線的4次握手,具體如下:
中斷連線的一端發送close請求是第一次握手,另外一端接收到中斷連線的請求之後需要對close進行確認,發送一個訊息,這是第二次握手,發送了確認訊息之後還要向對端發送close訊息,要關閉對對端的串連,這是第3次握手,而在最初發送中斷連線的一端接收到訊息之後,進入到一個很重要的狀態time_wait狀態,這個狀態也是面試官經常問道的問題,最後一次握手是最初發送中斷連線的一端接收到訊息之後。對訊息的確認。
6:epoll與select的區別

select在一個進程中開啟的最大fd是有限制的,由FD_SETSIZE設定,預設值是2048。不過 epoll則沒有這個限制,它所支援的fd上限是最大可以開啟檔案的數目,這個數字一般遠大於2048,一般來說記憶體越大,fd上限越大,1G記憶體都能達到大約10w左右。

select的輪詢機制是系統會去尋找每個fd是否資料已準備好,當fd很多的時候,效率當然就直線下降了,epoll採用基於事件的通知方式,一旦某個fd資料就緒時,核心會採用類似callback的回調機制,迅速啟用這個檔案描述符,而不需要不斷的去輪詢尋找就緒的描述符,這就是epoll高效最本質的原因。

無論是select還是epoll都需要核心把FD訊息通知給使用者空間,如何避免不必要的記憶體拷貝就很重要,在這點上,epoll是通過核心於使用者空間mmap同一塊記憶體實現的,而select則做了不必要的拷貝
7:epoll中et和lt的區別與實現原理

LT:水平觸發,效率會低於ET觸發,尤其在大並發,大流量的情況下。但是LT對代碼編寫要求比較低,不容易出現問題。LT模式服務編寫上的表現是:只要有資料沒有被擷取,核心就不斷通知你,因此不用擔心事件丟失的情況。
ET:邊緣觸發,效率非常高,在並發,大流量的情況下,會比LT少很多epoll的系統調用,因此效率高。但是對編程要求高,需要細緻的處理每個請求,否則容易發生丟失事件的情況。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.