日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

第四次的面试 C++ 面试 (迷茫) + (复习知识点)

發(fā)布時間:2024/3/7 c/c++ 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第四次的面试 C++ 面试 (迷茫) + (复习知识点) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.請你說說 TCP 和 UDP 的區(qū)別

1.TCP是面向?qū)ο筮B接;而UDP是無面向?qū)ο筮B接

2.TCP確保所傳輸?shù)臄?shù)據(jù)一定會到達目的地,但時間卻不能保證;而UDP不確保數(shù)據(jù)會按原來順序到達,但具有實時性

3.TCP的使用場景是不在意傳輸數(shù)據(jù)速度,但在意傳輸數(shù)據(jù)準確;而UDP的使用場景則是對實時性要求較高

4.TCP的首部開銷大,占用20字節(jié);而UDP的首部開銷小,只占用8個字節(jié)

5.TCP只支持點對點的數(shù)據(jù)傳輸;而UDP支持一對一、一對多、多對多等各種場景

6.TCP有擁塞控制和流量控制來確保數(shù)據(jù)的安全性,但如果網(wǎng)絡擁塞的話,速度會比較慢;UDP即使在網(wǎng)絡擁塞的時候,傳輸速度也不會慢


2.請你說說 TCP 三次握手四次揮手過程

tcp的三次揮手:的作用是保證 通信雙方都能夠正常的收發(fā)信息;三次握手的發(fā)生階段是在客戶端連接服務器的connect階段開始的.

1.首先客戶端發(fā)送一個syn=1,ack給服務器,

2.服務器接收到之后將ack+1,syn=1,ACK包給客戶端

3.客戶端在將ACK+1,ack +1包發(fā)送給服務器,這樣服務器收到之后就能夠,服務器客戶端就能夠雙方都知道可以相互通信,三次握手完成可以開始傳輸數(shù)據(jù)。

tcp的四次揮手:的作用是將服務器和客戶端的連接安全的斷開,四次揮手是發(fā)生在客戶端或者服務器斷開連接的時候.

4.客戶端向服務器發(fā)送一個fin=1,ack包,

5.服務器收到之后將ack+1包發(fā)送給客戶端,

6.這時候,服務器會講傳輸?shù)臄?shù)據(jù)傳輸完,之后再發(fā)一個fin的包給客戶端,

7.客戶端收到之后發(fā)送一個ACK=1,ack+1包給服務器,這樣四次揮手就完成了,服務器和客戶端雙方都斷開了鏈接。


3.請你說說 GET 和 POST 的區(qū)別

GET方法是向服務器請求數(shù)據(jù)的,而POST方法是向服務器上傳數(shù)據(jù)的

1.最明顯的功能用途不同,GET用于查詢/獲取數(shù)據(jù),POST用于提交或修改數(shù)據(jù)

2.GET有長度限制(2048字節(jié)),POST沒有長度限制

3.GET的參數(shù)會附在url之后,以?分隔url和傳輸?shù)臄?shù)據(jù),而POST的內(nèi)容會放在請求體之中。 4.GET是明文傳輸,可以直接在url中看到信息,而POST傳輸?shù)臄?shù)據(jù)無法直接看到

5.GET請求會保存在瀏覽器歷史記錄中,會被瀏覽器主動緩存,而post不會,除非手動設置

6.GET請求的參數(shù)類型只接受ASCII字符,而Post沒有限制

7.get在瀏覽器回退時是無害的,而post會再次提交請求。


4.簡述一下 C++ 中的多態(tài)

C++中的多態(tài)分為兩種,靜態(tài)多態(tài)和動態(tài)多態(tài)。

靜態(tài)多態(tài)一般是在編譯時實現(xiàn),主要有函數(shù)重載,運算符重載和泛型編程。

動態(tài)多態(tài)一般是運行時實現(xiàn),主要有虛函數(shù)的實現(xiàn)

1.靜態(tài)多態(tài)有函數(shù)重載,運算符重載等,是在編譯階段就確認了函數(shù)地址,編譯器會根據(jù)實參類型來選擇調(diào)用合適的函數(shù);

2.動態(tài)多態(tài)在程序運行階段確認函數(shù)地址,通過派生類和虛函數(shù)實現(xiàn)運行時的多態(tài),

在運行時,通過基類指針或者引用指向的對象來確認應該調(diào)用哪個類的虛函數(shù),當父類指針(引用)指向的是父類,則調(diào)用父類函數(shù),當指向的是子類則調(diào)用子類的函數(shù).

3.實現(xiàn)動態(tài)多態(tài)的條件:要有繼承關系以及虛函數(shù)重寫(virtual),父類指針(引用)指向子類對象

4.動態(tài)多態(tài)實現(xiàn)原理:當類中聲明虛函數(shù)時,編譯器會在類中生成一個虛函數(shù)表,這個虛函數(shù)表由編譯器自己維護;存在虛函數(shù)時,每一個對象都有一個指向虛函數(shù)表的指針,多態(tài)條用時虛函數(shù)指針會根據(jù)這個對象對應類的虛函數(shù)找到被調(diào)用函數(shù)入口.


5.請你介紹一下死鎖,產(chǎn)生的必要條件,產(chǎn)生的原因,怎么預防死鎖

1.死鎖的概念以及產(chǎn)生條件:死鎖是兩個或兩個以上的進程之間由于競爭現(xiàn)象而導致進程都不能繼續(xù)執(zhí)行的現(xiàn)象。

2.產(chǎn)生死鎖的三個必要條件是互斥、不搶占和占有并等待,這些條件都具備只是有可能會造成死鎖,只有第四個條件循環(huán)等待也具備的時候才會必然出現(xiàn)死鎖。

3.如何避免:

破壞不可搶占條件(可以讓優(yōu)先級高的進程搶占優(yōu)先級低的進程的資源)、

破壞請求與保持條件(當進程申請不到自己所需要的的資源時,必須釋放掉自己所持有的資源)

破壞循環(huán)等待條件(進程只能往前申請資源,不能往后申請資源)

如何預防:有序資源分配法、銀行家算法.


6.請你說說 MySQL 索引,以及它們的好處和壞處

1.索引是對數(shù)據(jù)庫表中的一列或多列的值,進行排序的一種結(jié)構(gòu) ,使用索引可以快速訪問數(shù)據(jù)庫表中的特定信息,是加快數(shù)據(jù)庫查詢的技術。

2.索引好處:可以避免全表掃描,確保索引數(shù)據(jù)的唯一性,提升數(shù)據(jù)庫查詢性能。

3.索引壞處:創(chuàng)建和維護索引需要消耗時間,占用物理空間,當表中數(shù)據(jù)增加、刪除和修改時,索引需要動態(tài)維護,降低了數(shù)據(jù)的維護速度。


7.簡述一下什么是面向?qū)ο?/strong>

面向?qū)ο蟮娜笏枷?#xff1a;

1.封裝:將客觀事物進行抽象,將其屬性和方法合成為一個類,類封裝了成員變量和成員函數(shù),同時又實現(xiàn)對屬性和方法的權限控制,降低與外界的耦合度.

2.繼承:子類繼承父類的各種屬性和方法,同時子類還可以在父類的基礎上重新定義和擴展父類的屬性和方法,使其具有不同的功能,繼承提高了代碼的復用性及可維護性.

3.多態(tài):同一調(diào)用語句在父類和子類間使用時具有不同的表現(xiàn)形式,可以使用同一段代碼處理不同類型的對象,提高代碼的復用性.


8.說一說進程通信的方式有哪些?

1.管道

2.消息隊列

3.共享內(nèi)存

4.信號量

5.套接字

6.信號、

一個鏈接:

系統(tǒng)編程__She001的博客-CSDN博客


9.請你說說進程和線程的區(qū)別

?1. 進程有獨立的地址空間,線程有自己的堆棧和局部變量,但線程之間沒有單獨的地址空間;

2. 進程和線程切換時,需要切換進程和線程的上下文,進程的上下文切換時間開銷遠遠大于線程上下文切換時間,耗費資源較大,效率要差一些;

3. 進程的并發(fā)性較低,線程的并發(fā)性較高;

4. 每個獨立的進程有一個程序運行的入口、順序執(zhí)行序列和程序的出口,但是線程不能夠獨立執(zhí)行,必須依存在應用程序中,由應用程序提供多個線程執(zhí)行控制;

5. 系統(tǒng)在運行的時候會為每個進程分配不同的內(nèi)存空間;而對線程而言,除了 CPU 外,系統(tǒng)不會為線程分配內(nèi)存(線程所使用的資源來自其所屬進程的資源),線程組之間只能共享資源;

6. 一個進程崩潰后,在保護模式下不會對其他進程產(chǎn)生影響,但是一個線程崩潰整個進程都死掉。所以多進程要比多線程健壯。


10.說一說 epoll 的原理

得分點 epoll_create、epoll_ctrl、epoll_wt、紅黑樹、雙向鏈表、epoll的兩種工作模式 標準回答 epoll 是一種更加高效的 IO 復用技術,epoll 的使用步驟及原理如下:?

1. 調(diào)用 epoll_create() 會在內(nèi)核中創(chuàng)建一個 eventpoll 結(jié)構(gòu)體數(shù)據(jù),稱之為 epoll 對象,在這個結(jié)構(gòu)體中有 2 個比較重要的數(shù)據(jù)成員,一個是需要檢測的文件描述符的信息 struct_root rbr(紅黑樹),還有一個是就緒列表struct list_head rdlist,存放檢測到數(shù)據(jù)發(fā)送改變的文件描述符信息(雙向鏈表);

?2. 調(diào)用 epoll_ctrl() 可以向 epoll 對象中添加、刪除、修改要監(jiān)聽的文件描述符及事件;?

3. 調(diào)用 epoll_wt() 可以讓內(nèi)核去檢測就緒的事件,并將就緒的事件放到就緒列表中并返回,通過返回的事件數(shù)組做進一步的事件處理。 epoll 的兩種工作模式:

?1. LT 模式(水平觸發(fā)) LT(Level - Triggered)是缺省的工作方式,并且同時支持 Block 和 Nonblock Socket。在這種做法中,內(nèi)核檢測到一個文件描述符就緒了,然后可以對這個就緒的 fd 進行 IO 操作,如果不作任何操作,內(nèi)核還是會繼續(xù)通知。?

