成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

嵌入式筆試面試題目系列(三)

系統(tǒng) Linux
本系列將按照類別對題目進行分類整理,重要的地方標上星星,這樣有利于大家打下堅實的基礎。

[[376872]]

 本系列將按照類別對題目進行分類整理,重要的地方標上星星,這樣有利于大家打下堅實的基礎。

第三章網(wǎng)絡編程

1 、TCP、UDP的區(qū)別

TCP---傳輸控制協(xié)議,提供的是面向連接、可靠的字節(jié)流服務。當客戶和服務器彼此交換數(shù)據(jù)前,必須先在雙方之間建立一個TCP連接,之后才能傳輸數(shù)據(jù)。

UDP---用戶數(shù)據(jù)報協(xié)議,是一個簡單的面向數(shù)據(jù)報的運輸層協(xié)議。UDP不提供可靠性,它只是把應用程序傳給IP層的數(shù)據(jù)報發(fā)送出去,但是并不能保證它們能到達目的地。

1)TCP是面向連接的,UDP是面向無連接的

2)UDP程序結構較簡單

3)TCP是面向字節(jié)流的,UDP是基于數(shù)據(jù)報的

4)TCP保證數(shù)據(jù)正確性,UDP可能丟包

5)TCP保證數(shù)據(jù)順序到達,UDP不保證

2 、TCP、UDP的優(yōu)缺點

TCP優(yōu)點:可靠穩(wěn)定

TCP的可靠體現(xiàn)在TCP在傳輸數(shù)據(jù)之前,會有三次握手來建立連接,而且在數(shù)據(jù)傳遞時,有確認、窗口、重傳、擁塞控制機制,在數(shù)據(jù)傳完之后,還會斷開來連接用來節(jié)約系統(tǒng)資源。

TCP缺點:慢,效率低,占用系統(tǒng)資源高,易被攻擊

在傳遞數(shù)據(jù)之前要先建立連接,這會消耗時間,而且在數(shù)據(jù)傳遞時,確認機制、重傳機制、擁塞機制等都會消耗大量時間,而且要在每臺設備上維護所有的傳輸連接。然而,每個連接都會占用系統(tǒng)的CPU,內(nèi)存等硬件資源。因為TCP有確認機制、三次握手機制,這些也導致TCP容易被利用,實現(xiàn)DOS、DDOS、CC等攻擊。

UDP優(yōu)點:快,比TCP稍安全

UDP沒有TCP擁有的各種機制,是一種無狀態(tài)的傳輸協(xié)議,所以傳輸數(shù)據(jù)非常快,沒有TCP的這些機制,被攻擊利用的機會就少一些,但是也無法避免被攻擊。

UDP缺點:不可靠,不穩(wěn)定

因為沒有TCP的這些機制,UDP在傳輸數(shù)據(jù)時,如果網(wǎng)絡質量不好,就會很容易丟包,造成數(shù)據(jù)的缺失。

3 、TCP UDP適用場景

TCP:傳輸一些對信號完整性,信號質量有要求的信息。

UDP:對網(wǎng)絡通訊質量要求不高時,要求網(wǎng)絡通訊速度要快的場景。

4、 TCP為什么是可靠連接?

因為tcp傳輸?shù)臄?shù)據(jù)滿足3大條件,不丟失,不重復,按順序到達。

5、OSI典型網(wǎng)絡模型,簡單說說有哪些


6、三次握手、四次揮手

三次握手


1、TCP服務器進程先創(chuàng)建傳輸控制塊TCB,時刻準備接受客戶進程的連接請求,此時服務器就進入了LISTEN(監(jiān)聽)狀態(tài);

2、TCP客戶進程也是先創(chuàng)建傳輸控制塊TCB,然后向服務器發(fā)出連接請求報文,這是報文首部中的同部位SYN=1,同時選擇一個初始序列號 seq=x ,此時,TCP客戶端進程進入了 SYN-SENT(同步已發(fā)送狀態(tài))狀態(tài)。TCP規(guī)定,SYN報文段(SYN=1的報文段)不能攜帶數(shù)據(jù),但需要消耗掉一個序號。

