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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

「面试」美团肝了我30+问题

發(fā)布時(shí)間:2025/3/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 「面试」美团肝了我30+问题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

叮。。。。。美團(tuán)來(lái)電。這次不是外賣而是電話面試。所報(bào)崗位為后端/服務(wù)端開發(fā),但是從我的復(fù)盤來(lái)看,這和 Java 后端開發(fā)的內(nèi)容差不多,除了部分的語(yǔ)言特性外,還是四大件基礎(chǔ)知識(shí)為重,下面我們來(lái)看看都問(wèn)了啥,小心下次面你的時(shí)候就有這些問(wèn)題哦

如果你問(wèn)我,看了這些題就完事了?非也,這只是開始,你需要學(xué)習(xí)的還有很多,知道路子是怎么走才是重要的勒。

開始之前,我們先看提綱,大家默默的想一想,如果是你,你將怎么去回答這個(gè)問(wèn)題,然后再看我的回答也許更佳哈。

提綱

1 一面(40分鐘)

  • 自我介紹

老規(guī)矩,我叫啥,啥專業(yè),技術(shù)棧是啥,能做啥

  • 怎么理解分布式

其實(shí)如果沒(méi)有去實(shí)習(xí),可能很少接觸分布式的內(nèi)容。對(duì)于面試官而言,也沒(méi)多期望你們對(duì)分布式的理解到多深的地步,只是希望你們能對(duì)其有個(gè)初步的了解即可。

不管是高登摩爾提出的摩爾定律還是Gordon Moore堅(jiān)持的2版本是啥,總之如果你的系統(tǒng)需承載的計(jì)算量的增長(zhǎng)速度大于摩爾定律的預(yù)測(cè),那么在未來(lái)的某一個(gè)時(shí)間點(diǎn),集中式系統(tǒng)將無(wú)法承載你所需的計(jì)算 量。

在整個(gè)計(jì)算機(jī)系統(tǒng)發(fā)展的過(guò)程中,最實(shí)際的還是經(jīng)濟(jì)的元素。人們發(fā)現(xiàn)使用更加廉價(jià)的機(jī)器,組合在一起的分布式系統(tǒng),除了可以獲得超過(guò)CPU發(fā)展速度的性能以外,還可以有更好的性價(jià)比,所以得出如下結(jié)論:

無(wú)論是要以低價(jià)格獲得普通的性能,還是要以較高的價(jià)格獲 得極高的性能,分布式系統(tǒng)都能夠滿足。并且受規(guī)模效應(yīng)的影響,系統(tǒng)越大,性價(jià)比帶來(lái) 的收益越高。

隨著計(jì)算機(jī)的飛速發(fā)展,科學(xué)家們發(fā)現(xiàn)分布式系統(tǒng)相比于集中式系統(tǒng)的另一個(gè)很明顯的優(yōu)勢(shì)就是:具有更高的可用性。假設(shè)使用10個(gè)能夠承載10000流量相同的節(jié)點(diǎn),其中的兩個(gè)節(jié)點(diǎn)掛了,只要實(shí)際的流量不超過(guò)8000,那么系統(tǒng)仍然正常運(yùn)轉(zhuǎn)。

說(shuō)這么多,分布式系統(tǒng)還是建立在「分治」和「冗余」的基礎(chǔ)上,這也就是分布式系統(tǒng)的本質(zhì)

那么分治是什么?

這和我們大腦解決問(wèn)題類似,大問(wèn)題分解為小問(wèn)題,然后治理最后歸并。

分治

為什么要這樣做?

  • 小問(wèn)題容易解決,解決了眾多的子問(wèn)題,大問(wèn)題也就更容易解決啦

如果拆分的父子問(wèn)題有依賴關(guān)系怎么辦?

大問(wèn)題拆分的過(guò)程中,非常重要的即不同分支的子問(wèn)題不能相互依賴,需要各自獨(dú)立,因?yàn)槿绻嬖谝蕾囮P(guān)系,父子問(wèn)題就失去了「歸并」的意義,那么在開發(fā)中,這就是「聚合度」和「內(nèi)聚度」的問(wèn)題。

什么是聚合度和內(nèi)聚度?

所謂聚合度即軟件系統(tǒng)中各個(gè)模塊的相互依賴程度。比如在調(diào)用A方法的時(shí)候都需要同步調(diào)用方法B,顯然這樣的耦合度就高

所謂內(nèi)聚度即模塊之間具有共同點(diǎn)的相似程度,所以在拆分的時(shí)候要尤其注意這兩點(diǎn)。

什么是冗余?

這里的冗余不是代碼的冗余,而是容許系統(tǒng)在一定范圍內(nèi)出現(xiàn)故障,但對(duì)系統(tǒng)的影響很小

冗余

如上圖將冗余的節(jié)點(diǎn)部署在單獨(dú)的服務(wù)器,完全是為了備用而做的冗余,如果不出現(xiàn)故障,那么資源是不是就浪費(fèi)了,所以大多數(shù)情況會(huì)使用諸如雙主多活、讀寫分離之類的概念提高資源利用率

其實(shí)在生活中冗余也很常見(jiàn),比如大部分的汽車系統(tǒng)中的底層控制系統(tǒng)也是有冗余機(jī)制,飛機(jī)發(fā)動(dòng)機(jī)為什么是偶數(shù),也是同樣的道理。還有更多的關(guān)于后端的基礎(chǔ)總結(jié)要點(diǎn)則參考另一篇文章42圖揭秘,「后端技術(shù)學(xué)些啥」

寫個(gè)代碼熱熱身----棧實(shí)現(xiàn)隊(duì)列

class?MyQueue?{ public:stack<int>?stIn;stack<int>?stOut;/**?Initialize?your?data?structure?here.?*/MyQueue()?{}/**?Push?element?x?to?the?back?of?queue.?*/void?push(int?x)?{stIn.push(x);}/**?Removes?the?element?from?in?front?of?queue?and?returns?that?element.?*/int?pop()?{//?只有當(dāng)stOut為空的時(shí)候,再?gòu)膕tIn里導(dǎo)入數(shù)據(jù)(導(dǎo)入stIn全部數(shù)據(jù))if?(stOut.empty())?{//?從stIn導(dǎo)入數(shù)據(jù)直到stIn為空while(!stIn.empty())?{stOut.push(stIn.top());stIn.pop();}}int?result?=?stOut.top();stOut.pop();return?result;}/**?Get?the?front?element.?*/int?peek()?{int?res?=?this->pop();?//?直接使用已有的pop函數(shù)stOut.push(res);?//?因?yàn)閜op函數(shù)彈出了元素res,所以再添加回去return?res;}/**?Returns?whether?the?queue?is?empty.?*/bool?empty()?{return?stIn.empty()?&&?stOut.empty();} };

介紹下第一個(gè)項(xiàng)目

注意:校招的的面試在我看來(lái)寫兩個(gè)項(xiàng)目差不多了,印象更深刻且自己的理解程度更好的放在上面。面試之前一定要搞懂這三個(gè)問(wèn)題,且在練習(xí)的時(shí)候想想怎么能引面試官上鉤

  • 項(xiàng)目的描述

  • 自己在項(xiàng)目中擔(dān)任的角色,做了什么