2. ET 模式(邊沿觸發(fā)) ET(Edge - Triggered)是高速工作方式,只支持 Nonblock socket。在這種模式下,當描述符從未就緒變?yōu)榫途w時,內(nèi)核通過 epoll 檢測到。然后它會假設你知道文件描述符已經(jīng)就緒,并且不會再為那個文件描述符發(fā)送更多的就緒通知,直到你做了某些操作導致那個文件描述符不再為就緒狀態(tài)了。但是請注意,如果一直不對這個 fd 進行 IO 操作(從而導致它再次變成未就緒),內(nèi)核不會發(fā)送更多的通知(only once)。 ET 模式在很大程度上減少了 epoll 事件被重復觸發(fā)的次數(shù),因此效率要比 LT 模式高。epoll 工作在 ET 模式的時候,必須使用非阻塞套接口,以避免由于一個文件描述符的阻塞讀/阻塞寫操作把處理多個文件描述符的任務餓死。


11.瀏覽器從輸入 URL 開始到頁面顯示內(nèi)容,中間發(fā)生了什么?

1.輸入地址,瀏覽器查找域名的 IP 地址。
2.瀏覽器向 該 IP 地址的web 服務器發(fā)送一個 HTTP 請求,在發(fā)送請求之前瀏覽器和服務器建立TCP的三次握手,判斷是否是HTTP緩存,如果是強制緩存且在有效期內(nèi),不再向服務器發(fā)請求,如果是HTTP協(xié)商緩存向后端發(fā)送請求且和后端服務器對比,在有效期內(nèi),服務器返回304,直接從瀏覽器獲取數(shù)據(jù),如果不在有效期內(nèi)服務器返回200,返回新數(shù)據(jù)。

3.請求發(fā)送出去服務器返回重定向,瀏覽器再按照重定向的地址重新發(fā)送請求。
4.如果請求的參數(shù)有問題,服務器端返回404,如果服務器端掛了返回500。
5.如果有數(shù)據(jù)一切正常,當瀏覽器拿到服務器的數(shù)據(jù)之后,開始渲染頁面同時獲取HTML頁面中圖片、音頻、視頻、CSS、JS,在這期間獲取到JS文件之后,會直接執(zhí)行JS代碼,阻塞瀏覽器渲染,因為渲染引擎和JS引擎互斥,不能同時工作,所以通常把Script標簽放在body標簽的底部。

6.渲染過程就是先將HTML轉(zhuǎn)換成dom樹,再將CSS樣式轉(zhuǎn)換成stylesheet,根據(jù)dom樹和stylesheet創(chuàng)建布局樹,對布局樹進行分層,為每個圖層生成繪制列表,再將圖層分成圖塊,緊接著光柵化將圖塊轉(zhuǎn)換成位圖,最后合成繪制生成頁面。


12.請你說說 HTTP 狀態(tài)碼及其含義

?標準回答 HTTP狀態(tài)碼有:

1xx代表服務器端已經(jīng)接受了請求。

2xx代表請求已經(jīng)被服務器端成功接收,最常見的有200、201狀態(tài)碼。

3xx代表路徑被服務器端重定向到了一個新的URL,最常見的有301、302狀態(tài)碼。

4xx代表客戶端的請求發(fā)生了錯誤,最常見的有401、404狀態(tài)碼。

5xx代表服務器端的響應出現(xiàn)了錯誤。

加分回答 - 1xx:指定客戶端相應的某些動作,代表請求已被接受,需要繼續(xù)處理。由于 HTTP/1.0 協(xié)議中沒有定義任何 1xx 狀態(tài)碼,所以除非在某些試驗條件下,服務器禁止向此類客戶端發(fā)送 1xx 響應。 - 2xx:代表請求已成功被服務器接收、理解、并接受。這系列中最常見的有200、201狀態(tài)碼。 - 200(成功):服務器已成功處理了請求。 通常,這表示服務器提供了請求的網(wǎng)頁。 - 201(已創(chuàng)建):請求成功并且服務器創(chuàng)建了新的資源。 - 202(已接受):服務器已接受請求,但尚未處理。 - 203(非授權信息):服務器已成功處理了請求,但返回的信息可能來自另一來源。 - 204(無內(nèi)容):服務器成功處理了請求,但沒有返回任何內(nèi)容。 - 205(重置內(nèi)容):服務器成功處理了請求,但沒有返回任何內(nèi)容。 - 206(部分內(nèi)容):服務器成功處理了部分 GET 請求。 - 3xx:代表需要客戶端采取進一步的操作才能完成請求,這些狀態(tài)碼用來重定向,后續(xù)的請求地址(重定向目標)在響應頭Location字段中指明。這系列中最常見的有301、302狀態(tài)碼。 - 300(多種選擇):針對請求,服務器可執(zhí)行多種操作。 服務器可根據(jù)請求者 (user agent) 選擇一項操作,或提供操作列表供請求者選擇。 - 301(永久移動):請求的網(wǎng)頁已永久移動到新位置。 服務器返回此響應(對 GET 或 HEAD 請求的響應)時,會自動將請求者轉(zhuǎn)到新位置。 - 302(臨時移動):服務器目前從不同位置的網(wǎng)頁響應請求,但請求者應繼續(xù)使用原有位置來進行以后的請求。 - 303(查看其他位置):請求者應當對不同的位置使用單獨的 GET 請求來檢索響應時,服務器返回此代碼。 - 304(未修改):自從上次請求后,請求的網(wǎng)頁未修改過。 服務器返回此響應時,不會返回網(wǎng)頁內(nèi)容。 - 305(使用代理):請求者只能使用代理訪問請求的網(wǎng)頁。 如果服務器返回此響應,還表示請求者應使用代理。 - 307(臨時重定向):服務器目前從不同位置的網(wǎng)頁響應請求,但請求者應繼續(xù)使用原有位置來進行以后的請求。 - 4xx:表示請求錯誤。代表了客戶端看起來可能發(fā)生了錯誤,妨礙了服務器的處理。常見有:401、404狀態(tài)碼。 - 400(錯誤請求):服務器不理解請求的語法。 - 401(未授權):請求要求身份驗證。 對于需要登錄的網(wǎng)頁,服務器可能返回此響應。 - 403(禁止):服務器拒絕請求。 - 404(未找到):服務器找不到請求的網(wǎng)頁。 - 405(方法禁用):禁用請求中指定的方法。 - 406(不接受):無法使用請求的內(nèi)容特性響應請求的網(wǎng)頁。 - 407(需要代理授權):此狀態(tài)代碼與 401(未授權)類似,但指定請求者應當授權使用代理。 - 408(請求超時):服務器等候請求時發(fā)生超時。 - 409(沖突):服務器在完成請求時發(fā)生沖突。 服務器必須在響應中包含有關沖突的信息。 - 410(已刪除):如果請求的資源已永久刪除,服務器就會返回此響應。 - 411(需要有效長度):服務器不接受不含有效內(nèi)容長度標頭字段的請求。 - 412(未滿足前提條件):服務器未滿足請求者在請求中設置的其中一個前提條件。 - 413(請求實體過大):服務器無法處理請求,因為請求實體過大,超出服務器的處理能力。 - 414(請求的 URI 過長):請求的 URI(通常為網(wǎng)址)過長,服務器無法處理。 - 415(不支持的媒體類型):請求的格式不受請求頁面的支持。 - 416(請求范圍不符合要求):如果頁面無法提供請求的范圍,則服務器會返回此狀態(tài)代碼。 - 417 (未滿足期望值):服務器未滿足"期望"請求標頭字段的要求。 - 5xx:代表了服務器在處理請求的過程中有錯誤或者異常狀態(tài)發(fā)生,也有可能是服務器意識到以當前的軟硬件資源無法完成對請求的處理。常見有500、503狀態(tài)碼。 - 500(服務器內(nèi)部錯誤):服務器遇到錯誤,無法完成請求。 - 501(尚未實施):服務器不具備完成請求的功能。 例如,服務器無法識別請求方法時可能會返回此代碼。 - 502(錯誤網(wǎng)關):服務器作為網(wǎng)關或代理,從上游服務器收到無效響應。 - 503(服務不可用):服務器目前無法使用(由于超載或停機維護)。 通常,這只是暫時狀態(tài)。 - 504(網(wǎng)關超時):服務器作為網(wǎng)關或代理,但是沒有及時從上游服務器收到請求。 - 505(HTTP 版本不受支持):服務器不支持請求中所用的 HTTP 協(xié)議版本。


?13.說一說常用的 Linux 命令

常用的 Linux 命令有:

1.? cd:切換當前目錄

2.? ls:查看當前文件與目錄

3.? grep:通常與管道命令一起使用,用于對一些命令的輸出進行篩選加工

4.? cp:復制文件或文件夾

5.? mv:移動文件或文件夾

6.? rm:刪除文件或文件夾

7.? ps:查看進程情況

8.? kill:向進程發(fā)送信號

9.? tar:對文件進行打包

10.? cat:查看文件內(nèi)容

11.? top:查看操作系統(tǒng)的信息,如進程、CPU占用率、內(nèi)存信息等(實時)

12.? free:查看內(nèi)存使用情況

13.? pwd:顯示當前工作目錄


14.請你說說 HTTP 和 HTTPS 的區(qū)別

1.由于HTTP簡單快速的特性,當客戶端向服務器端請求數(shù)據(jù)的時候,只需要傳送請求方法和路徑就可以取到結(jié)果,基于TCP,默認端口號為80,耗時可以簡略計算為1RTT,傳遞的數(shù)據(jù)全部是明文傳輸,幾乎沒有安全性。 HTTPS是基于TLS的,而TLS又基于TCP,當客戶端向服務器端請求數(shù)據(jù)的時候,服務器大概率會將客戶端重定向到該服務器的443端口,進行新的TCP連接,此時服務器會返回一個證書文件,而不是響應報文體。此時客戶端驗證證書文件緊接創(chuàng)建對稱密鑰,之后重新和服務器建立TLS連接,當服務器返回ACK確認之后,連接正式建立,此時上方整個過程耗時為3RTT,并且之后和服務器的通信數(shù)據(jù)都是通過對稱密鑰加密過的,幾乎無法破解。

HTTP和HTTPS的不同點總結(jié)如下:?

1.? ?HTTP是基于TCP的,而HTTPS是基于TLS的 - HTTP的往返時間為1RTT,而HTTPS的往返時間為3RTT

2.? ?HTTP只需要創(chuàng)建一次TCP連接,而HTTPS需要創(chuàng)建兩次TCP連接

3.? HTTP的默認端口號為80,而HTTPS的默認端口號為443

4.? ?HTTP的安全性很差,而HTTPS的安全性很強 。加分回答 HTTPS雖然在安全方面有很大的優(yōu)勢,但是缺點也很明顯,如下: - HTTPS握手階段耗費時間,幾乎是HTTP的數(shù)倍,會延長頁面的首次繪制時間和增加耗電 - HTTPS的效率沒有HTTP高,如果部分數(shù)據(jù)內(nèi)容實際上并不需要加密,會平白浪費計算機資源 - HTTPS的證書需要購買,功能越強大的證書價格更高 - HTTPS的加密并不能阻止某些網(wǎng)絡攻擊,如黑客攻擊、拒絕服務攻擊等。