3、TCP服務器收到請求報文后,如果同意連接,則發(fā)出確認報文。確認報文中應該 ACK=1,SYN=1,確認號是ack=x+1,同時也要為自己初始化一個序列號 seq=y,此時,TCP服務器進程進入了SYN-RCVD(同步收到)狀態(tài)。這個報文也不能攜帶數(shù)據(jù),但是同樣要消耗一個序號。

4、TCP客戶進程收到確認后,還要向服務器給出確認。確認報文的ACK=1,ack=y+1,自己的序列號seq=x+1,此時,TCP連接建立,客戶端進入ESTABLISHED(已建立連接)狀態(tài)。TCP規(guī)定,ACK報文段可以攜帶數(shù)據(jù),但是如果不攜帶數(shù)據(jù)則不消耗序號。

5、當服務器收到客戶端的確認后也進入ESTABLISHED狀態(tài),此后雙方就可以開始通信了。

四次揮手


1、客戶端進程發(fā)出連接釋放報文,并且停止發(fā)送數(shù)據(jù)。釋放數(shù)據(jù)報文首部,F(xiàn)IN=1,其序列號為seq=u(等于前面已經(jīng)傳送過來的數(shù)據(jù)的最后一個字節(jié)的序號加1),此時,客戶端進入FIN-WAIT-1(終止等待1)狀態(tài)。TCP規(guī)定,F(xiàn)IN報文段即使不攜帶數(shù)據(jù),也要消耗一個序號。

2、服務器收到連接釋放報文,發(fā)出確認報文,ACK=1,ack=u+1,并且?guī)献约旱男蛄刑杝eq=v,此時,服務端就進入了CLOSE-WAIT(關閉等待)狀態(tài)。TCP服務器通知高層的應用進程,客戶端向服務器的方向就釋放了,這時候處于半關閉狀態(tài),即客戶端已經(jīng)沒有數(shù)據(jù)要發(fā)送了,但是服務器若發(fā)送數(shù)據(jù),客戶端依然要接受。這個狀態(tài)還要持續(xù)一段時間,也就是整個CLOSE-WAIT狀態(tài)持續(xù)的時間。

3、客戶端收到服務器的確認請求后,此時,客戶端就進入FIN-WAIT-2(終止等待2)狀態(tài),等待服務器發(fā)送連接釋放報文(在這之前還需要接受服務器發(fā)送的最后的數(shù)據(jù))。

4、服務器將最后的數(shù)據(jù)發(fā)送完畢后,就向客戶端發(fā)送連接釋放報文,F(xiàn)IN=1,ack=u+1,由于在半關閉狀態(tài),服務器很可能又發(fā)送了一些數(shù)據(jù),假定此時的序列號為seq=w,此時,服務器就進入了LAST-ACK(最后確認)狀態(tài),等待客戶端的確認。

5、客戶端收到服務器的連接釋放報文后,必須發(fā)出確認,ACK=1,ack=w+1,而自己的序列號是seq=u+1,此時,客戶端就進入了TIME-WAIT(時間等待)狀態(tài)。注意此時TCP連接還沒有釋放,必須經(jīng)過2∗ *∗MSL(最長報文段壽命)的時間后,當客戶端撤銷相應的TCB后,才進入CLOSED狀態(tài)。

6、服務器只要收到了客戶端發(fā)出的確認,立即進入CLOSED狀態(tài)。同樣,撤銷TCB后,就結束了這次的TCP連接。可以看到,服務器結束TCP連接的時間要比客戶端早一些。

第四章常見算法

十種常見排序算法可以分為兩大類:

非線性時間比較類排序:通過比較來決定元素間的相對次序,由于其時間復雜度不能突破O(nlogn),因此稱為非線性時間比較類排序。

線性時間非比較類排序:不通過比較來決定元素間的相對次序,它可以突破基于比較排序的時間下界,以線性時間運行,因此稱為線性時間非比較類排序。


算法優(yōu)劣評價術語