  • 在項(xiàng)目中遇到什么難點(diǎn),怎么處理,有沒(méi)有測(cè)試過(guò)

說(shuō)說(shuō)快排思想?

如果我們的每一次分區(qū)操作都能正好將數(shù)組分成大小接近相等的兩個(gè)小區(qū)間,那么快排的時(shí)間復(fù)雜度和歸并是差不多的,所以其時(shí)間復(fù)雜度為O(nlogn)

這里特別注意所謂的每次分區(qū)操作有個(gè)前提條件,即選擇的pivot很合適,能掙好的將大區(qū)間對(duì)等的一分為二,如果原來(lái)的數(shù)據(jù)是一件排好序的,我們選擇最后一個(gè)元素為pivot,這樣每次分區(qū)得到的兩個(gè)區(qū)間是不均等,我們需要進(jìn)行大約n次分區(qū)操作,每次分區(qū)平均掃描n/2個(gè)元素,此時(shí)的復(fù)雜度將退化為0(n ^ 2)

:一定要能手撕快排啊,這真是無(wú)數(shù)次會(huì)被考!!!

public?class?QuickSort?{public?static?void?main(String[]?args)?{int[]?arr?=?{?49,?38,?65,?97,?23,?22,?76,?1,?5,?8,?2,?0,?-1,?22?};quickSort(arr,?0,?arr.length?-?1);System.out.println("排序后:");for?(int?i?:?arr)?{System.out.println(i);}}private?static?void?quickSort(int[]?arr,?int?low,?int?high)?{if?(low?<?high)?{//?找尋基準(zhǔn)數(shù)據(jù)的正確索引int?index?=?getIndex(arr,?low,?high);//?進(jìn)行迭代對(duì)index之前和之后的數(shù)組進(jìn)行相同的操作使整個(gè)數(shù)組變成有序//quickSort(arr,?0,?index?-?1);?之前的版本,這種姿勢(shì)有很大的性能問(wèn)題,謝謝大家的建議quickSort(arr,?low,?index?-?1);quickSort(arr,?index?+?1,?high);}}private?static?int?getIndex(int[]?arr,?int?low,?int?high)?{//?基準(zhǔn)數(shù)據(jù)int?tmp?=?arr[low];while?(low?<?high)?{//?當(dāng)隊(duì)尾的元素大于等于基準(zhǔn)數(shù)據(jù)時(shí),向前挪動(dòng)high指針while?(low?<?high?&&?arr[high]?>=?tmp)?{high--;}//?如果隊(duì)尾元素小于tmp了,需要將其賦值給lowarr[low]?=?arr[high];//?當(dāng)隊(duì)首元素小于等于tmp時(shí),向前挪動(dòng)low指針while?(low?<?high?&&?arr[low]?<=?tmp)?{low++;}//?當(dāng)隊(duì)首元素大于tmp時(shí),需要將其賦值給higharr[high]?=?arr[low];}//?跳出循環(huán)時(shí)low和high相等,此時(shí)的low或high就是tmp的正確索引位置//?由原理部分可以很清楚的知道low位置的值并不是tmp,所以需要將tmp賦值給arr[low]arr[low]?=?tmp;return?low;?//?返回tmp的正確位置} }

半連接了解吧,如果SYN半連接隊(duì)列滿了怎么處理,只能丟棄連接?

如果你看過(guò)我之前寫的文章,這個(gè)問(wèn)題應(yīng)該就非常容易解決了。SYN半連接隊(duì)列已滿,通過(guò)開啟cookies功能就可以在不使用SYN隊(duì)列的情況下成功建立連接

syncookies是怎么操作的?

服務(wù)端返回 ACK 的時(shí)候會(huì)計(jì)算一個(gè)值放在發(fā)出的SYN+ACK報(bào)文中,當(dāng)客戶端返回ACK的時(shí)候取出該值進(jìn)行驗(yàn)證,如果合法即連接成功

半連接隊(duì)列

Linux如何開啟syncookies呢?

通過(guò)將參數(shù)tcp_cookies設(shè)置1即可。如果參數(shù)值為2,表示無(wú)條件開啟這個(gè)功能。如果為1表示僅當(dāng)SYN半連接隊(duì)列放不下的時(shí)候,再開啟。

開啟syncookies

那可不可以繞過(guò)三次握手?

還有這種操作?

三次握手中,一個(gè)較大的問(wèn)題是HTTP請(qǐng)求必須在一次的RTT后才能發(fā)送。從而谷歌提出了TFO。想要繞過(guò)三次握手過(guò)程,如果是客戶端發(fā)起連接,想要在SYN的請(qǐng)求報(bào)文中放入數(shù)據(jù),需要得到服務(wù)端的認(rèn)可,所以事先需要有個(gè)約定

  • 首次建立連接走正常的三次握手,客戶端會(huì)在SYN報(bào)文中明確告訴服務(wù)器要使用TFO功能,服務(wù)端答應(yīng)后就會(huì)將客戶端的IP地址用自己的密鑰加密(cookie)攜帶在返回的SYN+ACK中,客戶端收到后將cookie緩存到本地

  • 下次客戶端再建立連接,就可以在SYN中攜帶請(qǐng)求的數(shù)據(jù)+緩存的cookie

繞過(guò)三次握手

剛才你說(shuō)的密鑰是不會(huì)變的?

當(dāng)然變化,不然就很容易產(chǎn)生SYN泛洪攻擊了。

Linux中如何打開TFO?

這里要注意了,需要客戶端和服務(wù)端都支持,TFO才會(huì)生效,當(dāng)tcp_fastopen設(shè)置為3的時(shí)候才生效

net.ipv4.tcp_fastopen=3

舉幾個(gè)使用緩存的例子

這里涉及面就非常廣了,什么數(shù)據(jù)庫(kù)緩存,如何選擇緩存的讀寫策略,如何做到緩存高可用,緩存穿透的怎么處理以及CDN相關(guān),我們先舉幾個(gè)緩存的例子

  • 我們知道虛擬地址到物理地址轉(zhuǎn)換的時(shí)候需要通過(guò)一個(gè)叫做MMU的硬件,每次這樣的轉(zhuǎn)換無(wú)疑會(huì)造成性能的轉(zhuǎn)換,所以接住了TLB來(lái)緩存最近轉(zhuǎn)換過(guò)的,下一次轉(zhuǎn)換的時(shí)候,如果緩存存在就直接轉(zhuǎn)換即可

  • 在路由尋址的時(shí)候,會(huì)有個(gè)映射表讓我們知道該訪問(wèn)哪個(gè)目的地址,同樣存在于緩存中

  • HTTP緩存機(jī)制。通過(guò)緩存協(xié)商方式減少網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)大小從而提升頁(yè)面展示的性能

緩存怎么個(gè)分類?

緩存分類分為三種,分別為靜態(tài)緩存、分布式緩存與本地緩存。

靜態(tài)緩存

通常使用靜態(tài)HTML實(shí)現(xiàn)靜態(tài)緩存。通過(guò)在Nginx上部署靜態(tài)緩存減少對(duì)于后臺(tái)應(yīng)用服務(wù)器的壓力。當(dāng)然你也可以存放數(shù)據(jù)庫(kù),然后前端穿透查詢,但是對(duì)于后端的服務(wù)器壓力是非常大的。比如內(nèi)容系統(tǒng),通常在錄入文章的時(shí)候先渲染成靜態(tài)頁(yè)面,然后放在前端Ngix服務(wù)器上,這樣用戶會(huì)直接訪問(wèn)前端靜態(tài)頁(yè)面,但是如果是動(dòng)態(tài)請(qǐng)求,這樣就需要分布式緩存了

分布式緩存

面試中高頻的Redis和Memchache,就是通過(guò)集群的方式突破單機(jī)瓶頸

熱點(diǎn)本地緩存

熱點(diǎn)嘛,微博每天都有熱點(diǎn),尤其是什么XX明星出軌,這樣的查詢通常會(huì)命中某一個(gè)緩存節(jié)點(diǎn),短時(shí)間內(nèi)極高的緩存熱點(diǎn)查詢。這個(gè)時(shí)候就會(huì)在代碼中使用一些本地本地緩存方案。如hashmap

緩存的不足

從上面基本上知道,緩存的主要作用是提升訪問(wèn)的速度,提升并發(fā)的能力。

  • 緩存最好適用于讀多寫少且?guī)в幸欢ǖ臒狳c(diǎn)屬性

因?yàn)榧热皇蔷彺媸芟抻诖鎯?chǔ)介質(zhì),不可能緩存所有數(shù)據(jù),只有當(dāng)數(shù)據(jù)有一定的熱點(diǎn)屬性才能有更高的緩存命中率

  • 緩存讓系統(tǒng)更加復(fù)雜,容易出現(xiàn)數(shù)據(jù)不一致的現(xiàn)象

比如更新數(shù)據(jù)庫(kù)成功了,但是更新緩存失敗了。這個(gè)時(shí)候可以考慮固定時(shí)間清理或者手動(dòng)清理。

  • 給運(yùn)維帶來(lái)一定的成本

運(yùn)維小哥需要了解一些緩存組件的使用

一面小結(jié)

一面面試涉及到了項(xiàng)目,計(jì)算機(jī)網(wǎng)絡(luò),數(shù)據(jù)結(jié)構(gòu)和后端的基本知識(shí),也基本覆蓋了校招的各科且有一定的是實(shí)踐性考察,不同公司面試當(dāng)然不一樣,看多了你會(huì)發(fā)現(xiàn)重點(diǎn)就是這些了,繼續(xù)復(fù)盤二面

2 二面

慢慢的到了10月,面試的越多不知道的越多,感覺(jué)需要學(xué)習(xí)的越多,當(dāng)然越戰(zhàn)越勇,面完一面是一面,積累一面是一面。團(tuán)團(tuán)既然給臉,那就面唄

寫個(gè)代碼-----數(shù)組中數(shù)字出現(xiàn)的次數(shù)

我擦,上來(lái)就是寫代碼,不過(guò)大家習(xí)慣就好,每個(gè)面試官套路不同,資本社會(huì)接受即可,寫唄,準(zhǔn)備這么久的你還怕啥。管他三七二十一,能上位運(yùn)算就上位運(yùn)算,盤它完事,小伙伴說(shuō)能不能寫個(gè)python版本,那就py唄。如果這個(gè)題目還要猶豫,趕緊再去練練《劍指offer》和leetcode100題呀

class?Solution(object):def?singleNumbers(self,?nums):""":type?nums:?List[int]:rtype:?List[int]"""temp?=?0for?i?in?nums:#得到用于區(qū)分的數(shù)字temp?^=?inum?=?1while?not?(num?&?temp):#找到用于區(qū)分的數(shù)字中從右到左的第一位為1的值num?=?num?<<?1result1?=?0result2?=?0for?i?in?nums:if?num?&?i:#?劃分兩個(gè)數(shù)組result1?^=?i#兩個(gè)數(shù)組分別取異或else:result2?^=?ireturn[result1,result2]?

說(shuō)說(shuō)TCP的收發(fā)包可通過(guò)哪些配置?

這個(gè)題就有點(diǎn)大了,我可以扯很久,而且只要問(wèn)到TCP發(fā)送或者接受的類似問(wèn)題,真是可以大干好幾百個(gè)回合。在這里就稍微詳細(xì)的說(shuō)說(shuō),在以后的面試過(guò)程中,遇到此題講不在多說(shuō)哈,還答不上來(lái)就打自己幾耳巴可好,別別,還是不能這么對(duì)自己,好了,不多BB了,上干貨

收包是數(shù)據(jù)到達(dá)網(wǎng)卡后交給應(yīng)用程序處理的過(guò)程,發(fā)包則調(diào)用相應(yīng)的發(fā)包函數(shù)將數(shù)據(jù)包從網(wǎng)卡發(fā)出的場(chǎng)景。

我們?cè)倏纯搭愃频膸讉€(gè)問(wèn)題

  • 我明明是用了write和send進(jìn)行發(fā)包,但是總是發(fā)不出去

  • 通過(guò)抓包發(fā)現(xiàn)數(shù)據(jù)包已經(jīng)到網(wǎng)卡了,但是應(yīng)用程序?yàn)槭裁淳褪鞘詹坏?/p>

  • 調(diào)整了緩沖區(qū)大小,不失效的原因