15.簡述一下淺拷貝和深拷貝? (類里面的構(gòu)造函數(shù))

1. 淺拷貝 淺拷貝又稱為值拷貝,將源對象的值拷貝到目標對象中,如果對象中有某個成員是指針類型數(shù)據(jù),并且是在堆區(qū)創(chuàng)建,則使用淺拷貝僅僅拷貝的是這個指針變量的值,也就是在目標對象中該指針類型數(shù)據(jù)和源對象中的該成員指向的是同一塊堆空間。這樣會帶來一個問題,就是在析構(gòu)函數(shù)中釋放該堆區(qū)數(shù)據(jù),會被釋放多次。默認的拷貝構(gòu)造函數(shù)和默認的賦值運算符重載函數(shù)都是淺拷貝。

?2. 深拷貝 深拷貝在拷貝的時候先開辟出和源對象大小一樣的空間,然后將源對象里的內(nèi)容拷貝到目標對象中去,這樣指針成員就指向了不同的內(nèi)存位置。并且里面的內(nèi)容是一樣的,這樣不但達到了拷貝的目的,還不會出現(xiàn)問題,兩個對象先后去調(diào)用析構(gòu)函數(shù),分別釋放自己指針成員所指向的內(nèi)存。即為每次增加一個指針,便申請一塊新的內(nèi)存,并讓這個指針指向新的內(nèi)存,深拷貝情況下,不會出現(xiàn)重復釋放同一塊內(nèi)存的錯誤。


16.請你說說三種智能指針實現(xiàn)原理和使用場景,以及其線程安全

?1. 智能指針實現(xiàn)原理 建立所有權(ownership)概念,對于特定的對象,只能有一個智能指針可擁有它,這樣只有擁有對象的智能指針的析構(gòu)函數(shù)會刪除該對象。然后,讓賦值操作轉(zhuǎn)讓所有權。這就是用于 auto_ptr 和 unique_ptr 的策略,但 unique_ptr 的策略更嚴格,unique_ptr 能夠在編譯期識別錯誤。 跟蹤引用特定對象的智能指針計數(shù),這稱為引用計數(shù)(reference counting)。例如,賦值時,計數(shù)將加 1,而指針過期時,計數(shù)將減 1. 僅當最后一個指針過期時,才調(diào)用 delete。這是 shared_ptr 采用的策略。

?2. 使用場景 如果程序要使用多個指向同一個對象的指針,應該選擇 shared_ptr; 如果程序不需要多個指向同一個對象的指針,則可以使用 unique_ptr; 如果使用 new [] 分配內(nèi)存,應該選擇 unique_ptr; 如果函數(shù)使用 new 分配內(nèi)存,并返回指向該內(nèi)存的指針,將其返回類型聲明為 unique_ptr 是不錯的選擇。

?3. 線程安全 shared_ptr 智能指針的引用計數(shù)在手段上使用了 atomic 原子操作,只要 shared_ptr 在拷貝或賦值時增加引用,析構(gòu)時減少引用就可以了。首先原子是線程安全的,所有 shared_ptr 智能指針在多線程下引用計數(shù)也是安全的,也就是說 shared_ptr 智能指針在多線程下傳遞使用時引用計數(shù)是不會有線程安全問題的。 但是指向?qū)ο蟮闹羔槻皇蔷€程安全的,使用 shared_ptr 智能指針訪問資源不是線程安全的,需要手動加鎖解鎖。智能指針的拷貝也不是線程安全的。


17.請你說說 TCP 如何實現(xiàn)可靠傳輸? ?和UDP 怎么樣可以實現(xiàn)可靠的傳輸?

TCP部分

可靠傳輸就是通過TCP連接傳送的數(shù)據(jù)是沒有差錯、不會丟失、不重復并且按序到達的。TCP是通過序列號、檢驗和、確認應答信號、重發(fā)機制、連接管理、窗口控制、流量控制、擁塞控制一起保證TCP傳輸?shù)目煽啃缘摹?/p>

可靠傳輸?shù)木唧w實現(xiàn)是:

1.應用層的數(shù)據(jù)會被分割成TCP認為最適合發(fā)送的數(shù)據(jù)塊。

2.序列號:TCP給發(fā)送的每一個包都進行編號,接收方對數(shù)據(jù)包進行排序,把有序數(shù)據(jù)傳送給應用層,TCP的接收端會丟棄重復的數(shù)據(jù)。

3. 檢驗和:TCP將保持它首部和數(shù)據(jù)的檢驗和。這是一個端到端的檢驗和,目的是檢測數(shù)據(jù)在傳輸過程中的任何變化。

4.確認應答:如果收到的數(shù)據(jù)報報文段的檢驗和沒有差錯,就確認收到,如果有差錯,TCP就丟棄這個報文段和不確認收到此報文段。

5. 流量控制:TCP 連接的每一方都有固定大小的緩沖空間,TCP的接收端只允許發(fā)送端發(fā)送接收端緩沖區(qū)能接納的數(shù)據(jù)。當接收方來不及處理發(fā)送方的數(shù)據(jù),能提示發(fā)送方降低發(fā)送的速率,防止包丟失。TCP 使用的流量控制協(xié)議是可變大小的滑動窗口協(xié)議。

6.擁塞控制:當網(wǎng)絡擁塞時,減少數(shù)據(jù)的發(fā)送。

7. 停止等待協(xié)議:它的基本原理就是每發(fā)完一個分組就停止發(fā)送,等待對方確認。在收到確認后再發(fā)下一個分組。

8.超時重傳: 當 TCP 發(fā)出一個段后,它啟動一個定時器,等待目的端確認收到這個報文段。如果不能及時收到一個確認,將重發(fā)這個報文段。

UDP 部分

UDP不是面向連接的協(xié)議,因此資源消耗小,處理速度快的優(yōu)點,所以通常音頻、視頻和普通數(shù)據(jù)在傳送時使用UDP較多,因為它們即使偶爾丟失一兩個數(shù)據(jù)包,也不會對接收結(jié)果產(chǎn)生太大影響。如果想要使用UDP還要保證數(shù)據(jù)的可靠傳輸,就只能通過應用層來做文章。實現(xiàn)的方式可以參考TCP的可靠傳輸機制,差別就是將TCP傳輸層功能,如確認機制、重傳功能、流量控制、擁塞控制等功能實現(xiàn)在了應用層。 加分回答 在應用層實現(xiàn)可靠傳輸關鍵點有兩個,從應用層角度考慮分別是:

?1. 提供超時重傳機制,能避免數(shù)據(jù)報丟失的問題。?

2. 提供確認序列號,保證數(shù)據(jù)拼接時候的正確排序。 請求端:首先在UDP數(shù)據(jù)報定義一個首部,首部包含確認序列號和時間戳,時間戳是用來計算RTT(數(shù)據(jù)報傳輸?shù)耐禃r間),計算出合適的RTO(重傳的超時時間)。然后以等-停的方式發(fā)送數(shù)據(jù)報,即收到對端的確認之后才發(fā)送下一個的數(shù)據(jù)報。當時間超時,本端重傳數(shù)據(jù)報,同時RTO擴大為原來的兩倍,重新開始計時。 響應端:接受到一個數(shù)據(jù)報之后取下該數(shù)據(jù)報首部的時間戳和確認序列號,并添加本端的確認數(shù)據(jù)報首部之后發(fā)送給對端。根據(jù)此序列號對已收到的數(shù)據(jù)報進行排序并丟棄重復的數(shù)據(jù)報。


18.請你介紹一下數(shù)據(jù)庫的 ACID (這是啥,沒有聽過)

?事務可由一條非常簡單的SQL語句組成,也可以由一組復雜的SQL語句組成。在事務中的操作,要么都執(zhí)行修改,要么都不執(zhí)行,這就是事務的目的,也是事務模型區(qū)別于文件系統(tǒng)的重要特征之一。 事務需遵循ACID四個特性:

?1.? ??A(atomicity),原子性。原子性指整個數(shù)據(jù)庫事務是不可分割的工作單位。只有使事務中所有的數(shù)據(jù)庫操作都執(zhí)行成功,整個事務的執(zhí)行才算成功。事務中任何一個SQL語句執(zhí)行失敗,那么已經(jīng)執(zhí)行成功的SQL語句也必須撤銷,數(shù)據(jù)庫狀態(tài)應該退回到執(zhí)行事務前的狀態(tài)。

2.? ???C(consistency),一致性。一致性指事務將數(shù)據(jù)庫從一種狀態(tài)轉(zhuǎn)變?yōu)榱硪环N一致的狀態(tài)。在事務開始之前和事務結(jié)束以后,數(shù)據(jù)庫的完整性約束沒有被破壞。

3.? ? I(isolation),隔離性。事務的隔離性要求每個讀寫事務的對象與其他事務的操作對象能相互分離,即該事務提交前對其他事務都不可見,這通常使用鎖來實現(xiàn)。 -

4.? ?D(durability) ,持久性。事務一旦提交,其結(jié)果就是永久性的,即使發(fā)生宕機等故障,數(shù)據(jù)庫也能將數(shù)據(jù)恢復。持久性保證的是事務系統(tǒng)的高可靠性,而不是高可用性。 加分回答 事務可以分為以下幾種類型:

- 扁平事務:是事務類型中最簡單的一種,而在實際生產(chǎn)環(huán)境中,這可能是使用最為頻繁的事務。在扁平事務中,所有操作都處于同一層次,其由BEGIN WORK開始,由COMMIT WORK或ROLLBACK WORK結(jié)束。處于之間的操作是原子的,要么都執(zhí)行,要么都回滾。

- 帶有保存點的扁平事務:除了支持扁平事務支持的操作外,允許在事務執(zhí)行過程中回滾到同一事務中較早的一個狀態(tài),這是因為可能某些事務在執(zhí)行過程中出現(xiàn)的錯誤并不會對所有的操作都無效,放棄整個事務不合乎要求,開銷也太大。保存點(savepoint)用來通知系統(tǒng)應該記住事務當前的狀態(tài),以便以后發(fā)生錯誤時,事務能回到該狀態(tài)。

- 鏈事務:可視為保存點模式的一個變種。鏈事務的思想是:在提交一個事務時,釋放不需要的數(shù)據(jù)對象,將必要的處理上下文隱式地傳給下一個要開始的事務。注意,提交事務操作和開始下一個事務操作將合并為一個原子操作。這意味著下一個事務將看到上一個事務的結(jié)果,就好像在一個事務中進行的。

