iOS開發(fā)·計算機網(wǎng)絡郴谭考面試題

網(wǎng)絡相關

1.描述一下網(wǎng)絡的三次握手四次揮手,為什么要這樣做寞焙?

  • 三次握手:

    1、客戶端調(diào)用connect()發(fā)起請求,請求報文SYN = 1, seq = x發(fā)送給服務器, 客戶端此時為SYN_SENT狀態(tài),等待服務器確認;

    2互婿、服務器收到SYN = 1,知道客戶端要請求連接,ack = x + 1,ACK = 1,SYN = 1, seq = y發(fā)送給客戶端,服務器是SYN_RCVD狀態(tài);

    3捣郊、客戶端收到ack = x + 1,然后把ack = y + 1,ACK = 1,發(fā)送給服務器, 最后服務器確認ack = y+ 1,然后建立成功,兩方進入ESTABLISH狀態(tài).

三次握手.png
  • 四次揮手:

    1、客戶端發(fā)送一個結束FIN = 1, 用來主動關閉和服務器的數(shù)據(jù)傳輸,停止發(fā)送數(shù)據(jù),報文首部:FIN = 1,seq = u,隨后客戶端進入終止等待狀態(tài)1, FIN_WAIT_1;

    2慈参、服務端收到這個FIN,發(fā)出確認報文 ACK = 1,確認收到的序號是收到的序號+1,即ack = u + 1,且?guī)献约旱男蛄刑?seq = v,和SYN一樣,一個FIN將占用一個序號;如果服務器要發(fā)送數(shù)據(jù),客戶端依然要接收,該狀態(tài)會維持一段時間,服務端會進入關閉等待狀態(tài),CLOSE_WAIT,客戶端收到服務器的確認請求后,進入終止等待2狀態(tài)FIN_WAIT_2,等待服務器發(fā)送鏈接釋放報文,

    3呛牲、服務器向客戶端發(fā)送鏈接釋放報文, FIN = 1, ack = u + 1,此時服務端還處于半關閉狀態(tài),服務器可能還會發(fā)送一些數(shù)據(jù),此時序列號為seq = w,如此,服務器進入最后確認狀態(tài),LAST_ACK,等待客戶端的確認.

    4.客戶端收到服務器的鏈接釋放報文后,回發(fā)確認, ACK = 1, ack = w + 1,序列號是seq = u +1,此時客戶端進入時間等待狀態(tài)TIME_WAIT,此時TCP連接還沒有釋放,必須經(jīng)過最長報文段壽命的時間后,才進入CLOSED狀態(tài), MSL:最長報文段壽命,一般為2分鐘,TCP連接釋放時,主動方必須經(jīng)過2MSL后才進入CLOSED狀態(tài),因此主動方關閉比較晚.

四次揮手.png

2.網(wǎng)絡的OSI七層模型,并對應說說除了物理層外的各層功能驮配,并說說各層中有什么協(xié)議? 還有 TCP/IP四層模型, 各層的協(xié)議?