和前面一樣,都是需要了解相應(yīng)的系統(tǒng)參數(shù)才能較好的回答這些問(wèn)題且能體現(xiàn)你對(duì)網(wǎng)絡(luò)的了解深度

TCP數(shù)據(jù)包在發(fā)送的過(guò)程中會(huì)受到哪些影響?

TCP數(shù)據(jù)包發(fā)送過(guò)程

這個(gè)圖畫了一個(gè)小時(shí),一定要好好看看,順便記得給我一個(gè)贊,么么噠,下面我們?cè)敿?xì)看看這個(gè)圖

當(dāng)我們通過(guò)write等發(fā)包函數(shù)進(jìn)行發(fā)包的時(shí)候,這些系統(tǒng)調(diào)用都是將數(shù)據(jù)包先從用戶緩沖區(qū)拷貝到TCP發(fā)送緩沖區(qū)中,可是這個(gè)TCP緩沖區(qū)是有大小限制的,正是這個(gè)限制就會(huì)產(chǎn)生各種問(wèn)題。

TCP發(fā)送緩沖區(qū)的默認(rèn)受到 net.ipv4.tcp_wmen 控制

TCP發(fā)送緩沖區(qū)設(shè)置

這三個(gè)參數(shù)分別的叫做是min,default,max。TCP發(fā)送緩沖區(qū)會(huì)在min和max中浮動(dòng),初始的大小為default。

為什么需要自動(dòng)調(diào)整,是不是越大越好?

首先這個(gè)動(dòng)態(tài)調(diào)整是由內(nèi)核來(lái)完成,不需要應(yīng)用程序的干預(yù),而且每次發(fā)包的大小不一樣,數(shù)據(jù)太小,緩沖區(qū)卻很大自然就浪費(fèi)了內(nèi)存,所以通過(guò)動(dòng)態(tài)調(diào)整的方式滿足發(fā)包的需要。

TCP緩沖區(qū)設(shè)置太小或者太大有什么標(biāo)志?

TCP的發(fā)送緩沖區(qū)設(shè)置太小,最明顯的特征即導(dǎo)致業(yè)務(wù)延遲。如何發(fā)現(xiàn)呢,可以通systemtap等工具在內(nèi)核打點(diǎn)完成觀察,如果發(fā)現(xiàn)了有sk_stream_wait_memory就認(rèn)為這發(fā)送緩沖區(qū)太小了,需要調(diào)大tcp_wemem:max

可不可以開發(fā)的時(shí)候指定需要發(fā)送的大小?

當(dāng)然可以呀,通過(guò)setsockopt中的SO_SNDBUF設(shè)置固定的緩沖區(qū)大小。但是設(shè)置了這個(gè)參數(shù),tcp_wmem就會(huì)失效,也就沒(méi)有了動(dòng)態(tài)調(diào)整,設(shè)置的值不能超過(guò)net.core.wmem_max,如果超過(guò)了,內(nèi)核會(huì)強(qiáng)制設(shè)置為wmem_max。所以通常情況下,我們不會(huì)通過(guò)SO_SNDBUF設(shè)置TCP緩沖區(qū)的大小,設(shè)置太大浪費(fèi)內(nèi)存,設(shè)置太小引起緩沖區(qū)不足的問(wèn)題。

上面所說(shuō)的tcp_wmem和wmem_max都是針對(duì)單個(gè)tcp連接,其單位是字節(jié)。系統(tǒng)中通常有非常多的tcp連接,連接太多可能導(dǎo)致內(nèi)存耗盡

我們能不能設(shè)置tcp消耗內(nèi)存的大小?所謂上限

tcp_mem

當(dāng)所消耗的內(nèi)存達(dá)到max就不會(huì)再發(fā)包

可以通過(guò)什么方式觀測(cè)到這種情況?

Linux內(nèi)核給我們?cè)缇吐窳它c(diǎn),sock_exceed_buf_limit。觀察的時(shí)候只需要打開tracepoint即可

sock_exceed_buf_limit

然后在日志中查看是否發(fā)生了事件

trace_pipe

伴隨tcp層數(shù)據(jù)包的處理完畢來(lái)到ip層,在IP層需要考慮端口范圍的問(wèn)題,太小可能導(dǎo)致無(wú)法創(chuàng)建連接。

net.ipv4.ip_local_port_range = 1024

為了實(shí)現(xiàn)tcp/ip數(shù)據(jù)流進(jìn)行流控,Linux內(nèi)核在ip層實(shí)現(xiàn)了qdisc(排隊(duì)規(guī)則)。我們平時(shí)見(jiàn)的比較多的TC即是基于qdisc的流控工具,實(shí)際上我們通過(guò)ipconfig看到的txqueuelen即qdisc的隊(duì)列長(zhǎng)度。它太小就會(huì)導(dǎo)致數(shù)據(jù)包被丟失

我們?nèi)绾斡^察到這個(gè)現(xiàn)象?

觀察現(xiàn)象

如果發(fā)現(xiàn)dropped不為0,則很可能是txqueuelen太小導(dǎo)致,此時(shí)就需要調(diào)大這個(gè)值

調(diào)大txqueuelen

經(jīng)過(guò)ip層后就進(jìn)入網(wǎng)卡了,此時(shí)需要發(fā)送的數(shù)據(jù)包走完TCP/IP協(xié)議棧

那么對(duì)于接受放而言,是怎么接受的?

同樣,先看看圖

TCP數(shù)據(jù)包接受過(guò)程

從上圖可以發(fā)現(xiàn)其接受流程和發(fā)送流程基本相反。當(dāng)數(shù)據(jù)包到達(dá)接受方的網(wǎng)卡,就會(huì)觸發(fā)中斷,高速CPU讀取數(shù)據(jù)包,但是在高速網(wǎng)絡(luò)中,大量的數(shù)據(jù)包,如果每來(lái)一個(gè)數(shù)據(jù)包就觸發(fā)一次中斷勢(shì)必讓CPU的處理效率大大折扣,所以提出了NAPI技術(shù),讓CPU一次性輪詢多個(gè)數(shù)據(jù)包,通過(guò)批量的方式來(lái)提升效率,降低中斷帶來(lái)的性能開銷

在poll的時(shí)候,一次輪詢多少個(gè)?

這個(gè)poll通過(guò)sysctl選項(xiàng)控制

netdev_budget

此值默認(rèn)大小為300,通常會(huì)增加此值到600使得一次性能處理更多的的數(shù)據(jù)包

可以無(wú)限增大此值?

當(dāng)然不行,系統(tǒng)存在太多進(jìn)程,CPU需要權(quán)衡自己的時(shí)間照顧其他的進(jìn)程,如果CPU在poll的時(shí)間太多,其他任務(wù)的調(diào)度就會(huì)延遲。

當(dāng)poll了數(shù)據(jù)包就會(huì)到IP層處理,隨后到達(dá)tcp層,從而遇到我們之前所說(shuō)的TCP接受緩沖區(qū)

