日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

計(jì)算機(jī)基礎(chǔ)知識(shí)面經(jīng)

 印度阿三17 2019-09-02

排序

(1)快速排序:快速排序是由冒泡排序改進(jìn)的,冒泡排序過程中,只對(duì)相鄰的兩個(gè)記錄進(jìn)行比較,因此每次交換兩個(gè)相鄰記錄時(shí)只能消除一個(gè)逆序.快速排序是通過兩個(gè)不相鄰記錄的一次交換消除多個(gè)逆序,提高排序速度.

   時(shí)間復(fù)雜度分析:從快速排序算法的遞歸樹可知,快速排序的趟數(shù)取決于遞歸樹的深度.最好情況下:每一趟排序后都能將記錄序列均勻的分割成兩個(gè)長度大致相等的子表時(shí)間復(fù)雜度為O(nlogn).最壞情況下:在待排序序列已經(jīng)排好序           的情況下,其遞歸樹成為單支樹.時(shí)間復(fù)雜度為O(n^2/2)

   空間復(fù)雜度:快速排序是遞歸的,執(zhí)行時(shí)需要一個(gè)棧來存放相應(yīng)的數(shù)據(jù),最大遞歸調(diào)用次數(shù)與遞歸樹的深度一致,故最好情況的空間復(fù)雜度為O(logn),最壞情況為O(n);

   算法特點(diǎn):記錄的非順次的移動(dòng)導(dǎo)致排序方法不穩(wěn)定.

        排序過程中需要定位表的上階和下界,所以適合用于順序結(jié)構(gòu),很難用于鏈?zhǔn)浇Y(jié)構(gòu).

        適合用于初始記錄無序,n較大的情況.

計(jì)算機(jī)網(wǎng)絡(luò)

層次結(jié)構(gòu):

 以五層結(jié)構(gòu)為例:應(yīng)用層,傳輸層(運(yùn)輸層),網(wǎng)絡(luò)層,數(shù)據(jù)鏈路層,物理層

 ?。保锢韺樱和ㄟ^光纖和電纜以及雙絞線等物體將計(jì)算機(jī)連接。然后才能進(jìn)行通信在計(jì)算機(jī)之間傳輸0,1這樣的電信號(hào).

 ?。玻?dāng)?shù)據(jù)鏈路層:工作在物理層之上,負(fù)責(zé)給這些0,1制定傳送的規(guī)則,然后另一方再按照相應(yīng)的規(guī)則來進(jìn)行解讀。負(fù)責(zé)分配MAC地址

        以太網(wǎng)協(xié)議:以太網(wǎng)協(xié)議規(guī)定,一組電信號(hào)構(gòu)成一個(gè)數(shù)據(jù)包,把這個(gè)數(shù)據(jù)包稱之為“楨”。每一個(gè)楨由標(biāo)頭(Head)數(shù)據(jù)(Data)兩部分組成,楨的最大長度是1518個(gè)字節(jié),最小長度為64字節(jié)。假如需要傳送的數(shù)據(jù)很大的               話,就分成多個(gè)楨來進(jìn)行傳送。

        MAC地址:連入網(wǎng)絡(luò)的每一個(gè)計(jì)算機(jī)都會(huì)有網(wǎng)卡接口,每一個(gè)網(wǎng)卡都會(huì)一個(gè)地址,這個(gè)地址就叫做MAC地址。計(jì)算機(jī)之間的數(shù)據(jù)傳送,就是通過MAC地址來唯一尋找、傳送的。

        ARP協(xié)議:通過它我們可以知道子網(wǎng)中其他計(jì)算機(jī)的MAC地址。

 ?。常W(wǎng)絡(luò)層:實(shí)際上我們所處的網(wǎng)絡(luò),是由無數(shù)個(gè)子網(wǎng)絡(luò)構(gòu)成的。廣播的時(shí)候,也只有同一個(gè)子網(wǎng)里面的計(jì)算機(jī)能夠收到。 假如沒有子網(wǎng)這種劃分的話,計(jì)算機(jī)A發(fā)一個(gè)數(shù)據(jù)包給計(jì)算機(jī)B,其他所有計(jì)算機(jī)也都能收到這個(gè)數(shù)據(jù)包,然后進(jìn)行對(duì)比再舍棄。世界上有那么多它計(jì)算機(jī),每一臺(tái)計(jì)算機(jī)都能收到其他所有計(jì)算機(jī)的數(shù)據(jù)包,那就不得了了。如何區(qū)分哪些MAC地址是屬于同一個(gè)子網(wǎng)的呢?假如是同一個(gè)子網(wǎng),那我們就用廣播的形式把數(shù)據(jù)傳送給對(duì)方,如果不是同一個(gè)子網(wǎng)的,我們就會(huì)把數(shù)據(jù)發(fā)給網(wǎng)關(guān),讓網(wǎng)關(guān)進(jìn)行轉(zhuǎn)發(fā)。為了解決這個(gè)問題我們引入了一套新的地址協(xié)議(IP協(xié)議),這個(gè)地址協(xié)議能夠幫助我們區(qū)分MAC地址是否處于同一個(gè)子網(wǎng)中。這也是網(wǎng)絡(luò)層負(fù)責(zé)解決的問題。

 ?。矗畟鬏攲樱河?jì)算機(jī)A已經(jīng)可以發(fā)送數(shù)據(jù)到計(jì)算機(jī)B中了,但是計(jì)算機(jī)B里面有多種多樣的程序應(yīng)用,此時(shí)通過指定端口Port供特定的應(yīng)用程序來接受處理.傳輸層的功能就是建立端口到端口的通信。相比網(wǎng)絡(luò)層的功能是建立主機(jī)到主機(jī)的通信。傳輸層最常見的兩大協(xié)議是 TCP 協(xié)議和 UDP 協(xié)議,其中 TCP 協(xié)議與 UDP 最大的不同就是 TCP 提供可靠的傳輸,而 UDP 提供的是不可靠傳輸。

  5.應(yīng)用層:傳過來的數(shù)據(jù)格式不同,而應(yīng)用層的功能,就是用來規(guī)定應(yīng)用程序的數(shù)據(jù)格式的.

        協(xié)議有:HTTP、SMTP、FTP、ping、telnet、DNS、DHCP等