OSI七層模型:

  • 應用層運行訪問OSI環(huán)境的手段,傳輸單位為APDU,主要包括的協(xié)議為FTP娘扩、HTTPDNS壮锻、SMTP

  • 表示層對數(shù)據(jù)進行翻譯琐旁、加密和壓縮、傳輸單位為 PPDU, 主要包括的協(xié)議為 JPEG躯保、 ASII

  • 會話層建立旋膳、管理和終止會話,傳輸單位為 SPDU,主要包括的協(xié)議為RPCNFS

  • 傳輸層提供端到端的可靠報文傳遞和錯誤恢復,傳輸單位為報文,主要包括的協(xié)議為 TCP途事、UDP

  • 網(wǎng)絡層負責將數(shù)據(jù)包從源到宿的傳遞和網(wǎng)際互聯(lián),傳輸單位是包,主要協(xié)議是 IP验懊、ARPICMP

  • 數(shù)據(jù)鏈路層將比特組裝成幀和點到點的傳遞,傳輸單位是幀,主要協(xié)議是 MAC尸变、 LAN义图、PPP

  • 物理層 通過媒介傳輸比特,單位是bit,主要協(xié)議是 IEEE802.3CLOCK召烂、 RJ45

    TCP/IP四層模型:

    • 應用層是用來給用戶提供服務的,包含了各種應用服務協(xié)議:FTP, HTTPDNS;封裝成http數(shù)據(jù);

    • 傳輸層是用來提供兩臺計算機之間的數(shù)據(jù)傳輸;包含TCPUDP;給http數(shù)據(jù)打上tcp的首部;

    • 網(wǎng)絡層是用來處理網(wǎng)絡中傳輸?shù)臄?shù)據(jù)包;與對方計算機之間進行多臺計算機或網(wǎng)絡設備進行傳輸時,網(wǎng)絡層就是在眾多的選項中選擇一條傳輸路線.再打上一層IP首部,

    • 數(shù)據(jù)鏈路層用來處理連接網(wǎng)絡的硬件部分,如光纖碱工、網(wǎng)卡、驅(qū)動、操作系統(tǒng),再打上以太網(wǎng)首部

    3.HTTPSHTTP之間的區(qū)別怕篷,為什么要使用HTTPS历筝,HTTPS的實現(xiàn)原理(這三個是層層遞進的問的,所以不要只知道HTTPS比較安全廊谓,使用了什么什么非對稱加密和對稱加密算法...最好是整個流程都去了解一下梳猪,如何獲取公鑰,數(shù)字證書有什么用蒸痹,雖然工作中不是很重要春弥,但是面試大家都是背八股文長大的诈茧,那不是更得知道的多才能顯得你與眾不同嗎)

    區(qū)別:

    • 底層:HTTP底層是通過建立socket通道實現(xiàn)數(shù)據(jù)傳輸?shù)?是基于TCP的安全可靠的協(xié)議;HTTPS是在HTTP的基礎上加上安全套接字層SSL協(xié)議,構建的可進行加密傳輸拯腮、身份認證的協(xié)議;

    • 數(shù)據(jù)傳輸: HTTP是以明文發(fā)送內(nèi)容,不適合傳輸敏感信息;HTTPS是依靠證書驗證服務器的身份,實現(xiàn)通信加密;

    • 連接方式: 兩者使用完全不同的鏈接方式, HTTP端口是80;HTTPS端口使用443.

    • 響應速度: HTTP要比HTTPS響應速度快,首先都要先經(jīng)過TCP三次握手,CS之間交換三個包,而HTTPS還要加上SSL握手需要的九個包,一共是12個包.

    HTTPS實現(xiàn)原理:

    1. 客戶端發(fā)出請求HTTPS與服務端建立SSL鏈接,然后服務端返回一個公鑰證書,

    2. 客戶端產(chǎn)生一個隨機對稱密鑰;

    3. 使用公鑰加密對稱密鑰;

    4. 發(fā)送加密后的對稱密鑰,服務器給個回應;

    5. 使用對稱密鑰進行加密通信.

    4.ARP協(xié)議如何工作(這個也比較簡單,但是后面會擴展問一些TCP须板,UDP的問題)榛鼎,會問某些場景是否使用TCP或者UDP逃呼,后面還轉(zhuǎn)進了http1.0和1.1的長連接,感覺這個也是一個考點借帘,記得不是很深刻了

    5.進程和線程的區(qū)別蜘渣,為什么要有線程,線程擁有什么獨立的資源肺然, 多線程如何安全的訪問進程中的資源蔫缸,講一下各種鎖(這個也是八股文,操作系統(tǒng)必問际起,懂得都懂)

    • 進程就是系統(tǒng)中正在運行的一個應用程序,可以理解為一個app;

    • 線程是程序執(zhí)行的最小單元,是進城中的一個實體,進程就是一系列的線程執(zhí)行單元組成的

    • 一個進程中可以有多個線程,但至少得有一個線程

    • 多核CPU中,多個線程一起執(zhí)行可以提高程序的執(zhí)行效率

    • 自旋鎖:

    • 互斥鎖:

    6.操作系統(tǒng)中的虛擬內(nèi)存是什么拾碌,講一講 頁面置換算法,是否有了解過三級緩存機制(也是遞進的問的街望!三級緩存機制是APP開發(fā)常用的也會考查)

    7.最后有一道算法題校翔,leetcode 59,螺旋矩陣

    • 定義上下左右四個邊界

    • 內(nèi)縮遍歷

    8.IP地址和MAC地址的區(qū)別?

    1. MAC地址物理層數(shù)據(jù)鏈路層使用的地址,用來定義網(wǎng)絡設備的位置, IP地址網(wǎng)絡層和以上各層使用的地址;

    2. IP地址是放在IP數(shù)據(jù)報的首部,而 MAC地址是放在 MAC幀的首部.

    9.請介紹一個操作系統(tǒng)中的中斷

    1. 中斷是指CPU對系統(tǒng)發(fā)生的某個事件做出的一種反應,CPU 暫停正在執(zhí)行的程序, 保存現(xiàn)場后自動去執(zhí)行相應的處理程序,處理完該事件后再返回中斷處,繼續(xù)執(zhí)行原來的程序.

    2. 中斷一般分為三類:一種是由CPU外部引起的,如I/O中斷,時鐘中斷,一種是來自CPU內(nèi)部事件或程序執(zhí)行中引起的中斷,例如(程序非法操作,地址越界,浮點溢出), 最后一種是在程序中使用了系統(tǒng)調(diào)用引起的.

    3. 中斷處理一般分為中斷響應和中斷處理兩個步驟,中斷響應由硬件實施,中斷處理主要由軟件實施.

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市灾前,隨后出現(xiàn)的幾起案子防症,更是在濱河造成了極大的恐慌,老刑警劉巖哎甲,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蔫敲,死亡現(xiàn)場離奇詭異,居然都是意外死亡炭玫,警方通過查閱死者的電腦和手機奈嘿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吞加,“玉大人裙犹,你說我怎么就攤上這事尽狠。” “怎么了叶圃?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵袄膏,是天一觀的道長。 經(jīng)常有香客問我盗似,道長哩陕,這世上最難降的妖魔是什么平项? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任赫舒,我火速辦了婚禮,結果婚禮上闽瓢,老公的妹妹穿的比我還像新娘接癌。我一直安慰自己,他們只是感情好扣讼,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布缺猛。 她就那樣靜靜地躺著,像睡著了一般椭符。 火紅的嫁衣襯著肌膚如雪荔燎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天销钝,我揣著相機與錄音有咨,去河邊找鬼。 笑死蒸健,一個胖子當著我的面吹牛座享,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播似忧,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼渣叛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了盯捌?” 一聲冷哼從身側響起淳衙,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎饺著,沒想到半個月后箫攀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡瓶籽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年匠童,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片塑顺。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡汤求,死狀恐怖俏险,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情扬绪,我是刑警寧澤竖独,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站挤牛,受9級特大地震影響莹痢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜墓赴,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一竞膳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧诫硕,春花似錦坦辟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至藕届,卻和暖如春挪蹭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背休偶。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工梁厉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人椅贱。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓懂算,卻偏偏與公主長得像,于是被迫代替她去往敵國和親庇麦。 傳聞我的和親對象是個殘疾皇子计技,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容