默認(rèn)通過(guò)tcp_rmem控制緩沖區(qū)的大小,通過(guò)適當(dāng)?shù)恼{(diào)整該值來(lái)獲取更好的網(wǎng)絡(luò)性能

tcp_rmem

TCP的默認(rèn)緩沖區(qū)大小會(huì)在min和max之間動(dòng)態(tài)的調(diào)整,不過(guò)和發(fā)送緩沖區(qū)不同的是,這個(gè)動(dòng)態(tài)調(diào)整時(shí)通過(guò)選項(xiàng)tcp_moderade_rcvbuf。通常我們都會(huì)打開它

tcp_moderade_rcvbuf

為什么接受緩沖區(qū)時(shí)通過(guò)選項(xiàng)來(lái)自動(dòng)調(diào)節(jié),而發(fā)送緩沖區(qū)不是

因?yàn)閠cp接受緩沖區(qū)會(huì)直接影響tcp擁塞控制,從而影響對(duì)端的發(fā)包,所以通過(guò)選項(xiàng)控制的方式更加靈活的控制對(duì)端的發(fā)包行為

還有其他方式控制tcp的接受緩沖區(qū)?

當(dāng)然有,可以通過(guò)setsockopt()的配置選項(xiàng)SO_RECVBUF控制,如果設(shè)置了此值,那么tcp緩沖區(qū)的自動(dòng)調(diào)整將關(guān)閉,總之只有當(dāng)tcp_moderate_rcvbuf 為 1,并且應(yīng)用程序沒(méi)有通過(guò) SO_RCVBUF 來(lái)配置緩沖區(qū)大小的情況下,TCP 接收緩沖區(qū)才會(huì)動(dòng)態(tài)調(diào)節(jié)

總結(jié):

TCP/IP協(xié)議棧復(fù)雜無(wú)比,此文介紹了很多配置選析,后續(xù)給大家總結(jié)一個(gè)常用的參數(shù)表

好了,這個(gè)題目也許啰嗦,但是你會(huì)發(fā)現(xiàn)確實(shí)有點(diǎn)東西哈,盤它呀,接著面試

小伙子對(duì)這個(gè)問(wèn)題的理解比較深刻,差不多都答在了點(diǎn)上,你說(shuō)說(shuō)一致性哈希是什么?

說(shuō)一致性哈希是什么,那我們肯定需要告訴面試官為啥要用一致性哈希,直接使用哈希不香?有什么問(wèn)題嘛?

我先用個(gè)簡(jiǎn)單的例子讓大伙看一波為啥使用一致性哈希

現(xiàn)在我們有一個(gè)分布式緩存,需要存放6w張美女照片,別問(wèn)我干啥,就是存著

三節(jié)點(diǎn)存儲(chǔ)image

方案1:直接采用哈希算法,對(duì)每個(gè)圖片進(jìn)行分片

哈希

余數(shù)正好對(duì)應(yīng)每個(gè)機(jī)器節(jié)點(diǎn)

這樣子會(huì)出現(xiàn)什么問(wèn)題?

通過(guò)哈希算法,每個(gè)key可以尋址對(duì)應(yīng)服務(wù)器,假設(shè)發(fā)過(guò)來(lái)的請(qǐng)求為key01,計(jì)算公式為hash(key01)%3

經(jīng)過(guò)計(jì)算后尋址編號(hào)為1的服務(wù)器節(jié)點(diǎn),如下圖所示

節(jié)點(diǎn)1服務(wù)器

此時(shí)加入新的服務(wù)器節(jié)點(diǎn),就會(huì)出現(xiàn)路由失敗的情況。此時(shí)從三個(gè)節(jié)點(diǎn)變化為4個(gè)節(jié)點(diǎn),之前的hash(kley01)%3=1就變化為 hash(key-01) % 4 = X,因?yàn)槿∧_\(yùn)算發(fā)生了變化,所以這個(gè) X 大概率不是 1,這時(shí)你再查詢,就會(huì)找不到數(shù)據(jù)了,因?yàn)?key-01 對(duì)應(yīng)的數(shù)據(jù),存儲(chǔ)在節(jié)點(diǎn) A 上,而不是節(jié)點(diǎn) B。同樣的道理,如果我們需要下線 1 個(gè)服務(wù)器節(jié)點(diǎn)(也就是縮容),也會(huì)存在類似的可能查詢不到數(shù)據(jù)的問(wèn)題

對(duì)于這個(gè)問(wèn)題怎么解決呢

我們就需要遷移數(shù)據(jù),基于新的計(jì)算公式 hash(key-01) % 4 ,來(lái)重新對(duì)數(shù)據(jù)和節(jié)點(diǎn)做映射。需要注意的是,數(shù)據(jù)的遷移成本是非常高的

如何解決這個(gè)問(wèn)題---一致性哈希

一致性哈希也是使用了取模運(yùn)算,但是和傳統(tǒng)的取摸運(yùn)算不同,一致性哈希算法是對(duì)2^32 - 1進(jìn)行取模運(yùn)算

即使這些數(shù)據(jù)均勻,但是數(shù)據(jù)的活躍度不同,存放熱點(diǎn)數(shù)據(jù)多的節(jié)點(diǎn)訪問(wèn)量非常大,就很容易的達(dá)到CPU瓶頸。一致性哈希算法即將整個(gè)哈希值空間組織成一個(gè)虛擬的圓環(huán)---哈希環(huán)

通過(guò)哈希算法,將節(jié)點(diǎn)映射到哈希環(huán)上,通常是節(jié)點(diǎn)主機(jī)名,ip地址等如下圖

哈希環(huán)

在尋址的過(guò)程就只需要兩步

  • 將key作為參數(shù)執(zhí)行c-hash計(jì)算出哈希值,確定key在環(huán)的位置

  • 從這個(gè)位置沿著哈希環(huán)順時(shí)針走,遇到的第一個(gè)節(jié)點(diǎn)即key對(duì)應(yīng)的節(jié)點(diǎn)

如下圖所示

尋址案例

從上圖可以發(fā)現(xiàn),key01對(duì)應(yīng)節(jié)點(diǎn)A,key03對(duì)應(yīng)節(jié)點(diǎn)C,如果此時(shí)C宕機(jī)了,只需要將key03定位到節(jié)點(diǎn)A即可,key01和key02并不需要改變。所以一致性哈希算法在增加和減少節(jié)點(diǎn)的時(shí)候,只需要重新定位一小部分?jǐn)?shù)據(jù)而不需要重新定位所有數(shù)據(jù),這樣就實(shí)現(xiàn)了"增加/減少節(jié)點(diǎn)需要大規(guī)模遷移"這個(gè)問(wèn)題

節(jié)點(diǎn)B失效

如果節(jié)點(diǎn)比較少,是不是很容易就將請(qǐng)求數(shù)據(jù)打到一個(gè)節(jié)點(diǎn)呢?

這個(gè)問(wèn)題即"數(shù)據(jù)傾斜問(wèn)題",由于節(jié)點(diǎn)的不均勻是的大量你的請(qǐng)求訪問(wèn)到節(jié)點(diǎn)A上,造成負(fù)載不均衡。

數(shù)據(jù)傾斜

鑒于這個(gè)問(wèn)題引入了虛擬節(jié)點(diǎn),簡(jiǎn)單的來(lái)說(shuō)通過(guò)增加節(jié)點(diǎn)的個(gè)數(shù)來(lái)緩解節(jié)點(diǎn)的不均勻現(xiàn)象

所謂虛擬節(jié)點(diǎn)即對(duì)每個(gè)服務(wù)器節(jié)點(diǎn)計(jì)算多個(gè)哈希值,假設(shè)一個(gè)真實(shí)的節(jié)點(diǎn)有2個(gè)虛擬節(jié)點(diǎn),此時(shí)我的三個(gè)節(jié)點(diǎn)就共有6個(gè)虛擬節(jié)點(diǎn),如下圖所示

引入虛擬節(jié)點(diǎn)

此時(shí)如果在環(huán)上順時(shí)針尋找虛擬節(jié)點(diǎn),假設(shè)key01選擇虛擬節(jié)點(diǎn)nodeB02,那么此時(shí)將請(qǐng)求映射到真是節(jié)點(diǎn)B即可

所以通過(guò)虛擬節(jié)點(diǎn)擴(kuò)充節(jié)點(diǎn)數(shù)量的方式解決節(jié)點(diǎn)較少情況下數(shù)據(jù)傾斜的問(wèn)題,代價(jià)非常小,只需要增加一個(gè)字典map維護(hù)真實(shí)節(jié)點(diǎn)和虛擬節(jié)點(diǎn)的映射關(guān)系即可

  • 說(shuō)說(shuō)HTTP1.0 1.1 2 3的演進(jìn)

之前有一篇文章單獨(dú)說(shuō)了這個(gè)問(wèn)題,現(xiàn)在粗略總結(jié)下,希望讀者們?cè)偃ゲ椴橄嚓P(guān)資料

http/1.1 相對(duì)于http/1.0性能上的改進(jìn):

  • http/1.0 采用的是短連接,會(huì)有較大的三次握手和四次揮手的開銷

  • 支持管道傳輸,http/1.0 只有第一個(gè)響應(yīng)回來(lái)才能發(fā)這個(gè)請(qǐng)求,但是http/1.1 可以連續(xù)發(fā)送,并不需要等待其回來(lái),減少了整體響應(yīng)時(shí)間

