面試集錦(四)網絡&操做系統

實現跨域的幾種方式

        1.jsonp動態加入《script》標籤,可是隻能是get方式html

        2.document.domain,設置頂級域名,子域名可訪問nginx

        3.cors服務器攔截url並在header中增長信息 web

        4.nginx反向代理 算法

        5.spring框架加註解可實現
spring

四次揮手 

        1.客戶端發送fin報文 json

        2.服務器回覆ack api

        3.服務器發送一個fin報文 跨域

        4.客戶端回覆ack
瀏覽器

三次握手 

        1.客戶端發送syn報文 緩存

        2.服務端收到syn+ack報文 

        3.客戶端受到syn報文,回覆ack

瀏覽器輸入域名,回車一瞬間發生了什麼 ( 一個http請求過程 )

         1.DNS解析(DNS域名系統,解析域名得到ip) 

         2.發起tcp的三次握手 

         3.創建tcp鏈接後發起http請求 

         4.服務器響應http請求,瀏覽器獲得html代碼 

         5.瀏覽器解析html代碼,並請求html代碼中的資源

         6.瀏覽器對頁面渲染後呈現給用戶

socket 協議 

 socket接口是tcp/ip網絡的api,能夠用他來開發tcp/ip網絡上的程序 

websocket協議 

 基於tcp協議,能夠實現雙向通訊,使用ws或wss的統一資源標誌符 websocket是持久鏈接的協議,而http是非持久鏈接的協議.

http1.0和http1.1的區別 

       1.長鏈接,1.0須要keep-alive參數才能與服務器創建長鏈接,而1.1默認支持長鏈接。維持長鏈接能提高性能,減小開銷 

       2.分步發送,HTTP 1.1支持只發送header信息,當服務器返回100時,認爲有權限,這時能夠發送body,若是返回401表示沒有權限,就不在發送body了,因此節約帶寬。 還支持只傳遞文件的一部份內容,能夠實現文件斷點續傳 

        3.http1.1支持host域

http1.1和http2.0的區別 

        1.多路複用。http2.0能夠作到一個鏈接處理多個併發請求 

        2.http2.0支持對header進行壓縮,因此傳輸效率更高 

        3.服務器推送,適合加載靜態資源

滑動窗口機制 

 就是在發送一個包以後,不等待ACK號的返回,直接發送後續的一系列包。有效利用等待ACK號的這段時間

 窗口大小:可以接收的最大數據量 

 IP頭部的兩個IP地址分別爲:發送方網卡的IP地址;應用程序提供的接收方IP地址。 

 MAC頭部的發送方和接受方的MAC地址分別是發送方網卡的MAC地址;利用ARP(地址解析協議)協議,根據接收方IP地址廣播獲得的接收方MAC地址。

tcp/ip協議 網絡包的組成:

 報頭/起始幀分界符——MAC頭部——IP頭部——TCP頭部——數據——FCS(幀校驗序列)(根據tcp的封裝)

TCP與UDP的區別 

          一、tcp面向鏈接,udp面向無鏈接 

          二、對系統資源的要求(TCP較多,UDP少);

          三、UDP程序結構較簡單; 

          四、流模式與數據報模式 ;

          五、 TCP保證數據正確性和順序(超時重傳機制),UDP可能丟包

get和post的區別 

          1.get參數經過url傳遞,post放在request body中。 

          2.get請求在url中傳遞的參數是有長度限制的,而post沒有。 

          3.get的參數在url中可見,不安全 

          4. get方式在瀏覽器中能夠緩存和查看歷史 

          5.GET方式的請求,瀏覽器會把header和data一併發送出去,服務器響應200(返回數據);          

          6.POST,瀏覽器先發送header,服務器響應100 continue,瀏覽器再發送data,服務器響應200 ok(返回數據)。(http1.1特性)

REST風格 

           1.url表示資源 

           2.用http方法來表示對資源的增刪改查 

           3.安全性與冪等性(get,put,delete) 

           4.無狀態(只須要知道url便可)

死鎖發生的條件及解決方法 

 條件 

 (1)互斥 
 (2)佔有且等待 
 (3)不可搶佔 
 (4)循環等待 

 解決方法 

 (1)死鎖預防   (2)合理分配資源   (3)銀行家算法,找出安全序列
相關文章
相關標籤/搜索