HTTP的狀態(tài)碼有哪些:

 ?。ǎ保?00 請(qǐng)求成功

   4開頭表示客戶端錯(cuò)誤

 ?。ǎ玻?00請(qǐng)求有語法錯(cuò)誤,不能被服務(wù)器所理解;

  (3):404請(qǐng)求資源不存在

  ?。甸_頭表示服務(wù)器端錯(cuò)誤

 ?。ǎ矗?00服務(wù)器發(fā)生不可預(yù)期的錯(cuò)誤;

  (5):503服務(wù)器不能處理客戶請(qǐng)求

HTTP的長連接和短短連接:

HTTP協(xié)議是基于請(qǐng)求/響應(yīng)模式的,因此只要服務(wù)端給了響應(yīng),本次HTTP連接就結(jié)束了,或者更準(zhǔn)確的說,是本次HTTP請(qǐng)求就結(jié)束了,所謂的HTTP連接本質(zhì)上是TCP的連接。TCP連接是可以保持一段時(shí)間不中斷的就是長連接,發(fā)起一次請(qǐng)求后就主動(dòng)斷開的就是短連接,所以就有了長連接和短連接一說。

若沒有長連接TCP連接將會(huì)越來越多,直到把服務(wù)器的TCP連接數(shù)量撐爆到上限為止,長連接為了節(jié)省連接而重復(fù)利用

TCP與UDP:

  TCP:(1)面向連接的,每條TCP連接只能由兩個(gè)端點(diǎn),一對(duì)一通信;

   ?。ǎ玻┨峁┛煽康慕桓斗?wù),傳輸數(shù)據(jù)無差錯(cuò),不丟失,不重復(fù),且按時(shí)序到達(dá)

    (3)面向字節(jié)流,TCP根據(jù)對(duì)方給出的窗口和當(dāng)前的網(wǎng)絡(luò)擁塞程度決定一個(gè)報(bào)文應(yīng)該包含多少個(gè)字節(jié)

  UDP:(1)無連接,UDP使用盡最大努力交付,不保證可靠性UDP是面向報(bào)文的

    ?。ǎ玻︰DP支持一對(duì)一,一對(duì)多,多對(duì)一和多對(duì)多的交互通信。

     (3)應(yīng)用層交給UDP多長的報(bào)文,UDP就照樣發(fā)送,即一次發(fā)送一個(gè)報(bào)文;

TCP協(xié)議需要三次握手通信成功后進(jìn)行建立,應(yīng)用場景:互聯(lián)網(wǎng)和企業(yè)網(wǎng)上客戶端應(yīng)用,數(shù)據(jù)傳輸性能讓位于數(shù)據(jù)傳輸?shù)耐暾?,可控制性和可靠性?/p>

UDP協(xié)議是直接發(fā)送,不會(huì)判斷是否接收和發(fā)送成功,應(yīng)用場景:當(dāng)強(qiáng)調(diào)輸出性能而非完整性時(shí),如音頻和多媒體的應(yīng)用。

URL與URI的區(qū)別:

  URI:通一資源標(biāo)志符(Universal Resource Identifier, URI),表示是一個(gè)網(wǎng)絡(luò)資源,如 HTML文檔、圖像、視頻片段、程序等都由一個(gè)URI進(jìn)行定位的。

    組成部分:訪問資源的命名機(jī)制,存放資源的主機(jī)名,資源自身的名稱

   URL:是Uniform Resource Locator,表示是一個(gè)地址,URL是URI的子集,所有的URL都是URI,但不是每個(gè)URI都是URL,還有可能是URN

  URN:統(tǒng)一資源名稱 (Uniform Resource Name, URN),是URI兩種形式之一。唯一標(biāo)識(shí)一個(gè)實(shí)體的標(biāo)識(shí)符,但是不能給出實(shí)體的位置