http/1.1 性能瓶頸:

  • 請(qǐng)求/響應(yīng)的頭部沒(méi)有經(jīng)改壓縮就發(fā)送,只能壓縮body部分

  • 發(fā)送冗長(zhǎng)的首部,每次互相發(fā)送相同的首部造成的浪費(fèi)較多

  • 服務(wù)器是按順序響應(yīng)的,會(huì)出現(xiàn)隊(duì)頭擁塞的情況

  • 沒(méi)有請(qǐng)求優(yōu)先級(jí)控制

  • 請(qǐng)求只能從客戶端開始,服務(wù)器只能被動(dòng)響應(yīng)

http/2

  • 采用了HPACK算法避免傳送相同的頭部,并且對(duì)頭部數(shù)據(jù)進(jìn)行了壓縮

  • 對(duì)傳輸?shù)臄?shù)據(jù)采用二進(jìn)制的方式傳輸,分為頭部幀和數(shù)據(jù)幀

  • 對(duì)連接進(jìn)行了復(fù)用,只要訪問(wèn)同一個(gè)域名下的資源,不必進(jìn)行TCP連接的重新建立

  • 支持服務(wù)端push

  • 對(duì)于服務(wù)端的響應(yīng)也不會(huì)不會(huì)出現(xiàn)隊(duì)頭擁塞的情況,可以根據(jù)優(yōu)先級(jí)進(jìn)行響應(yīng)

http/3 QUIC

  • 采用了基于UDP的傳輸層協(xié)議,希望取代TCP

  • 仍然也有隊(duì)頭阻塞的情況,例如當(dāng)TCP出現(xiàn)丟包重傳時(shí)

  • 支持應(yīng)用層級(jí)別的重傳,而且在只丟失一個(gè)數(shù)據(jù)包的情況下不需要重傳,使用糾錯(cuò)機(jī)制恢復(fù)丟失的包

  • 說(shuō)說(shuō)數(shù)據(jù)庫(kù)事務(wù)的四大特性

事務(wù)時(shí)一個(gè)可執(zhí)行的邏輯單元,該邏輯單元的操作要么都執(zhí)行,要么都不執(zhí)行,事務(wù)具有ACID四個(gè)性質(zhì)

  • 原子性:指事務(wù)包含的所有操作,要么都被執(zhí)行成功,如果中間有一條語(yǔ)句失敗,則進(jìn)行回滾。

  • 一致性:指事務(wù)執(zhí)行前和執(zhí)行后都必須處于一致性狀態(tài)

  • 隔離性:事務(wù)之間是相互獨(dú)立的,中間狀態(tài)對(duì)外是不可見(jiàn)的

  • 持久性:數(shù)據(jù)的修改是永久的

  • 多加索引一定很好嗎

索引主要用于加速查詢速度,但并發(fā)越多越好,因?yàn)樗饕枰加梦锢砜臻g的,且索引的維護(hù)需要時(shí)間的,所以如果建索引,一般來(lái)說(shuō),應(yīng)該查詢的次數(shù)大于插入的次數(shù),同時(shí)我們一般只對(duì)例如where或者h(yuǎn)aving子句中涉及的字段進(jìn)行設(shè)置索引,因?yàn)槠渌牡胤骄退憬⒘怂饕?#xff0c;一般也用不到,只是浪費(fèi)。

  • 請(qǐng)問(wèn)TCP哪些保證了數(shù)據(jù)傳輸?shù)目煽啃?/p>

序列號(hào)、確認(rèn)重傳、超時(shí)重傳、擁塞控制(ps 看過(guò)我之前文章的小伙伴,問(wèn)這個(gè)問(wèn)題如果不能扯上一小時(shí),自罰三杯)

  • 三個(gè)線程順序打印A-Z

#include?<unistd.h> #include?<pthread.h> #include?<iostream> using?namespace?std;char?ch?=?'A'?-?1;pthread_cond_t??cond??=?PTHREAD_COND_INITIALIZER; pthread_mutex_t?mutex?=?PTHREAD_MUTEX_INITIALIZER;void*?print_fun(void?*?args){int?i?=?*((int*)args);char?next_ch?=?'A'?+?i;?while(next_ch?<=?'Z'){pthread_mutex_lock(&mutex);while(ch?+?1?!=?next_ch)pthread_cond_wait(&cond,?&mutex);ch++;cout<<?pthread_self()?<<?":"<<?ch?<<?endl;next_ch?=?ch?+?3;pthread_mutex_unlock(&mutex);pthread_cond_broadcast(&cond);}return?nullptr; }int?main(){pthread_t?tids[3];int?pos?=?0;for(int?i?=?0;?i?<?3;?++i){pthread_create(tids?+?i,?nullptr,?print_fun,?&pos);sleep(1);pos++;}for(int?i?=?0;?i?<?3;?++i){pthread_join(tids[i],?nullptr);}return?0; }

5 總結(jié)

請(qǐng)記下以下幾點(diǎn):

  • 公司招你去是干活了,不會(huì)因?yàn)槟阍趺丛趺吹亩档蛯?duì)你的要求標(biāo)準(zhǔn)。

  • 工具上面寫代碼和手撕代碼完全不一樣。

  • 珍惜每一次面試機(jī)會(huì)并學(xué)會(huì)復(fù)盤。

  • 對(duì)于應(yīng)屆生主要考察的還是計(jì)算機(jī)基礎(chǔ)知識(shí)的掌握,項(xiàng)目要求沒(méi)有那么高,是自己做的就使勁摳細(xì)節(jié),做測(cè)試,只有這樣,才知道會(huì)遇到什么問(wèn)題,遇到什么難點(diǎn),如何解決的。從而可以侃侃而談了。

  • 非科班也不要怕,怕了你就輸了!一定要多嘗試。

有道無(wú)術(shù),術(shù)可成;有術(shù)無(wú)道,止于術(shù)

歡迎大家關(guān)注Java之道公眾號(hào)

好文章,我在看??

總結(jié)

以上是生活随笔為你收集整理的「面试」美团肝了我30+问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