- 嵌套事務:是一個層次結(jié)構(gòu)框架。有一個頂層事務(top-level transaction)控制著各個層次的事務。頂層事務之下嵌套的事務被稱為子事務(subtransaction),其控制每一個局部的變換。

- 分布式事務:通常是一個在分布式環(huán)境下運行的扁平事務,因此需要根據(jù)數(shù)據(jù)所在位置訪問網(wǎng)絡中的不同節(jié)點。對于分布式事務,同樣需要滿足ACID特性,要么都發(fā)生,要么都失效。 對于MySQL的InnoDB存儲引擎來說,它支持扁平事務、帶有保存點的扁平事務、鏈事務、分布式事務。對于嵌套事務,MySQL數(shù)據(jù)庫并不是原生的,因此對于有并行事務需求的用戶來說MySQL就無能為力了,但是用戶可以通過帶有保存點的事務來模擬串行的嵌套事務。


19.請你說說 C++11、C++14、C++17、?都有什么新特性

1. C++11 新特新 - static_assert 編譯時斷言 - 新增加類型 long long ,unsigned long long,char16_t,char32_t,原始字符串 - auto - decltype - 委托構(gòu)造函數(shù) - constexpr - 模板別名 - alignas - alignof - 原子操作庫 - nullptr - 顯示轉(zhuǎn)換運算符 - 繼承構(gòu)造函數(shù) - 變參數(shù)模板 - 列表初始化 - 右值引用 - Lambda 表達式 - override、final - unique_ptr、shared_ptr - initializer_list - array、unordered_map、unordered_set - 線程支持庫

2. C++14 新特新 - 二進制字面量 - 泛型 Lambda 表達式 - 帶初始化/泛化的 Lambda 捕獲 - 變量模板 - [[deprecated]]屬性 - std::make_unique - std::shared_timed_mutex、std::shared_lock - std::quoted - std::integer_sequence - std::exchange

3. C++17 新特新 - 構(gòu)造函數(shù)模板推導 - 結(jié)構(gòu)化綁定 - 內(nèi)聯(lián)變量 - 折疊表達式 - 字符串轉(zhuǎn)換 - std::shared_mutex 4. C++20 新特新 - 允許 Lambda 捕獲 [=, this] - 三路比較運算符 - char8_t - 立即函數(shù)(consteval) - 協(xié)程 - constinit


20.說一說進程有多少種狀態(tài),如何轉(zhuǎn)換

1. 進程有五種狀態(tài):創(chuàng)建、就緒、執(zhí)行、阻塞、終止:
- 創(chuàng)建:一個進程啟動,首先進入創(chuàng)建狀態(tài),需要獲取系統(tǒng)資源創(chuàng)建進程管理塊(PCB:Process Control Block)完成資源分配。


- 就緒狀態(tài):在創(chuàng)建狀態(tài)完成之后,進程已經(jīng)準備好,處于就緒狀態(tài),但是還未獲得處理器資源,無法運行。


- 運行狀態(tài):獲取處理器資源,被系統(tǒng)調(diào)度,當具有時間片開始進入運行狀態(tài)。如果進程的時間片用完了就進入就緒狀態(tài)。


- 阻塞狀態(tài):在運行狀態(tài)期間,如果進行了阻塞的操作,此時進程暫時無法操作就進入到了阻塞狀態(tài),在這些操作完成后就進入就緒狀態(tài)。等待再次獲取處理器資源,被系統(tǒng)調(diào)度,當具有時間片就進入運行狀態(tài)。


- 終止狀態(tài):進程結(jié)束或者被系統(tǒng)終止,進入終止狀態(tài)。


?21.說一說 select 的原理以及缺點

?select 是 一種 IO 多路復用技術,它的主旨思想是:

1. 首先要構(gòu)造一個關于文件描述符的列表,將要監(jiān)聽的文件描述符添加到該列表中,這個文件描述符的列表數(shù)據(jù)類型為 fd_set,它是一個整型數(shù)組,總共是 1024 個比特位,每一個比特位代表一個文件描述符的狀態(tài)。比如當需要 select 檢測時,這一位為 0 就表示不檢測對應的文件描述符的事件,為 1 表示檢測對應的文件描述符的事件。

2. 調(diào)用 select() 系統(tǒng)調(diào)用,監(jiān)聽該列表中的文件描述符的事件,這個函數(shù)是阻塞的,直到這些描述符中的一個或者多個進行 I/O 操作時,該函數(shù)才返回,并修改文件描述符的列表中對應的值,0 表示沒有檢測到該事件,1 表示檢測到該事件。函數(shù)對文件描述符的檢測的操作是由內(nèi)核完成的。

3. select() 返回時,會告訴進程有多少描述符要進行 I/O 操作,接下來遍歷文件描述符的列表進行 I/O 操作。

select 的缺點:

1. 每次調(diào)用select,都需要把 fd 集合從用戶態(tài)拷貝到內(nèi)核態(tài),這個開銷在 fd 很多時會很大;

2. 同時每次調(diào)用 select 都需要在內(nèi)核遍歷傳遞進來的所有 fd,這個開銷在 fd 很多時也很大;

3. select 支持的文件描述符數(shù)量太小了,默認是 1024(由 fd_set 決定);

4. 文件描述符集合不能重用,因為內(nèi)核每次檢測到事件都會修改,所以每次都需要重置;

5. 每次 select 返回后,只能知道有幾個 fd 發(fā)生了事件,但是具體哪幾個還需要遍歷文件描述符集合進一步判斷。


22.請你介紹一下 I/O 多路復用

?I/O 多路復用是一種使得程序能同時監(jiān)聽多個文件描述符的技術,從而提高程序的性能。I/O 多路復用能夠在單個線程中,通過監(jiān)視多個 I/O 流的狀態(tài)來同時管理多個 I/O 流,一旦檢測到某個文件描述符上我們關心的事件發(fā)生(就緒),能夠通知程序進行相應的處理(讀寫操作)。

Linux 下實現(xiàn) I/O 復用的系統(tǒng)調(diào)用主要有 select、poll 和 epoll。

1. select 的主旨思想: - 首先要構(gòu)造一個關于文件描述符的列表,將要監(jiān)聽的文件描述符添加到該列表中,這個文件描述符的列表數(shù)據(jù)類型為 fd_set,它是一個整型數(shù)組,總共是 1024 個比特位,每一個比特位代表一個文件描述符的狀態(tài)。比如當需要 select 檢測時,這一位為 0 就表示不檢測對應的文件描述符的事件,為 1 表示檢測對應的文件描述符的事件。 - 調(diào)用 select() 系統(tǒng)調(diào)用,監(jiān)聽該列表中的文件描述符的事件,這個函數(shù)是阻塞的,直到這些描述符中的一個或者多個進行 I/O 操作時,該函數(shù)才返回,并修改文件描述符的列表中對應的值,0 表示沒有檢測到該事件,1 表示檢測到該事件。函數(shù)對文件描述符的檢測的操作是由內(nèi)核完成的。 - select() 返回時,會告訴進程有多少描述符要進行 I/O 操作,接下來遍歷文件描述符的列表進行 I/O 操作。

select 的缺點:?

1. 每次調(diào)用select,都需要把 fd 集合從用戶態(tài)拷貝到內(nèi)核態(tài),這個開銷在 fd 很多時會很大;?

2. 同時每次調(diào)用 select 都需要在內(nèi)核遍歷傳遞進來的所有 fd,這個開銷在 fd 很多時也很大

3. select 支持的文件描述符數(shù)量太小了,默認是 1024(由 fd_set 決定);?

4. 文件描述符集合不能重用,因為內(nèi)核每次檢測到事件都會修改,所以每次都需要重置;?

5. 每次 select 返回后,只能知道有幾個 fd 發(fā)生了事件,但是具體哪幾個還需要遍歷文件描述符集合進一步判斷。

?2. poll poll 的原理和 select 類似,poll 支持的文件描述符沒有限制。

?3. epoll 是一種更加高效的 IO 復用技術,epoll 的使用步驟及原理如下: - 調(diào)用 epoll_create() 會在內(nèi)核中創(chuàng)建一個 eventpoll 結(jié)構(gòu)體數(shù)據(jù),稱之為 epoll 對象,在這個結(jié)構(gòu)體中有 2 個比較重要的數(shù)據(jù)成員,一個是需要檢測的文件描述符的信息 struct_root rbr(紅黑樹),還有一個是就緒列表struct list_head rdlist,存放檢測到數(shù)據(jù)發(fā)送改變的文件描述符信息(雙向鏈表); - 調(diào)用 epoll_ctrl() 可以向 epoll 對象中添加、刪除、修改要監(jiān)聽的文件描述符及事件; - 調(diào)用 epoll_wt() 可以讓內(nèi)核去檢測就緒的事件,并將就緒的事件放到就緒列表中并返回,通過返回的事件數(shù)組做進一步的事件處理。 epoll 的兩種工作模式: - LT 模式(水平觸發(fā)) LT(Level - Triggered)是缺省的工作方式,并且同時支持 Block 和 Nonblock Socket。在這種做法中,內(nèi)核檢測到一個文件描述符就緒了,然后可以對這個就緒的 fd 進行 IO 操作,如果不作任何操作,內(nèi)核還是會繼續(xù)通知。 - ET 模式(邊沿觸發(fā)) ET(Edge - Triggered)是高速工作方式,只支持 Nonblock socket。在這種模式下,當描述符從未就緒變?yōu)榫途w時,內(nèi)核通過 epoll 檢測到。然后它會假設你知道文件描述符已經(jīng)就緒,并且不會再為那個文件描述符發(fā)送更多的就緒通知,直到你做了某些操作導致那個文件描述符不再為就緒狀態(tài)了。但是請注意,如果一直不對這個 fd 進行 IO 操作(從而導致它再次變成未就緒),內(nèi)核不會發(fā)送更多的通知(only once)。 ET 模式在很大程度上減少了 epoll 事件被重復觸發(fā)的次數(shù),因此效率要比 LT 模式高。epoll 工作在 ET 模式的時候,必須使用非阻塞套接口,以避免由于一個文件描述符的阻塞讀/阻塞寫操作把處理多個文件描述符的任務餓死。


23.請你說說 new 的實現(xiàn)原理,new 和 malloc 的區(qū)別

?1. new 的實現(xiàn)原理: 如果是簡單類型,則直接調(diào)用 operator new(),在 operator new() 函數(shù)中會調(diào)用 malloc() 函數(shù),如果調(diào)用 malloc() 失敗會調(diào)用 _callnewh(),如果 _callnewh() 返回 0 則拋出 bac_alloc 異常,返回非零則繼續(xù)分配內(nèi)存。 如果是復雜類型,先調(diào)用 operator new()函數(shù),然后在分配的內(nèi)存上調(diào)用構(gòu)造函數(shù)。