從輸入U(xiǎn)RL到展示網(wǎng)頁全過程:

 ?。ǎ保┹斎刖W(wǎng)址:緩存解析 瀏覽器獲取了這個(gè)url,當(dāng)然就去解析了,它先去緩存當(dāng)中看看有沒有,從 瀏覽器緩存-系統(tǒng)緩存-路由器緩存 當(dāng)中查看,如果有從緩存當(dāng)中顯示頁面,否則進(jìn)行下一步.

 ?。ǎ玻〥NS解析:在發(fā)送http請(qǐng)求前,需要域名解析(DNS解析),解析獲取相應(yīng)的IP地址.

 ?。ǎ常g覽器向服務(wù)器發(fā)起tcp連接,與瀏覽器建立tcp三次握手。

 ?。ǎ矗┪帐殖晒?,瀏覽器向服務(wù)器發(fā)送http請(qǐng)求,請(qǐng)求數(shù)據(jù)包。

  (5)服務(wù)器處理收到的請(qǐng)求,將數(shù)據(jù)返回至瀏覽器

  (6)瀏覽器收到HTTP響應(yīng),讀取頁面內(nèi)容,瀏覽器渲染,解析html源碼

TCP三次握手過程:

  step1:建立連接時(shí),客戶端發(fā)送SYN包到服務(wù)器,其中包含客戶端的初始序號(hào)seq=x,并進(jìn)入SYN_SENT狀態(tài),等待服務(wù)器確認(rèn)。(其中,SYN=1,ACK=0,表示這是一個(gè)TCP連接請(qǐng)求數(shù)據(jù)報(bào)文;序號(hào)seq=x,表明傳輸數(shù)據(jù)時(shí)的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)是x)。

  step2:服務(wù)器收到請(qǐng)求后,必須確認(rèn)客戶的數(shù)據(jù)包。同時(shí)自己也發(fā)送一個(gè)SYN包,即SYN ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài)。(其中確認(rèn)報(bào)文段中,標(biāo)識(shí)位SYN=1,ACK=1,表示這是一個(gè)TCP連接響應(yīng)數(shù)據(jù)報(bào)文,并含服務(wù)端的初始序號(hào)seq(服務(wù)器)=y,以及服務(wù)器對(duì)客戶端初始序號(hào)的確認(rèn)號(hào)ack(服務(wù)器)=seq(客戶端) 1=x 1)。

  第三步:客戶端收到服務(wù)器的SYN ACK包,向服務(wù)器發(fā)送一個(gè)序列號(hào)(seq=x 1),確認(rèn)號(hào)為ack(客戶端)=y 1,Server檢查ack是否為x 1,ACK是否為1,如果正確則連接建立成功,完成三次握手.

總結(jié):第三次握手是為了防止:如果客戶端遲遲沒有收到服務(wù)器返回確認(rèn)報(bào)文,這時(shí)會(huì)放棄連接,重新啟動(dòng)一條連接請(qǐng)求,但問題是:服務(wù)器不知道客戶端沒有收到,所以他會(huì)收到兩個(gè)連接,浪費(fèi)連接開銷。如果每次都是這樣,就會(huì)浪費(fèi)多個(gè)連接開銷。

四次揮手過程:

  所謂四次揮手(Four-Way Wavehand)即終止TCP連接,就是指斷開一個(gè)TCP連接時(shí),需要客戶端和服務(wù)端總共發(fā)送4個(gè)包以確認(rèn)連接的斷開。

 由于TCP連接時(shí)全雙工的,因此,每個(gè)方向都必須要單獨(dú)進(jìn)行關(guān)閉,這一原則是當(dāng)一方完成數(shù)據(jù)發(fā)送任務(wù)后,發(fā)送一個(gè)FIN來終止這一方向的連接,收到一個(gè)FIN只是意味著這一方向上沒有數(shù)據(jù)流動(dòng)了,即不會(huì)再收到數(shù)據(jù)了,但是在這個(gè)TCP連接上仍然能夠發(fā)送數(shù)據(jù),直到這一方向也發(fā)送了FIN。首先進(jìn)行關(guān)閉的一方將執(zhí)行主動(dòng)關(guān)閉,而另一方則執(zhí)行被動(dòng)關(guān)閉,上圖描述的即是如此。

    (1)第一次揮手:Client發(fā)送一個(gè)FIN,用來關(guān)閉Client到Server的數(shù)據(jù)傳送,Client進(jìn)入FIN_WAIT_1狀態(tài)。
        (2)第二次揮手:Server收到FIN后,發(fā)送一個(gè)ACK給Client,確認(rèn)序號(hào)為收到序號(hào) 1(與SYN相同,一個(gè)FIN占用一個(gè)序號(hào)),Server進(jìn)入CLOSE_WAIT狀態(tài)。
        (3)第三次揮手:Server發(fā)送一個(gè)FIN,用來關(guān)閉Server到Client的數(shù)據(jù)傳送,Server進(jìn)入LAST_ACK狀態(tài)。
        (4)第四次揮手:Client收到FIN后,Client進(jìn)入TIME_WAIT狀態(tài),接著發(fā)送一個(gè)ACK給Server,確認(rèn)序號(hào)為收到序號(hào) 1,Server進(jìn)入CLOSED狀態(tài),完成四次揮手。

來源:https://www./content-4-435801.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多