久久久久久久久久久久电影 | 国产成人免费av电影 | 美女在线免费观看视频 | 亚洲精品国偷拍自产在线观看 | 99国产在线观看 | 国语久久| 在线亚洲午夜片av大片 | 日韩在线观看中文 | 干干操操| 久久人人艹 | 久久电影国产免费久久电影 | 国产精品久久久久久久久久久久冷 | 在线天堂中文www视软件 | 亚洲五月六月 | 九九热精品国产 | 911精品视频| 麻豆影视网站 | 欧美日韩久久 | 91精品国产91 | 中文字幕在线成人 | 丁香六月色 | av在线激情 | 福利网在线 | 久久狠狠一本精品综合网 | 久久综合狠狠狠色97 | 国产精品毛片久久蜜 | 久久综合色影院 | 精品少妇一区二区三区在线 | 中文字幕中文 | 五月丁色 | 久久久久精 | 国产流白浆高潮在线观看 | 欧美精品你懂的 | 91亚洲精品久久久久图片蜜桃 | 国产小视频免费在线观看 | 毛片激情永久免费 | 国产成人333kkk | 97人人射| av观看久久久| 操操操人人 | 国产精品久久久久久久久久久不卡 | 99re国产视频 | 91最新在线视频 | 免费在线观看毛片网站 | 五月婷网站 | 粉嫩av一区二区三区入口 | 综合天天 | 日本中文字幕电影在线免费观看 | 91视频高清免费 | av在线播放观看 | 欧美在线视频日韩 | 久久精品视频国产 | 成人av教育 | 日韩一级成人av | 国产精品一区免费在线观看 | 免费在线观看av | 国产亚洲资源 | 右手影院亚洲欧美 | ,久久福利影视 | 久久av中文字幕片 | 成 人 黄 色 免费播放 | 视频91| 亚洲精品在线资源 | 特级黄录像视频 | 2019中文字幕第一页 | 亚洲精品国产精品久久99 | 黄色av免费看 | 2019国产精品 | av大片免费在线观看 | 日韩中文字幕免费视频 | 久久精品综合视频 | 色九九在线 | 夜夜夜草 | 午夜精品久久久久久久99婷婷 | 国产一级电影 | 国产98色在线 | 日韩 | 久久久久久久久久久高潮一区二区 | 九色视频网 | 国产精品高清一区二区三区 | 色资源在线观看 | 在线天堂8√ | 色黄视频免费观看 | 国产一二三区av | 国产91亚洲| 国产精品久久久久aaaa | 人人干人人超 | 国产天天综合 | 99视频这里有精品 | 激情中文在线 | 久久综合网色—综合色88 | 正在播放国产一区二区 | 四虎成人精品永久免费av | av片中文字幕 | 亚洲成人av片在线观看 | 欧美成人黄色片 | 久久高清精品 | 国产九色视频在线观看 | 99成人在线视频 | 综合国产在线观看 | 超碰精品在线 | 久久久久成人精品亚洲国产 | 久久国产精品第一页 | 久久久久久久久网站 | 99热国内精品 | 日韩av在线免费看 | 337p日本大胆噜噜噜噜 | 97超碰资源 | 天天干天天做天天爱 | 中文日韩在线视频 | 久久精品中文字幕少妇 | 成人av网站在线观看 | 成人午夜电影在线播放 | 精品日韩在线一区 | 久草在线久草在线2 | 99精品99| 色综合久久88色综合天天免费 | 中文字幕av在线免费 | 在线视频欧美日韩 | 亚洲婷婷在线 | 一二三区av | 粉嫩一二三区 | 91高清在线 | 中文字幕精品三区 | 欧美一区二区三区四区夜夜大片 | 超碰人人草人人 | 亚洲1级片 | 日韩女同av | 国产v视频 | 久久久www成人免费毛片 | 国产精品久久久久久久久久东京 | 中文资源在线播放 | 欧洲激情综合 | 在线观看中文字幕第一页 | 国产精品美女在线观看 | 日日干干夜夜 | 九九热在线视频 | 午夜久久久精品 | 一本一本久久a久久精品综合小说 | 91av电影在线 | 久久久久女人精品毛片九一 | 欧美一二三区播放 | 日韩欧美在线观看一区二区三区 | 911亚洲精品第一 | 久久久国产一区二区三区四区小说 | 久久99爱视频 | 亚洲成人av电影 | 亚洲国产精品视频在线观看 | 999亚洲国产996395 | 西西444www大胆无视频 | 久久艹在线观看 | 久草视频在线播放 | 成人黄色在线播放 | 深夜男人影院 | 999久久久久 | 美女视频国产 | 91精品国产91久久久久久三级 | 国产又粗又猛又黄 | 麻豆精品国产传媒 | 五月天丁香| 精品久久久久久国产91 | 日韩视频免费在线观看 | 香蕉色综合 | 久久免费资源 | 激情丁香5月 | 色综合天天色 | 亚洲情感电影大片 | 久久午夜羞羞影院 | 激情五月六月婷婷 | 国产精品成人国产乱一区 | 亚洲精品国产区 | 婷婷中文字幕在线观看 | 国产精品美女久久久免费 | 四虎免费av | 欧美日韩在线网站 | 久久精品这里都是精品 | 91理论片午午伦夜理片久久 | 在线天堂视频 | 久久亚洲专区 | 国产高清成人av | 亚洲japanese制服美女 | 国产黄色片久久久 | 夜夜婷婷 | 亚洲综合色视频 | 日韩理论在线视频 | 日韩欧美综合在线视频 | 黄色av影视 | www日日夜夜| 国际精品久久久 | 午夜久久影视 | 最新婷婷色 | 日韩 精品 一区 国产 麻豆 | 中文免费在线观看 | 最新超碰在线 | 正在播放国产91 | 视频99爱 | 国产乱码精品一区二区蜜臀 | 色国产精品一区在线观看 | 九九热在线精品 | 天天av综合网 | 最新日韩视频在线观看 | 国产精品毛片久久 | 午夜12点| 97超碰在线免费 | 美女视频黄色免费 | 91视频在线| 欧美午夜寂寞影院 | 亚洲成av人片在线观看 | 91精品久久久久久久99蜜桃 | 欧美黄在线 | 一区二区三区四区精品 | 免费在线观看成人av | 国产精品美女免费 | 日日躁夜夜躁aaaaxxxx | 香蕉视频18 | 亚洲激情p | www.伊人网.com| 国产玖玖在线 | 狠狠五月天| 日韩有码中文字幕在线 | 国产日韩精品在线观看 | 中文字幕视频一区 | 久草在线91 | 九九99| 亚洲aⅴ在线 | 国内视频1区 | 中文字幕传媒 | 天天综合网入口 | 免费日韩三级 | av看片在线观看 | 国产香蕉久久精品综合网 | 最新真实国产在线视频 | 亚洲一级黄色大片 | 永久免费观看视频 | 亚洲电影久久久 | 91色吧| 在线成人看片 | 中文字幕在线久一本久 | 精品 一区 在线 | 日韩三级成人 | 在线观看亚洲成人 | 超碰成人免费电影 | 国产精品1区2区在线观看 | 日韩精品在线视频免费观看 | 日本久久久久久科技有限公司 | 91丨九色丨蝌蚪丰满 | 91桃色在线免费观看 | 麻豆国产视频下载 | 日本三级国产 | 免费亚洲精品 | 五月天av在线| 国产在线色站 | 亚洲闷骚少妇在线观看网站 | 国产青青青 | 国产精品二区三区 | 亚洲开心色 | 伊人热 | 91久久久久久国产精品 | 96精品高清视频在线观看软件特色 | 天天插综合 | 免费看国产曰批40分钟 | 日韩视频1 | 欧美色噜噜 | 国产美女免费观看 | 六月丁香伊人 | 91精品久久久久久综合五月天 | 97精品在线视频 | 91视频传媒 | 中文字幕在线视频一区二区 | 中文字幕激情 | 国产资源精品 | 996久久国产精品线观看 | 久久成人视屏 | 午夜91视频| 国产精品9999 | 337p日本大胆噜噜噜噜 | 午夜视频在线瓜伦 | 制服丝袜亚洲 | 99精品久久久久久久久久综合 | 色网站黄 | 在线观看亚洲视频 | 免费色视频网址 | 午夜精品一区二区三区在线视频 | 日韩中文在线视频 | 夜夜操天天摸 | 久久成人高清视频 | 中文国产成人精品久久一 | 香蕉视频最新网址 | 91av在线国产 | 中文字幕免费久久 | 国产破处在线视频 | 国产精品永久免费视频 | 久久视频在线观看 | 天天操天天操天天 | 欧美精品一区二区免费 | 成人免费视频播放 | 91精品导航| 精品久久亚洲 | 久久精品国产精品亚洲精品 | 在线免费试看 | 欧美日韩成人一区 | 国产高清一级 | 国产婷婷 | 亚洲va天堂va欧美ⅴa在线 | 欧美日韩久久不卡 | 不卡精品视频 | 少妇超碰在线 | 综合伊人av | 中文字幕乱偷在线 | 国产精品免费久久久久久久久久中文 | 日韩精品一卡 | 欧美在线观看视频一区二区三区 | 首页中文字幕 | 激情黄色av | 久久精品国产一区 | 狠狠干狠狠艹 | 国产一级做a爱片久久毛片a | 免费中文字幕视频 | 精品人人爽 | 中文字幕电影网 | 欧美成人影音 | 性色av一区二区 | www黄免费| 欧美激情视频一区二区三区 | 日韩在线观看影院 | 婷婷丁香九月 | 天天玩天天操天天射 | 国产91精品看黄网站在线观看动漫 | a黄色大片 | 91精品麻豆 | 国产日产欧美在线观看 | 97超碰中文字幕 | 国产视频亚洲视频 | 成人免费视频在线观看 | 色婷婷丁香 | 精品91久久久久 | 夜夜躁狠狠躁 | 午夜免费在线观看 | 久久午夜影视 | 日韩精品久久久久久久电影99爱 | 久久99亚洲网美利坚合众国 | 精品在线免费观看 | 国产精品免费观看网站 | 日本精品视频网站 | 久久精品精品电影网 | av高清在线观看 | 狠狠色狠狠色综合系列 | 99爱国产精品 | 亚洲免费精彩视频 | 在线播放一区二区三区 | 西西www444| 国产精品观看视频 | 色综合天天射 | 丁香综合| 91最新国产 | 日韩免费观看av | 精品久久一二三区 | 日韩中文字幕在线观看 | 国产精品一区二区果冻传媒 | 在线日韩亚洲 | 久久午夜免费观看 | 91免费日韩 | 成年人网站免费观看 | 国产原创av片 | 成人av在线一区二区 | 亚洲欧洲精品视频 | 夜添久久精品亚洲国产精品 | 在线观看视频免费大全 | 亚洲精品在线观看网站 | 日韩电影在线一区二区 | 在线观看国产一区 | www久久99| 久久黄色片 | 日韩免费高清在线观看 | 在线电影av | 久久蜜臀一区二区三区av | 国产第一福利 | 久久精品国产亚洲精品2020 | 日韩免费一二三区 | 欧洲一区二区在线观看 | 天天操一操 | 久久a热6 | 青青啪| 日日夜夜人人精品 | 亚洲欧美精品一区 | 久久不卡免费视频 | 久久精品国产免费看久久精品 | 久久久免费网站 | 久久久久综合精品福利啪啪 | 亚洲在线视频免费 | 五月婷婷丁香综合 | 成人在线观看av | 精品国产一区二区三区av性色 | av女优中文字幕在线观看 | 国产色道 | 午夜精品久久久久久久久久久久 | 在线综合 亚洲 欧美在线视频 | 国产 字幕 制服 中文 在线 | 日韩精品第一区 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产91在线 | 美洲 | 免费国产一区二区视频 | 国产原创在线 | 丁香六月天婷婷 | 欧美一区在线观看视频 | 中文字幕免费高清 | 天天干天天拍天天操天天拍 | 精品久久美女 | 精品久久久久久久 | 六月天综合网 | 久久婷婷五月综合色丁香 | 97成人超碰| 欧美在线一二 | 成人av在线播放网站 | 国产亚洲日本 | 波多野结衣在线观看视频 | 成人在线电影观看 | 成人免费av电影 | 欧美日本啪啪无遮挡网站 | 国产精品网站一区二区三区 | 中文字幕 影院 | 久久久国产精品一区二区三区 | 亚洲综合色视频 | 亚洲伊人色 | 日韩欧美高清一区二区 | 久久久久久久久综合 | 日韩成人xxxx| 欧美一级黄色视屏 | 国产成人精品国内自产拍免费看 | 免费a网址| 00av视频 | 欧美伦理一区 | 精品在线观看一区二区 | 激情久久久久久久久久久久久久久久 | 久久午夜精品视频 | 国产精品久久99综合免费观看尤物 | 欧美整片sss | 久久人操 | 日韩亚洲精品电影 | 国产精品高潮呻吟久久久久 | 国产91aaa | free. 性欧美.com | 天天弄天天干 | 999电影免费在线观看2020 | 在线观看 国产 | 亚洲精品在线一区二区 | 久久激五月天综合精品 | 99国内精品久久久久久久 | 久久久精品国产免费观看一区二区 | 久久久影片 | 全久久久久久久久久久电影 | 午夜神马福利 | 美女精品久久 | 在线观看国产麻豆 | 国内精品久久久久久久久久久 | 欧美日韩一级久久久久久免费看 | 国产精品久久久久久久久搜平片 | av福利电影| 精品 激情 | 久久久久久久免费 | 韩国av一区二区三区在线观看 | 国产高清在线免费观看 | 欧美色图狠狠干 | 日日干夜夜操视频 | 国产成人香蕉 | 国产精品成人av在线 | 国内精品久久久久影院日本资源 | 69精品在线观看 | 五月婷婷久久丁香 | 色视频在线观看免费 | 国产一级做a爱片久久毛片a | 中文字幕在线观看一区二区 | 欧美韩日在线 | 黄色一及电影 | 久久成人黄色 | 国产黄色播放 | 91精品区 | 日本中文字幕在线视频 | 精品久久久久国产 | 欧美精品视 | 国产精品mv在线观看 | 国产成人三级一区二区在线观看一 | 在线最新av | 国产91对白在线 | 亚洲伊人成综合网 | 五月激情六月丁香 | 国产三级午夜理伦三级 | 在线电影91 | 国产经典av | 99久久超碰中文字幕伊人 | 国产黄| 97国产精品久久 | 91av社区| 人九九精品 | 国产精品亚洲人在线观看 | 免费高清在线视频一区· | 免费在线观看中文字幕 | 国产电影一区二区三区四区 | 欧美一区二区三区在线 | 在线中文字幕播放 | 99人久久精品视频最新地址 | 一区二区三区影院 | free. 性欧美.com | 在线国产片 | 伊人婷婷 | 黄色三级在线观看 | 久久久久久网址 | 这里只有精彩视频 | 欧美一级电影 | 国产一级免费在线观看 | 999久久久国产精品 高清av免费观看 | 久久国产露脸精品国产 | 久久中文网 | 久久精品看 | 97超碰.com| 亚洲精品久久久久999中文字幕 | 美女在线国产 | 亚洲一区网站 | 毛片随便看 | 97色婷婷人人爽人人 | 亚洲精品国精品久久99热一 | 97激情影院| 久久免费视频在线观看30 | 久久婷婷激情 | 久久久免费观看完整版 | bayu135国产精品视频 | 正在播放亚洲精品 | 国产精品福利在线播放 | 国产福利91精品一区 | 久久人91精品久久久久久不卡 | 99热最新 | 91伊人久久大香线蕉蜜芽人口 | 国产精品99久久久精品免费观看 | 一区二区久久久久 | 狠狠艹夜夜干 | 欧美性色xo影院 | 欧美激情第28页 | 国内精品久久久久影院男同志 | 最近中文字幕高清字幕在线视频 | 精品久久五月天 | 国产爽妇网 | 日韩激情综合 | 91在线视频一区 | 久久精品www人人爽人人 | 国产精品成人免费一区久久羞羞 | 一级电影免费在线观看 | 日韩在线观看视频网站 | a在线一区 | 国产中文字幕视频在线 | 亚洲欧洲精品视频 | 久久久久影视 | 国产精品久久久久久久久费观看 | 一区二区三区久久 | 国产成人一区二区啪在线观看 | 狠狠久久 | 日本久久免费视频 | 中文一区在线 | 国产视频2 | 欧美久久久久久久久久久 | 日本爱爱免费视频 | 超碰成人免费电影 | 久久综合久色欧美综合狠狠 | 久久99久久99精品中文字幕 | 亚洲精品美女视频 | 日韩视频一二三区 | 久久久高清一区二区三区 | 伊甸园永久入口www 99热 精品在线 | 91麻豆文化传媒在线观看 | 国产手机视频在线播放 | 欧美精品国产精品 | 成人四虎影院 | 激情久久伊人 | 欧美一区二区三区特黄 | 草樱av | 天天综合网在线 | 中文字幕 国产精品 | 国产在线色视频 | 国产成人免费 | 毛片基地黄久久久久久天堂 | 久草香蕉在线 | 91热爆视频 | 日本中文字幕在线播放 | 国产成人精品在线 | 天天操天天干天天 | 亚洲一区二区三区毛片 | 久久久久久久久久久久影院 | 丁香久久五月 | 激情综合啪啪 | 亚洲精品色视频 | 欧美日韩免费观看一区=区三区 | 久久这里只精品 | 成人免费观看网站 | 狠狠色丁香久久婷婷综合丁香 | 最近中文字幕大全 | 久久99热国产 | 在线视频观看91 | 日韩特黄一级欧美毛片特黄 | 91精品免费看| av高清免费 | 99热最新 | 天天综合网 天天综合色 | 国产小视频免费观看 | 欧美日韩国产色综合一二三四 | 亚洲一区黄色 | 日韩免费电影一区二区三区 | 丝袜美腿亚洲综合 | 欧美另类人妖 | 热久久免费国产视频 | 91人网站 | 国产一线二线三线在线观看 | 欧美大码xxxx | www欧美xxxx | 91女子私密保健养生少妇 | 精品特级毛片 | 精品国产乱码久久久久久天美 | 天天操天天曰 | 久久久视屏 | 日韩91在线| 欧美成人精品欧美一级乱黄 | 国产特级毛片aaaaaa毛片 | 91视视频在线直接观看在线看网页在线看 | 91人人爽久久涩噜噜噜 | 婷婷综合| 最近久乱中文字幕 | 日韩高清www | 五月婷婷六月丁香 | 天天爱天天操天天射 | 久久久黄视频 | 中文字幕永久 | 免费福利视频网站 | 日韩大陆欧美高清视频区 | 亚洲午夜精 | 99免在线观看免费视频高清 | 99人久久精品视频最新地址 | 男女免费视频观看 | 97超碰在线久草超碰在线观看 | 91视频链接 | 在线电影日韩 | 久久精品伊人 | 一区二区三区手机在线观看 | 国产乱对白刺激视频在线观看女王 | 99理论片| 欧美日韩99 | 成人av日韩 | 亚洲第一av在线播放 | 国产午夜精品一区二区三区在线观看 | 天天干天天干天天 | 国内精品国产三级国产aⅴ久 | 婷婷综合av| 日韩高清二区 | 一区二区三区视频网站 | 久久免费高清视频 | 成人h动漫在线看 | 午夜久久久精品 | 亚洲日本va午夜在线电影 | 久久综合影院 | 国产97在线播放 | 久久久久99精品国产片 | 国产日本在线观看 | 尤物九九久久国产精品的分类 | 国产成人福利片 | 999久久久免费视频 午夜国产在线观看 | 国产女人40精品一区毛片视频 | 免费在线观看一区二区三区 | 尤物九九久久国产精品的分类 | 97精品国产 | 日日爽视频 | 久久国产成人午夜av影院宅 | 日韩成人免费观看 | 99久免费精品视频在线观看 | 免费看的黄色网 | 亚洲精品视频一 | www.色午夜 | 97视频人人澡人人爽 | 久久九九精品 | 精品福利国产 | 国产精品手机视频 | www.操.com| 国产不卡在线播放 | 五月婷婷激情综合 | 国产精品一区二区视频 | 福利视频一区二区 | 在线导航av | 超碰最新网址 | 一级片视频在线 | 国产女人免费看a级丨片 | 开心激情五月网 | 久久久91精品国产一区二区精品 | 国产一区二区高清不卡 | 超级碰碰碰免费视频 | 天天草天天| 日韩在线精品视频 | 99久久99久久精品国产片 | 中文在线最新版天堂 | 涩涩网站在线观看 | 免费成人在线网站 | 国产高清不卡av | av资源免费看 | av九九| 黄色小说免费在线观看 | 91av视频在线观看免费 | 国产码电影 | 91成品视频 | 97视频人人免费看 | 亚州黄色一级 | 国产色在线视频 | 中文日韩在线 | 日韩动态视频 | 亚洲一区免费在线 | 日韩高清观看 | 久久成年人 | 国产精品人人做人人爽人人添 | 婷婷午夜天 | 五月开心网 | 国产人成看黄久久久久久久久 | 成人免费视频观看 | 日日操网 | 99精品黄色| 久久精品电影 | 在线天堂视频 | 人人澡人人爱 | 日韩免费网站 | 在线视频欧美日韩 | 免费看搞黄视频网站 | 久久国产精品一区二区 | 午夜精品影院 | 91精品国产高清自在线观看 | 91在线最新 | 久久看片 | 97在线公开视频 | www.天天射.com | 成人午夜网址 | 一区二区三区四区五区在线 | 久久综合九色 | 波多野结衣在线中文字幕 | 国产色拍拍拍拍在线精品 | 激情综合久久 | 亚洲黄色免费在线看 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美va在线观看 | www夜夜 | 亚洲精品在线观看不卡 | 色偷偷男人的天堂av | 色吊丝在线永久观看最新版本 | 园产精品久久久久久久7电影 | 日韩免费电影在线观看 | 国产精品1区 | 涩涩网站在线观看 | 丁香国产视频 | 毛片永久新网址首页 | 国产精品毛片一区 | 日韩色综合网 | 91片在线观看 | 国产精品久久一区二区无卡 | 国产中文视 | 国产精品久久久久久久妇 | 伊人天天狠天天添日日拍 | 国产精品久久久久久久久搜平片 | 国产精品扒开做爽爽的视频 | 黄色毛片视频免费观看中文 | 国产亚洲精品久久久久久久久久久久 | 欧美成人手机版 | 91视频在线播放视频 | 成人在线观看网址 | 午夜国产福利在线观看 | 国产福利a | 日本二区三区在线 | 日韩精品一区电影 | 亚洲精品在线观看中文字幕 | 奇米影视四色8888 | 日日夜夜免费精品 | 成人国产精品免费观看 | 奇米导航 | 久久久久亚洲精品成人网小说 | 日韩精品视频免费专区在线播放 | 成人羞羞视频在线观看免费 | 欧美色综合久久 | 国产无套精品久久久久久 | 欧美在线观看小视频 | 成人在线播放视频 | 国产又黄又爽无遮挡 | 福利片视频区 | 四虎影视成人精品 | 香蕉在线观看视频 | 免费一级片观看 | 黄免费在线观看 | 在线成人短视频 | 国产午夜三级一二三区 | 色网站免费在线观看 | 在线观看成人小视频 | 久久99精品久久久久久 | 国产成人精品女人久久久 | 日韩精品免费一区二区在线观看 | 免费观看国产精品 | 成人欧美一区二区三区在线观看 | 天天搞天天干天天色 | 国产精品自产拍在线观看 | 国产999精品视频 | 欧美一级免费 | 久久久久久久免费看 | 天天草天天摸 | 一级欧美日韩 | 91精品国产乱码 | 国产精品一区二区三区久久 | 久久精品99精品国产香蕉 | 天天操天天添天天吹 | 国产免费三级在线观看 | 欧美精品中文字幕亚洲专区 | 日韩av不卡在线 | 婷婷色网 | 黄a在线观看 | 欧美精品免费一区二区 | 国产一级二级在线观看 | 夜色.com| 精品免费久久久久 | 国产 日韩 欧美 中文 在线播放 | 美女黄网站视频免费 | 国产精品黄色av | 欧美成人精品欧美一级乱 | 久久免费高清视频 | av7777777 | 欧美人体xx | 成人免费网站视频 | 婷婷丁香社区 | 亚洲欧美日韩在线一区二区 | 婷婷深爱网| 九九综合久久 | 特级aaa毛片| 九色porny真实丨国产18 | 日韩在线高清视频 | 国产成人精品a | 久久精品国产免费看久久精品 | 欧美日韩在线精品一区二区 | 日韩网站在线 | 日韩一区二区三区不卡 | 欧美性做爰猛烈叫床潮 | 91爱爱中文字幕 | 免费国产在线精品 | 国产麻豆精品一区二区 | 97超碰在线视 | 99视频在线精品免费观看2 | 中文字幕亚洲欧美 | 99婷婷| 成人在线网站观看 | 国产成人免费在线 | 在线观看视频日韩 | 少妇av片 | 色国产视频 | 久草五月| 五月婷婷综合在线视频 | 国产麻豆精品传媒av国产下载 | 午夜在线看 | 成年人黄色免费看 | 中文字幕欧美日韩va免费视频 | 国内精品久久久久国产 | 国产精品永久免费在线 | 91在线影院 | 丁香六月在线 | 午夜电影av| 手机版av在线 | 亚洲精品国产精品乱码在线观看 | 国产精品毛片一区二区在线看 | 成av在线 | www免费网站在线观看 | 亚洲最大激情中文字幕 | 夜夜躁天天躁很躁波 | 日韩在线观看免费 | 亚洲精品系列 | 夜夜看av| 国产美腿白丝袜足在线av | 久草视频网| 在线免费观看av网站 | 免费看国产一级片 | 日韩精品综合在线 | 九九电影在线 | 在线看国产一区 | 亚洲精品久久久久久中文传媒 | 久草在线官网 | 午夜影视一区 | 国产精品久久电影观看 | av激情五月| 天天射网| 色网站在线看 | 久久a久久 | 特级毛片爽www免费版 | 国产久视频 | 国产精品久久久久久妇 | 欧美精品v国产精品 | 播五月综合 | 日韩久久精品一区二区 | 六月丁香综合网 | 99精品国产免费久久久久久下载 | 亚洲一区二区三区毛片 | 久久露脸国产精品 | 97在线看 | 免费久久网 | 国产一区影院 | 国产精品久久一区二区无卡 | 国产视频97 | 亚州视频在线 | 国产高清在线免费 | 日韩免费看 | 麻豆国产精品永久免费视频 | 91九色视频观看 | 亚洲综合在线五月天 | 在线观看一二三区 | 欧美日韩在线播放 | 国产韩国日本高清视频 | 免费一级片观看 | 91日韩精品一区 | 亚洲精品视频在线观看视频 | 中文字幕av免费在线观看 | 久久精品网站视频 | 日本黄色免费电影网站 | 日韩av进入| 五月网婷婷 | 色天堂在线视频 | 最近日本字幕mv免费观看在线 | 婷婷国产视频 | 久久久久久国产一区二区三区 | 伊人导航 | 五月婷婷狠狠 | 亚洲成av人影片在线观看 | 91麻豆高清视频 | 亚洲欧美成人综合 | 久久久天天操 | 婷婷去俺也去六月色 | 欧美日韩在线免费观看 | 国产精品高清一区二区三区 | 精品国产片 | 三级午夜片 | 国产视频一区在线播放 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 日日干天天射 | 亚洲va欧洲va国产va不卡 | 91视视频在线直接观看在线看网页在线看 | 免费视频一二三区 | 亚洲欧美精品在线 | 久久免费视频99 | 日日夜色 | 日韩成片 | 国产精品观看在线亚洲人成网 | 黄色成人小视频 | 国产精品涩涩屋www在线观看 | 探花视频免费观看高清视频 | 亚洲亚洲精品在线观看 | 91精品国产综合久久久久久久 | 天天操夜夜操夜夜操 | 亚洲资源一区 | 欧美与欧洲交xxxx免费观看 | 麻豆精品视频在线观看免费 | 国产99色 | 最新av在线播放 | 欧美成人h版在线观看 | 欧美影片| 97电影网手机版 | www.狠狠操| 伊人天堂久久 | 狠狠色伊人亚洲综合网站色 | 三级黄色网络 | 国产高清精品在线 | 97超碰色偷偷 | 西西444www大胆高清视频 | 欧美精品一二三 | 国产精品第7页 | 一区二区精品视频 | 国产精品久久久久久久免费观看 | 国产第一页福利影院 | 最新av在线免费观看 | 国产人成一区二区三区影院 | 日韩电影一区二区三区 | 欧美精品免费在线 | 日韩天天干 | 亚洲精品国产精品国自产在线 | 国产98色在线 | 日韩 | 国产精品手机看片 | 亚洲成aⅴ人在线观看 | 亚洲欧美在线观看视频 | 日韩av高清在线观看 | 91.精品高清在线观看 | 欧美激情视频免费看 | 国产伦理一区二区 | 在线中文字幕视频 | 欧美激情第十页 | 久久国产精品视频 | 日日草夜夜操 | 久草视频国产 | 亚洲人毛片| 免费亚洲成人 | 国产精品久久久久久久免费大片 | av综合网址 | 亚洲视频免费视频 | 九九av| 国产综合91| 国产成人精品综合 | 美女久久久久久久久久 | 国产精华国产精品 | av电影亚洲 | 九九久久国产 |