2. new 和 malloc 的區(qū)別 - new 是操作符,而 malloc 是函數(shù);

?3. 使用 new 操作符申請內(nèi)存分配時無須指定內(nèi)存塊的大小,編譯器會根據(jù)類型信息自行計算,而 malloc 則需要顯式地指出所需內(nèi)存的尺寸;

4.? new 分配失敗的時候會直接拋出異常,malloc 分配失敗會返回 NULL;

?5. 對于非簡單類型,new 在分配內(nèi)存后,會調(diào)用構(gòu)造函數(shù),而 malloc 不會;

6. new 分配成功后會返回對應類型的指針,而 malloc 分配成功后會返回 void * 類型;

?7. malloc 可以分配任意字節(jié),new 只能分配實例所占內(nèi)存的整數(shù)倍數(shù)大小;

?8. new 可以被重載,而 malloc 不能被重載;

?9. new 操作符從自由存儲區(qū)上分配內(nèi)存空間,而 malloc 從堆上動態(tài)分配內(nèi)存;

?10. 使用 malloc 分配的內(nèi)存后,如果在使用過程中發(fā)現(xiàn)內(nèi)存不足,可以使用 realloc 函數(shù)進行內(nèi)存重新分配實現(xiàn)內(nèi)存的擴充,new 沒有這樣直觀的配套設施來擴充內(nèi)存。


24.說一說 STL 中有哪些常見的容器

?STL 中容器分為順序容器、關聯(lián)式容器、容器適配器三種類型,

三種類型容器特性分別如下: 1. 順序容器 容器并非排序的,元素的插入位置同元素的值無關,包含 vector、deque、list。

- vector:動態(tài)數(shù)組 元素在內(nèi)存連續(xù)存放。隨機存取任何元素都能在常數(shù)時間完成。在尾端增刪元素具有較佳的性能。

- deque:雙向隊列 元素在內(nèi)存連續(xù)存放。隨機存取任何元素都能在常數(shù)時間完成(僅次于 vector )。在兩端增刪元素具有較佳的性能(大部分情況下是常數(shù)時間)。

- list:雙向鏈表 元素在內(nèi)存不連續(xù)存放。在任何位置增刪元素都能在常數(shù)時間完成。不支持隨機存取。

2. 關聯(lián)式容器 元素是排序的;插入任何元素,都按相應的排序規(guī)則來確定其位置;在查找時具有非常好的性能;通常以平衡二叉樹的方式實現(xiàn),包含set、multiset、map、multimap

?- set/multiset set中不允許相同元素,multiset 中允許存在相同元素。

- map/multimap map 與 set 的不同在于 map 中存放的元素有且僅有兩個成員變,一個名為 first,另一個名為 second,map 根據(jù) first 值對元素從小到大排序,并可快速地根據(jù) first 來檢索元素。map 和multimap 的不同在于是否允許相同 first 值的元素。

3. 容器適配器 封裝了一些基本的容器,使之具備了新的函數(shù)功能,包含 stack,queue,priority_queue。

- stack:棧 棧是項的有限序列,并滿足序列中被刪除、檢索和修改的項只能是最進插入序列的項(棧頂?shù)捻?#xff09;,后進先出

?- queue:隊列 插入只可以在尾部進行,刪除、檢索和修改只允許從頭部進行,先進先出。

- priority_queue:優(yōu)先級隊列 內(nèi)部維持某種有序,然后確保優(yōu)先級最高的元素總是位于頭部,最高優(yōu)先級元素總是第一個出列。


25.STL 容器用過哪些,查找的時間復雜度是多少,為什么?

STL 中常用的容器有 vector、deque、list、map、set、multimap、multiset、unordered_map、unordered_set 等。容器底層實現(xiàn)方式及時間復雜度分別如下:

?1. vector 采用一維數(shù)組實現(xiàn),元素在內(nèi)存連續(xù)存放,不同操作的時間復雜度為: 插入: O(N) 查看: O(1) 刪除: O(N)

2. deque 采用雙向隊列實現(xiàn),元素在內(nèi)存連續(xù)存放,不同操作的時間復雜度為: 插入: O(N) 查看: O(1) 刪除: O(N)

3. list 采用雙向鏈表實現(xiàn),元素存放在堆中,不同操作的時間復雜度為: 插入: O(1) 查看: O(N) 刪除: O(1)

4. map、set、multimap、multiset 上述四種容器采用紅黑樹實現(xiàn),紅黑樹是平衡二叉樹的一種。不同操作的時間復雜度近似為: 插入: O(logN) 查看: O(logN) 刪除: O(logN)

5. unordered_map、unordered_set、unordered_multimap、 unordered_multiset 上述四種容器采用哈希表實現(xiàn),不同操作的時間復雜度為: 插入: O(1),最壞情況O(N) 查看: O(1),最壞情況O(N) 刪除: O(1),最壞情況O(N) 注意:容器的時間復雜度取決于其底層實現(xiàn)方式。


26.請你說說線程和協(xié)程的區(qū)別

?線程和協(xié)程的區(qū)別如下:

?1. 線程是操作系統(tǒng)的資源,線程的創(chuàng)建、切換、停止等都非常消耗資源,而創(chuàng)建協(xié)程不需要調(diào)用操作系統(tǒng)的功能,編程語言自身就能完成,所以協(xié)程也被稱為用戶態(tài)線程,協(xié)程比線程輕量很多;

?2. 線程在多核環(huán)境下是能做到真正意義上的并行,而協(xié)程是為并發(fā)而產(chǎn)生的;

?3. 一個具有多個線程的程序可以同時運行幾個線程,而協(xié)同程序卻需要彼此協(xié)作的運行;

?4. 線程進程都是同步機制,而協(xié)程則是異步;

?5. 線程是搶占式,而協(xié)程是非搶占式的,所以需要用戶自己釋放使用權來切換到其他協(xié)程,因此同一時間其實只有一個協(xié)程擁有運行權,相當于單線程的能力;

?6. 操作系統(tǒng)對于線程開辟數(shù)量限制在千的級別,而協(xié)程可以達到上萬的級別。


27.請你說說指針和引用的區(qū)別

指針和引用的區(qū)別有:

1. 定義和性質(zhì)不同。指針是一種數(shù)據(jù)類型,用于保存地址類型的數(shù)據(jù),而引用可以看成是變量的別名。指針定義格式為:數(shù)據(jù)類型 *;而引用的定義格式為:數(shù)據(jù)類型 &;

2. 引用不可以為空,當被創(chuàng)建的時候必須初始化,而指針變量可以是空值,在任何時候初始化;

3. 指針可以有多級,但引用只能是一級;

4. 引用使用時無需解引用(*),指針需要解引用;

5. 指針變量的值可以是 NULL,而引用的值不可以為 NULL;

6. 指針的值在初始化后可以改變,即指向其它的存儲單元,而引用在進行初始化后就不會再改變了;

7. sizeof 引用得到的是所指向的變量(對象)的大小,而 sizeof 指針得到的是指針變量本身的大小;

8. 指針作為函數(shù)參數(shù)傳遞時傳遞的是指針變量的值,而引用作為函數(shù)參數(shù)傳遞時傳遞的是實參本身,而不是拷貝副本;

9. 指針和引用進行++運算意義不一樣。


28.請你說說單例設計模式

1. 概念 單例設計模式(Singleton Pattern)是一種比較簡單的設計模式。這種類型的設計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。這種模式涉及到一個單一的類,該類負責創(chuàng)建自己的對象,同時確保只有單個對象被創(chuàng)建。這個類提供了一種訪問其唯一的對象的方式,可以直接訪問,不需要實例化該類的對象。注意: - 單例類只能有一個實例。 - 單例類必須自己創(chuàng)建自己的唯一實例。 - 單例類必須給所有其他對象提供這一實例。

?2. 單例設計模式的優(yōu)缺點 優(yōu)點: - 單例模式可以保證內(nèi)存里只有一個實例,減少了內(nèi)存的開銷。 - 可以避免對資源的多重占用。 - 單例模式設置全局訪問點,可以優(yōu)化和共享資源的訪問。 缺點: - 單例模式一般沒有接口,擴展困難。如果要擴展,則除了修改原來的代碼,沒有第二種途徑,違背開閉原則。 - 在并發(fā)測試中,單例模式不利于代碼調(diào)試。在調(diào)試過程中,如果單例中的代碼沒有執(zhí)行完,也不能模擬生成一個新的對象。 - 單例模式的功能代碼通常寫在一個類中,如果功能設計不合理,則很容易違背單一職責原則。?

3. C++ 單例設計模式的實現(xiàn) - 私有化構(gòu)造函數(shù)、拷貝構(gòu)造函數(shù)、賦值函數(shù) - 定義一個私有的本類的靜態(tài)對象成員 - 定義一個公共的訪問該示例靜態(tài)成員方法,返回該靜態(tài)對象成員

4. 單例設計模式的種類 - 懶漢式:獲取該類的對象時才創(chuàng)建該類的實例 - 餓漢式:獲取該類的對象之前已經(jīng)創(chuàng)建好該類的實例


29.請你說說重載,重寫,隱藏的區(qū)別

重載、重寫、隱藏在定義、作用域、有無 virtual、函數(shù)名、形參列表、返回值類型等方面有區(qū)別。
1. 重載:在同一作用域中,同名函數(shù)的形式參數(shù)(參數(shù)個數(shù)、類型或者順序)不同時,構(gòu)成函數(shù)重載,與返回值類型無關。
2. 重寫:指不同作用域中定義的同名函數(shù)構(gòu)成隱藏(不要求函數(shù)返回值和函數(shù)參數(shù)類型相同)。比如派生類成員函數(shù)隱藏與其同名的基類成員函數(shù)、類成員函數(shù)隱藏全局外部函數(shù)。
隱藏的實質(zhì)是:在函數(shù)查找時,名字查找先于類型檢查。如果派生類中成員和基類中的成員同名,就隱藏掉。編譯器首先在相應作用域中查找函數(shù),如果找到名字一樣的則停止查找。

3. 派生類中與基類同返回值類型、同名和同參數(shù)的虛函數(shù)重定義,構(gòu)成虛函數(shù)覆蓋,也叫虛函數(shù)重寫。


30.請你說說 TCP 和 UDP 的使用場景

UDP:語音、視頻、尋址、游戲、廣播。

TCP:郵件、遠程登陸、超文本、文件、身份信息、重要內(nèi)容?