穩(wěn)定性:

穩(wěn)定:如果 a 原本在 b 前面,而 a = b,排序之后 a 仍然在 b 的前面;

不穩(wěn)定:如果 a 原本在 b 的前面,而 a = b,排序之后 a 可能會出現(xiàn)在 b 的后面;

排序方式:

內(nèi)排序:所有排序操作都在內(nèi)存中完成,占用常數(shù)內(nèi)存,不占用額外內(nèi)存。

外排序:由于數(shù)據(jù)太大,因此把數(shù)據(jù)放在磁盤中,而排序通過磁盤和內(nèi)存的數(shù)據(jù)傳輸才能進行,占用額外內(nèi)存。

復雜度:

時間復雜度: 一個算法執(zhí)行所耗費的時間。

空間復雜度: 運行完一個程序所需內(nèi)存的大小。



至于各種算法的原理以及代碼實現(xiàn),由于太多并且比較復雜,不在本文列出。但推薦兩本入門的書:《啊哈!算法》、《大話數(shù)據(jù)結構》。電子版我會發(fā)在交流群里。

排序算法很多,嵌入式要求的不會太多,你會冒泡排序、快速排序、插入排序就可以解決很多問題。難的比如動態(tài)規(guī)劃問題,圖的路徑問題,嵌入式考的比較少,純軟才會考這些。(大公司和獨角獸公司考的會相對難一些)

 

責任編輯:姜華 來源: 嵌入式Linux系統(tǒng)開發(fā)
相關推薦

2021-01-14 10:24:33

嵌入式筆試面試

2021-01-21 08:00:50

嵌入式筆試面試

2021-01-22 07:17:14

嵌入式筆試面試

2021-01-20 07:28:34

嵌入式筆試面試

2021-01-15 07:49:01

嵌入式筆試面試

2021-02-25 16:26:35

嵌入式筆試面試

2011-05-19 16:30:38

軟件測試

2018-03-08 18:40:47

Java百度面試題

2021-10-27 11:00:30

C++語言面試

2009-06-18 15:45:55

J2ee筆試

2009-05-14 09:28:16

嵌入式面試求職

2009-08-01 23:17:19

ASP.NET面試題目ASP.NET

2011-01-14 13:13:23

嵌入式Linux開發(fā)

2020-06-04 14:40:40

面試題Vue前端

2009-08-01 22:47:13

ASP.NET筆試題目ASP.NET

2013-11-26 13:54:00

AMD嵌入式

2013-08-01 17:42:08

AMD嵌入式SOC產(chǎn)品

2011-03-24 13:27:37

SQL

2023-11-13 07:37:36

JS面試題線程

2021-06-04 14:38:12

網(wǎng)絡通信TCP揮手
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品国产亚洲一区二区 | 最新国产精品 | 欧美在线一区二区三区 | 天天天天天操 | 午夜影院官网 | 欧美一级大片免费看 | 久久精品视频免费观看 | 在线一区 | 国产欧美在线一区 | 欧美高清视频 | 久久躁日日躁aaaaxxxx | 欧美日韩国产传媒 | 国产日韩一区 | 黄色免费网站在线看 | 日本一区二区三区在线观看 | 国产欧美精品区一区二区三区 | 国产日韩91| 99精品欧美一区二区三区综合在线 | 日韩成人在线播放 | 精品视频一区二区 | 九九久久国产 | 国产在线拍偷自揄拍视频 | 在线亚洲电影 | 中文字幕不卡视频在线观看 | 国产激情一区二区三区 | 国产成人综合一区二区三区 | 亚洲成人免费视频 | 亚洲国产日韩一区 | 丁香婷婷久久久综合精品国产 | av在线三级 | 在线精品一区二区 | 国产成人一区二 | 综合网在线 | 亚洲天天| 国产一二区免费视频 | 女人夜夜春 | 欧美成人精品二区三区99精品 | 欧美日韩一区二区三区在线观看 | 欧美一级欧美三级在线观看 | 久久久久久网站 | 中文在线一区 |