UDP的優(yōu)點是快,沒有TCP各種機制,少了很多首部信息和重復確認的過程,節(jié)省了大量的網(wǎng)絡資源。缺點是不可靠不穩(wěn)定,只管數(shù)據(jù)的發(fā)送不管過程和結(jié)果,網(wǎng)絡不好的時候很容易造成數(shù)據(jù)丟失。又因為網(wǎng)絡不好的時候不會影響到主機數(shù)據(jù)報的發(fā)送速率,這對很多實時的應用程序很重要,因為像語音通話、視頻會議等要求源主機要以恒定的速率發(fā)送數(shù)據(jù)報,允許網(wǎng)絡不好的時候丟失一些數(shù)據(jù),但不允許太大的延遲。DNS和ARP協(xié)議也是基于UDP實現(xiàn)的,要求快速獲取IP、MAC地址,如果基于TCP那么對整個因特網(wǎng)的資源占用過大且速度慢。還有游戲應用程序也是通過UDP來傳輸報文段,允許出現(xiàn)丟幀導致的卡頓,但是對游戲的整體體驗不會產(chǎn)生嚴重的影響。所以UDP在語音、視頻、尋址、游戲、廣播方面有很好的應用前景,實時性高,允許部分的數(shù)據(jù)丟失。

TCP的優(yōu)點是面向連接提供可靠交付,即對數(shù)據(jù)有保證、無差錯的進行運輸。當需要數(shù)據(jù)準確無誤的運輸給對方時,如瀏覽器中需要獲取服務器資源使用的HTTP/HTTPS協(xié)議,需要保證文件準確、無差錯,郵件服務器中使用的SMTP協(xié)議,保證郵件內(nèi)容準確無誤的傳遞給對方,或者是大型應用程序文件,這些都要保證文件的準確、無差錯的運輸給對方,所以一定要基于TCP來運輸,而不是UDP。 加分回答 UDP的應用場景是根據(jù)它的部分特性決定的,如下: - 面向無連接 - 盡最大努力交付 - 面向報文 - 一對多 TCP的應用場景是根據(jù)它的部分特性決定的,如下: - 面向連接 - 單播,一對一 - 可靠交付(確認機制、重傳機制、流量控制、擁塞控制等)


?

總結(jié)

以上是生活随笔為你收集整理的第四次的面试 C++ 面试 (迷茫) + (复习知识点)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

在线天堂v| 日本久久久久久 | 九九导航| 国产精品一区二区三区电影 | 夜夜躁狠狠燥 | 久久久久久久久久久网站 | 国产精品国产三级国产不产一地 | 欧美日韩不卡在线观看 | 欧美网址在线观看 | 国产精品视频最多的网站 | 久久精品网站免费观看 | 免费看成人av | 91精品免费在线 | 成人在线观看网址 | 久久久国产一区二区三区四区小说 | 久久久久久久电影 | 国产成人亚洲精品自产在线 | 在线观看视频97 | 91久久黄色| 免费av片在线 | 六月婷操 | av大片免费看 | 狠狠色丁香婷婷综合欧美 | 午夜av不卡| 996久久国产精品线观看 | 青青草视频精品 | 久久久久国产精品视频 | a级片久久久 | 日韩欧美一区二区在线 | 久久成人毛片 | 色综合天天在线 | 人人精品| 精品福利网站 | 黄色大全在线观看 | 久久超碰97 | 综合亚洲视频 | 国产五码一区 | 黄色软件大全网站 | 一区二区精品在线 | 青青啪| 精品国产91亚洲一区二区三区www | 亚洲精品中文字幕在线观看 | 69精品视频 | 国产原厂视频在线观看 | 中文字幕123区 | 精品999久久久 | 国产又粗又猛又色又黄网站 | av网站在线观看免费 | 狠狠操狠狠干2017 | 97麻豆视频| 日韩av在线看 | 欧美不卡视频在线 | 色www永久免费 | 四虎在线观看视频 | 久久精品国产精品亚洲精品 | 亚洲无人区小视频 | 高清不卡免费视频 | 日韩视频免费观看高清完整版在线 | 国产69久久 | 成人网444ppp | 国产精品福利在线 | 看全黄大色黄大片 | 成人在线黄色 | 国产精品va视频 | 伊人成人激情 | 日韩高清在线一区 | 欧美久久久一区二区三区 | 亚洲视频精选 | 久久精品网 | 婷婷丁香视频 | 婷婷六月在线 | 日日干网 | 99久久夜色精品国产亚洲96 | 国产真实精品久久二三区 | 黄色毛片视频免费观看中文 | 欧美午夜理伦三级在线观看 | 黄色一区二区在线观看 | 三级毛片视频 | 国产98色在线 | 日韩 | 日韩一级成人av | 亚洲日本欧美 | 91天天操| 精品国产乱码久久久久久久 | 看片在线亚洲 | 黄污网| 国产人成免费视频 | 99免费在线播放99久久免费 | 婷婷.com| 亚洲综合激情小说 | 日韩黄色一区 | 黄色网在线免费观看 | 亚洲在线视频观看 | 日韩一级电影在线观看 | 色综合久 | 亚洲一区动漫 | 天天操人 | 国内精自线一二区永久 | 成人久久18免费 | 久久伊人精品天天 | 在线а√天堂中文官网 | 人人要人人澡人人爽人人dvd | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 国产亚洲aⅴaaaaaa毛片 | 韩日精品视频 | 成人av地址| 欧美日韩不卡一区二区三区 | 欧美一级片免费 | 国产在线观看a | 色网址99| 精品中文字幕在线观看 | 天堂激情网 | 五月天婷亚洲天综合网精品偷 | 亚洲欧美偷拍另类 | av电影在线不卡 | 一区 二区 精品 | 久久久免费精品 | 亚洲乱码在线观看 | 在线只有精品 | 亚洲伊人网在线观看 | 色综合久久天天 | 麻豆视频免费观看 | 国产手机在线观看视频 | 人人干人人超 | 成人在线观看日韩 | 国产精品麻豆果冻传媒在线播放 | 国产精品入口麻豆 | 九九精品视频在线看 | 99热官网| 色综合天天视频在线观看 | 国产91影院 | 免费网址你懂的 | 国产午夜激情视频 | 99精品欧美一区二区三区黑人哦 | 97精品国自产拍在线观看 | 成人在线免费视频 | 国产色啪 | 一区二区中文字幕在线观看 | 国产精品自在线拍国产 | 99riav1国产精品视频 | 精品久久久久久久久亚洲 | 成人免费看片98欧美 | 日韩精品播放 | 成人在线播放网站 | 日韩视频精品在线 | aⅴ视频在线 | 欧美日韩不卡在线观看 | 奇米四色影狠狠爱7777 | 国产精品 9999| 国产91在线观| 精品日韩视频 | 免费日韩一区二区 | 麻豆精品视频在线 | 国产高清免费在线播放 | 27xxoo无遮挡动态视频 | 综合网天天射 | 1区2区3区在线观看 三级动图 | 成人久久久久久久久久 | 精品v亚洲v欧美v高清v | 91免费的视频在线播放 | 在线观看视频福利 | 一区二区三区国产精品 | 精品在线你懂的 | 久久字幕精品一区 | 嫩嫩影院理论片 | 日韩在线不卡av | 97在线成人 | 日韩大片免费在线观看 | 91| 在线观看视频一区二区三区 | 国产日韩欧美在线 | 国产精品久久久久久久久久三级 | 亚洲精品动漫成人3d无尽在线 | 色综合久久综合 | 夜夜骑天天操 | 99精品偷拍视频一区二区三区 | 精品视频免费久久久看 | 亚洲成免费 | 一区二区视频在线播放 | 日本视频不卡 | 91精品视频一区 | 久久免费美女视频 | 黄色成人av | 免费av在线播放 | 美女网站色免费 | 国产区av在线 | 国产a网站 | 五月香视频在线观看 | 九九99| 午夜性生活片 | 久久久久高清毛片一级 | 日韩黄色免费在线观看 | 国产黄在线 | 久久九九影视网 | 国产精品久久久久久999 | 国产区精品视频 | 国产高清一区二区 | 亚洲一级电影视频 | 91 在线视频播放 | 亚洲精品国产精品久久99热 | 久艹在线播放 | 亚洲在线免费视频 | 狠狠色伊人亚洲综合网站野外 | av成人免费在线 | 在线看片91 | 成人av网站在线 | 久久综合干 | 亚洲一区二区三区在线看 | 欧美一区二区三区在线播放 | 婷婷精品在线视频 | av电影免费在线看 | 亚洲视频每日更新 | 中文字幕第一页在线视频 | 中文字幕丝袜制服 | 久久99国产精品二区护士 | 国产精品自产拍在线观看蜜 | 午夜精品一区二区三区免费视频 | 日韩精品1区2区 | 免费视频国产 | 国产精品一区二区你懂的 | 狠狠色丁香久久婷婷综合丁香 | 在线a人片免费观看视频 | 在线国产不卡 | 麻豆视频免费网站 | 久热爱| 午夜精品一区二区三区可下载 | 麻豆视频观看 | 国产一级久久久 | 国产人成一区二区三区影院 | 成人黄色在线 | 久久这里只有精品视频首页 | 91在线成人 | 久久久国产一区 | 字幕网资源站中文字幕 | 91成人在线视频 | 国产中文字幕视频在线 | 中文字幕免费不卡视频 | 久久精品99国产精品日本 | 色视频网站免费观看 | 久草在线免费播放 | 一本色道久久综合亚洲二区三区 | 天天插狠狠干 | 精品国产视频在线 | 天天操天天操天天 | 成人电影毛片 | www视频在线免费观看 | 亚洲国产美女久久久久 | 制服丝袜天堂 | 久久久免费精品 | 国产精品 视频 | 97av在线视频 | 国产高清不卡在线 | 国产成人av综合色 | 91在线视频免费91 | www.777奇米| 色久网| 97超碰国产精品女人人人爽 | 婷婷久久久久 | 欧美日韩一区二区三区在线免费观看 | 黄色网中文字幕 | 91亚洲精品久久久久图片蜜桃 | 日日草视频 | 国内精品小视频 | 99精品国产兔费观看久久99 | 91av原创| 欧美性受极品xxxx喷水 | 超碰人人99 | 一区二区伦理电影 | 午夜影院一级片 | 久草在线视频首页 | 色多多污污在线观看 | 日韩3区 | 美女黄网久久 | 91av视频免费在线观看 | 天天玩天天干 | 99久热精品 | 国产精品毛片一区视频播 | 国产免费美女 | 久久免费国产视频 | 欧美成人h版电影 | 热久久免费视频精品 | 国产一区二区日本 | 欧美精品三级在线观看 | 很黄很污的视频网站 | 成人亚洲欧美 | 国产精品一二 | 人人看人人爱 | 精品福利在线视频 | 国产黄色片在线免费观看 | 五月婷婷黄色 | 一级成人免费 | 国产特级毛片aaaaaa | 激情视频91| 中文字幕专区高清在线观看 | 久久久综合九色合综国产精品 | 亚洲国产中文字幕在线视频综合 | 久久久精品视频成人 | 欧美老女人xx | 国产在线第三页 | 亚洲黄色成人网 | 成人黄视频 | 欧美激情va永久在线播放 | 99亚洲精品在线 | 91香蕉视频好色先生 | 国产精品一区二区免费在线观看 | 亚洲天堂自拍视频 | 在线免费黄色 | 精品国产123 | 久久久久激情视频 | 欧美激情va永久在线播放 | 久久不射网站 | 免费在线观看成人av | 免费日韩三级 | 日本福利视频在线 | 免费高清在线观看成人 | 99免费在线观看 | 久久成人黄色 | 久久久久久久久久久久久久av | 中文字幕资源网在线观看 | 亚洲人成人在线 | 欧美最猛性xxxxx亚洲精品 | 蜜臀精品久久久久久蜜臀 | 激情网站网址 | 人人舔人人爱 | 亚洲黄色免费在线看 | 国产视频久久久 | 夜夜躁狠狠躁日日躁 | 色狠狠操 | 九九视频免费在线观看 | 午夜免费福利视频 | 久久久久久久久久久久久久电影 | 久久综合狠狠综合久久激情 | 粉嫩一区二区三区粉嫩91 | 午夜视频在线观看欧美 | 五月婷婷色 | 免费看片黄色 | 久草视频免费在线观看 | 一区 二区 精品 | 亚洲自拍偷拍色图 | 国产日本亚洲 | 久色婷婷 | 91桃色视频 | 国产一区免费观看 | 99久久精品国产毛片 | 麻豆免费视频 | 九九视频网| 亚洲理论电影网 | 国产老妇av | 99精品免费视频 | 免费看的毛片 | 欧美乱码精品一区二区 | 四虎在线永久免费观看 | 国际精品久久久 | 久久深夜 | 国产精品久久精品 | 亚洲三级毛片 | 中文字幕专区高清在线观看 | 三日本三级少妇三级99 | 福利视频第一页 | 91亚洲精品国产 | 免费在线电影网址大全 | 亚欧日韩av | 日韩在线观看视频中文字幕 | 国产精品99视频 | 91资源在线播放 | 国产精品毛片一区二区 | 亚洲欧美日韩国产一区二区三区 | 2000xxx影视| 久久久久在线视频 | 久久国产日韩 | 中文字幕在线观看第三页 | 亚洲第一区在线观看 | 在线播放一区二区三区 | 国产亚洲日本 | 国产成人61精品免费看片 | 婷婷av网站| 精品播放| 91九色成人蝌蚪首页 | 久久久国产精品视频 | 国产精品久久久久av免费 | 99国产精品一区二区 | 色噜噜狠狠狠狠色综合 | 久久婷婷网 | 久久久网| 日韩视频在线观看免费 | 国产精品一区二区av麻豆 | 7777xxxx| 黄色av电影在线观看 | 久久久久久久久亚洲精品 | 操操操天天操 | 五月天婷婷免费视频 | 久久高清| 日韩有码在线观看视频 | 欧美一区二区三区在线播放 | 久久伊99综合婷婷久久伊 | 久久久在线观看 | 婷婷色网 | 在线观看亚洲国产精品 | 天天曰天天 | 在线观看中文字幕一区 | 欧美另类成人 | a电影在线观看 | 精品999在线| 国产亚洲精品久久19p | 999毛片| 999久久久免费视频 午夜国产在线观看 | 久久久久草 | 国产精品成久久久久三级 | 久久97精品| av在线专区| 69夜色精品国产69乱 | 国产在线免费av | 国产五月| 亚洲免费资源 | 日韩素人在线观看 | 又色又爽又黄高潮的免费视频 | 黄色av电影免费观看 | 天天综合网~永久入口 | 天天干天天干天天色 | 日韩欧美一区二区三区视频 | 精品亚洲免费 | 1区2区3区在线观看 三级动图 | 又黄又网站 | 99午夜| 激情五月开心 | 高清国产在线一区 | 天天操夜夜看 | 96av麻豆蜜桃一区二区 | 色婷婷狠| 国产精品成人品 | 黄色一级在线免费观看 | 国产不卡一二三区 | 日韩综合在线观看 | 四虎免费在线观看 | 亚州国产精品久久久 | 综合色播 | 国产男男gay做爰 | 亚洲 欧美 成人 | 久久99亚洲网美利坚合众国 | av在线电影网站 | 久久免费资源 | 精品久久91| 日韩中文在线电影 | 国产精品一区二区三区观看 | 欧洲一区精品 | 亚洲黄色av | 日韩网站在线免费观看 | 亚洲精品成人 | 97超碰在线久草超碰在线观看 | 亚洲 av网站| 国产 一区二区三区 在线 | 国产精品99精品久久免费 | 亚洲激情一区二区三区 | 欧美成人91 | 天天射,天天干 | 黄色成人av网址 | 色国产精品一区在线观看 | 欧美一区中文字幕 | 国产激情小视频在线观看 | 狠狠操狠狠干2017 | 国产xxxx | 亚洲免费成人av电影 | 免费观看第二部31集 | 免费在线一区二区 | 亚洲午夜久久久久 | 人人爱夜夜操 | 麻豆国产精品永久免费视频 | a级黄色片视频 | 99国内精品久久久久久久 | 国产不卡在线 | 三级黄色大片在线观看 | 美女福利视频一区二区 | 日韩在线视频二区 | 婷婷激情欧美 | 在线欧美中文字幕 | 1024手机看片国产 | 色先锋资源网 | av成人免费网站 | 免费看一级特黄a大片 | 成人久久综合 | www.伊人网 | av在线永久免费观看 | 免费看黄色毛片 | 欧美在线视频精品 | 欧美天堂视频在线 | 99福利影院| 99综合电影在线视频 | 久久久国产精品人人片99精片欧美一 | 国产精品激情偷乱一区二区∴ | 色综合久久88色综合天天免费 | 亚洲第一色 | 久要激情网 | 在线观看视频97 | 久久精品免费电影 | 成人在线你懂得 | 免费电影一区二区三区 | 午夜黄色影院 | 精品黄色在线 | 国产99区 | 日本高清久久久 | 欧美另类激情 | 欧美日韩1区| 精品久久久久久久久久 | 波多野结衣在线观看视频 | 天堂在线成人 | 国产高清黄| 一区二区三区四区五区六区 | 美女网站视频免费黄 | 国产破处视频在线播放 | 808电影免费观看三年 | 久久免费一 | 日韩最新中文字幕 | 欧美日韩另类在线观看 | 97在线观看视频免费 | 在线亚洲观看 | 欧美日韩亚洲第一 | 国产剧情在线一区 | 日韩欧美高清视频在线观看 | 亚洲成人黄色在线 | 亚洲精品网站在线 | 免费a v视频 | 成人性生爱a∨ | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 国产成人精品一区二区三区在线观看 | 伊人午夜视频 | 青青河边草免费 | www免费看 | 很黄很污的视频网站 | 日韩理论电影网 | 国产免费叼嘿网站免费 | 色哟哟国产精品 | 91视频免费国产 | 久久综合干| 亚洲开心色 | 国产精品欧美 | 婷婷5月色 | 欧美日韩综合在线观看 | 深爱婷婷久久综合 | 国产精品2019 | 久久久综合香蕉尹人综合网 | 91在线视频精品 | 青青视频一区 | 超碰久热 | 国产主播99 | 天堂网在线视频 | 色综合色综合色综合 | 中文在线免费视频 | 69av在线视频| 91成人免费看片 | 亚洲欧美日韩国产一区二区三区 | 国产精品成人国产乱一区 | 激情网站五月天 | 在线视频一二三 | 日韩久久精品一区二区三区 | 二区三区毛片 | 天天干天天天天 | 日韩欧美在线观看 | 亚洲欧洲精品久久 | 国产精品毛片完整版 | 久久亚洲欧美日韩精品专区 | 国产99久久久国产精品 | 成人av在线直播 | 国产中文字幕视频 | 亚洲综合在线播放 | 亚洲精品毛片一级91精品 | 91精品国产91久久久久久三级 | 国产一级免费观看视频 | 久久精品香蕉视频 | 激情五月av | 久艹视频在线观看 | 亚洲 综合 精品 | 久久在视频 | 狠狠狠狠狠狠狠狠 | 在线97 | 日韩欧美在线不卡 | 欧美黑人性猛交 | 天天色成人| 国精产品满18岁在线 | 中文字幕一区二区三区在线视频 | 人人搞人人干 | 日韩av片在线 | 亚洲精品1234区 | 91在线亚洲 | 中文字幕第一页在线 | 午夜久久 | 国产一级做a爱片久久毛片a | 日韩美av在线 | 亚洲jizzjizz日本少妇 | 成人手机在线视频 | 欧美一级电影片 | 激情欧美一区二区三区免费看 | 黄色一级大片在线观看 | 手机看片 | 99色资源 | 亚洲黄色a| 免费色网站 | 成年人毛片在线观看 | 日韩一级理论片 | 91视频高清完整版 | 狠狠狠色丁香婷婷综合久久88 | 91九色网址 | 成人免费一区二区三区在线观看 | 91精品国产自产在线观看 | 日韩a在线播放 | 美女黄频网站 | 伊香蕉大综综综合久久啪 | 欧美日韩高清国产 | 黄a网| 国产一级小视频 | 亚洲aaa毛片| av网址aaa| 亚洲综合在线视频 | 黄色一级大片在线免费看国产一 | 午夜精品视频免费在线观看 | 中文字幕影片免费在线观看 | 亚洲天堂网站 | 国产对白av | 欧美99久久| 国产一级黄色片免费看 | 美女免费视频一区二区 | 九九视频免费观看视频精品 | 在线观看国产亚洲 | 国语自产偷拍精品视频偷 | 国产午夜精品久久久久久久久久 | a级一a一级在线观看 | 伊人五月天综合 | 一级一片免费观看 | 国产99一区视频免费 | 久久视频这里有久久精品视频11 | 97超碰中文字幕 | 欧美ⅹxxxxxx | 亚洲精品videossex少妇 | 亚洲美女在线一区 | 亚洲欧美日韩中文在线 | 国内精品久久久久久久 | 日韩欧美一区二区三区在线 | 天天碰天天操视频 | 久久韩国免费视频 | 免费观看成人av | 麻豆传媒视频在线 | 免费在线精品视频 | 日日夜夜人人精品 | 久久久国产精品一区二区中文 | www99精品 | 成年人免费av网站 | 韩国一区二区三区视频 | 久久69精品久久久久久久电影好 | 欧美国产三区 | 国产一区二区不卡视频 | 黄色国产在线观看 | 久久视频二区 | www.福利 | av三级在线免费观看 | 久久最新 | 人人干人人搞 | 日本精品视频一区二区 | 国产片免费在线观看视频 | 天堂在线视频免费观看 | 久久综合9988久久爱 | 狠狠干网站 | 国产免费又黄又爽 | 99精品视频播放 | 美女一区网站 | 国产精品大全 | 亚洲国产中文字幕在线 | 日本中文字幕视频 | 国产亚洲午夜高清国产拍精品 | 最新日韩在线观看 | 中文字幕在线观看的网站 | 免费观看成人网 | 国产精品一区二区在线 | 97免费在线观看视频 | 91精品啪啪 | www.99av| 欧美色精品天天在线观看视频 | 毛片一区二区 | 国内成人精品视频 | 日韩手机在线 | 玖玖精品在线 | 中文字幕一区二区三区久久 | 久久精品2 | 亚洲 欧美 日韩 综合 | 亚洲精品视频在线观看免费 | 日日爽日日操 | 夜夜操天天干, | 日韩在线视频在线观看 | 成人羞羞视频在线观看免费 | 亚洲精品久久久蜜臀下载官网 | 亚洲狠狠操| aaa黄色毛片| 91综合视频在线观看 | 欧美日韩精品在线观看 | 毛片永久新网址首页 | 久久这里只有精品视频99 | 四虎成人免费观看 | 国产在线传媒 | 超碰在线网 | 国产h在线播放 | av韩国在线 | 伊人网综合在线观看 | av三级av| 婷婷丁香视频 | 欧美日韩视频免费 | 99久久久成人国产精品 | 国产 av 日韩| 国产毛片久久久 | 免费黄色a网站 | 丁香久久综合 | 国产精品18久久久久久久网站 | 久精品视频在线观看 | 婷婷国产v亚洲v欧美久久 | 久久免费视频一区 | 亚洲成成品网站 | av高清一区二区三区 | 午夜av电影| 在线观看国产麻豆 | 911精品美国片911久久久 | 激情网五月婷婷 | 国产精品第7页 | 中文字幕在线影院 | a级免费观看 | 欧美精品中文在线免费观看 | 色综合久久五月天 | 免费观看9x视频网站在线观看 | 精品国产黄色片 | 91干干干 | 在线看一区二区 | 久久九九视频 | 特级毛片在线观看 | 欧美精品久久99 | 日韩国产精品一区 | 在线影视 一区 二区 三区 | 久久久资源网 | 亚洲色图激情文学 | 国内三级在线观看 | 久久久亚洲麻豆日韩精品一区三区 | 国产精品v欧美精品 | 亚洲精选99 | 国产一级大片在线观看 | 91精品亚洲影视在线观看 | 韩国av电影在线观看 | 国产精品高清免费在线观看 | 日韩精品一区二区三区免费观看视频 | av午夜电影 | 国产精品久久av | 人人插人人费 | 91麻豆精品国产91久久久无限制版 | 精品久久国产一区 | 九九久 | 超碰在97| 婷婷精品在线视频 | 天天干com| 92国产精品久久久久首页 | 91久久国产综合精品女同国语 | 午夜12点 | 久久视频在线 | 99在线免费观看视频 | 久久久www成人免费毛片 | 国产精品 国产精品 | 91精品久久久久久久久久入口 | 久久免费视频国产 | 久久久久久久久久久久久影院 | 日韩成人精品一区二区 | 狠狠干狠狠久久 | 小草av在线播放 | 久草在线视频在线 | 五月网婷婷 | 成人免费观看大片 | 久久国产成人午夜av影院宅 | 亚洲一区美女视频在线观看免费 | 精品一区电影国产 | 久久久久久欧美二区电影网 | 国产成人区 | 成人在线一区二区三区 | 91社区国产高清 | 国产黄色免费 | 精品一区二区三区久久久 | 国产女教师精品久久av | 国产精品毛片一区二区 | 深爱开心激情 | 成人av在线直播 | 国产精美视频 | 久久久久久激情 | 久久艹国产视频 | 久久调教视频 | 国产精品久久久久久吹潮天美传媒 | 天堂网一区二区 | 国产成人精品福利 | 天天做日日爱夜夜爽 | 国产在线精品区 | 特级片免费看 | 亚洲精品自拍视频在线观看 | 午夜精品中文字幕 | 在线中文字母电影观看 | 精品日韩在线一区 | 日韩黄色在线 | 亚洲精品一区中文字幕乱码 | 亚洲韩国一区二区三区 | 91色在线观看视频 | 久操操| 美女网站在线看 | 国产精品美女久久久久久久 | 人人狠狠综合久久亚洲婷 | 亚洲永久精品在线观看 | 精品国产乱码久久久久 | 日韩理论在线视频 | 久99久在线视频 | 96精品高清视频在线观看软件特色 | 亚洲国产成人精品在线观看 | 久久精品精品电影网 | 午夜精品一区二区三区免费 | av免费在线网 | 最新极品jizzhd欧美 | freejavvideo日本免费 | 在线视频日韩欧美 | 狠狠色丁香婷婷综合久小说久 | 视频福利在线观看 | av免费在线网站 | 手机看片国产 | av中文在线影视 | 丁香色综合 | 精品视频资源站 | 极品美女被弄高潮视频网站 | 婷婷六月综合亚洲 | 国产午夜精品理论片在线 | 欧美韩日在线 | 色婷婷电影网 | 人人澡人| 国产精品毛片久久久久久久久久99999999 | 99视频精品免费观看, | 韩国在线一区二区 | 97视频在线看 | 天天曰视频 | 日韩欧美精品在线 | 毛片一区二区 | 成人a视频片观看免费 | 日韩激情第一页 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 91在线看片 | 中文字幕视频在线播放 | 久草视频在线资源 | 亚洲区精品 | 国产精品一区二区中文字幕 | 久久综合久久综合久久综合 | 天天弄天天操 | 美女网站视频免费黄 | 久久99操| 日韩一区二区三区视频在线 | 欧美a级在线 | 国产成人一区二区三区 | 国产精品永久免费在线 | 久久国产精品99久久久久久老狼 | 天天操夜操视频 | 91av99| 久久久久国产视频 | 日韩啪啪小视频 | 毛片精品免费在线观看 | 色婷婷综合久久久 | 91私密保健| 色综合久久综合网 | 亚洲午夜久久久久久久久电影网 | 又黄又爽又无遮挡免费的网站 | 色.com| 国产福利久久 | 黄在线免费观看 | 亚洲国产免费av | 国产精品6999成人免费视频 | 亚洲黄色av | 国产精品久久久久久久妇 | 国产精品久久中文字幕 | 色姑娘综合网 | 欧美日韩国产精品一区二区三区 | 中文字幕精品一区二区精品 | 国产黄色片免费观看 | 玖玖爱免费视频 | 日韩久久久久久久久久久久 | 蜜桃视频精品 | 91在线永久 | 伊人宗合| 成人超碰97 | 久久精品中文字幕一区二区三区 | 午夜av在线免费 | 日韩欧美视频免费在线观看 | 欧美一级黄色网 | 看全黄大色黄大片 | 国产成人精品综合久久久久99 | 91最新在线视频 | 久久久观看 | 高清色免费 | 国产精品www | 国产黄色片久久 | 精品福利网 | 婷婷国产视频 | 日本一区二区三区免费观看 | 激情五月激情综合网 | 伊人伊成久久人综合网小说 | 激情婷婷久久 | 成人久久网 | 国产精品乱码高清在线看 | 精品自拍网| 深爱激情站 | japanese黑人亚洲人4k | 天天综合色天天综合 | 草在线| 亚洲精品视频免费看 | 免费特级黄色片 | 激情久久久久 | 国产精品免费久久久久 | 国产精品毛片网 | 五月激情av| 日韩二区在线播放 | 高清av不卡 | 三级在线视频观看 | 久久精品视频在线观看免费 | 久久久久久久看片 | 久久精品国产亚洲aⅴ | 国产精品淫片 | 国产精品av久久久久久无 | 亚洲欧美乱综合图片区小说区 | www.eeuss影院av撸 | 国产91精品一区二区麻豆网站 | 成人超碰97 | 亚洲国产中文字幕在线视频综合 | 国产美女被啪进深处喷白浆视频 | 亚洲 欧美 综合 在线 精品 | 久久特级毛片 | 久久国内精品 | 五月精品 | 五月婷婷丁香在线观看 | 黄色片网站av | 91色国产在线 | 成人资源在线观看 | 久久国产麻豆 | 91av播放 | 日韩电影中文 | 91久久影院| 欧美a影视 | 国内外成人在线视频 | 国产 精品 资源 | 国产精品1区2区 | 久久国产网站 | 97成人在线 | 精品久久久久国产免费第一页 | 日本精品久久久久影院 | 国产精品毛片一区二区三区 | 亚洲天堂精品 | 免费视频黄 | 国产免费专区 | 女人18毛片a级毛片一区二区 | 久草免费福利在线观看 | 日韩黄色免费在线观看 | 亚洲精品玖玖玖av在线看 | 永久av免费在线观看 | 韩国av一区二区三区在线观看 | 色偷偷97 | 久久久久五月 | 中文字幕日韩高清 | 欧美久草网 | 91精品国产九九九久久久亚洲 | 欧美成人a在线 | 欧美亚洲精品一区 | 在线观看亚洲专区 | 国产精品久久久久久久久免费 | 国产一区麻豆 | 综合久久精品 | 日韩一区二区在线免费观看 | 久久综合狠狠综合久久激情 | 99久久99久久免费精品蜜臀 | 天天射网站| 亚洲一区二区高潮无套美女 | 亚洲激情 在线 | 91精品一区二区三区蜜臀 | 日本中文字幕免费观看 | 中文字幕在线观看免费高清完整版 | 精品在线看| 色婷婷福利视频 | 91丨九色丨高潮丰满 | 99热手机在线观看 | 久久成人亚洲欧美电影 | 黄色成年网站 | 成年人精品| 日韩精品久久久久 | 欧美一级在线观看视频 | 国产精品成人一区 | av播放在线| 精品国产乱码久久久久久浪潮 | 久草com| www.xxx.性狂虐 | 精品国产精品国产偷麻豆 | 免费 在线 中文 日本 | 日韩二区精品 | 欧美福利视频一区 | 丁香九月激情综合 | 91手机在线看片 | 97在线观看免费高清完整版在线观看 | 久久有精品 | 97国产一区| aⅴ视频在线 | 国产成人av网址 |