亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

蘑菇街Java后端一面復(fù)盤:緩存一致性、并發(fā)與JVM核心考點(diǎn)

蘑菇街Java后端一面復(fù)盤:緩存一致性、并發(fā)與JVM核心考點(diǎn) 2019年7月底我還在實(shí)驗(yàn)室啃《深入理解Java虛擬機(jī)》突然收到一個(gè)杭州座機(jī)打來(lái)的電話。接起來(lái)才知道是蘑菇街提前批的一面。說(shuō)實(shí)話當(dāng)時(shí)有點(diǎn)措手不及因?yàn)橥锻旰?jiǎn)歷才三天根本沒(méi)想過(guò)會(huì)這么快好在提前批本身就是臨時(shí)起意的機(jī)會(huì)能走到哪兒是哪兒。后來(lái)這一面面了將近一個(gè)小時(shí)問(wèn)的內(nèi)容不算偏但每一塊都問(wèn)得很細(xì)尤其是項(xiàng)目細(xì)節(jié)和Java基礎(chǔ)答得讓我印象深刻。這幾天陸續(xù)有學(xué)弟學(xué)妹問(wèn)我當(dāng)年提前批的情況干脆把這場(chǎng)蘑菇街一面完整復(fù)盤出來(lái)按面試問(wèn)題我的答案復(fù)盤點(diǎn)評(píng)的結(jié)構(gòu)寫希望能給準(zhǔn)備校招后端崗位的同學(xué)一些參考。1. 提前批的節(jié)奏與我的準(zhǔn)備狀態(tài)1.1 蘑菇街提前批的時(shí)間線回顧2019年的秋招比往年更早蘑菇街的提前批大概在7月中旬就開了。我當(dāng)時(shí)是通過(guò)實(shí)驗(yàn)室學(xué)長(zhǎng)內(nèi)推投的投遞的是Java后端開發(fā)崗位。內(nèi)推后的第三天接到面試電話約在當(dāng)天晚上七點(diǎn)電話面試。時(shí)間線大概是這個(gè)節(jié)奏7月中旬內(nèi)推投遞簡(jiǎn)歷投遞后第3天接到一面電話邀約一面電話面試約55分鐘面試形式電話溝通沒(méi)有共享屏幕手撕代碼通過(guò)口述思路事后發(fā)代碼鏈接完成這里提醒一句蘑菇街當(dāng)時(shí)提前批和正式批是不沖突的提前批掛了還可以走正式批。所以不要因?yàn)闇?zhǔn)備不充分就放棄投遞提前批等于多了一次面試機(jī)會(huì)拼的就是一個(gè)早。1.2 我當(dāng)時(shí)的復(fù)習(xí)重心接到面試電話之前我的復(fù)習(xí)已經(jīng)持續(xù)了大概一個(gè)月。因?yàn)槟繕?biāo)是后端開發(fā)崗所以復(fù)習(xí)重心分配得很明確刷題劍指Offer全部過(guò)了一遍L(zhǎng)eetCode按高頻題刷了大概100道重點(diǎn)放在鏈表、二叉樹、動(dòng)態(tài)規(guī)劃三類。Java基礎(chǔ)HashMap、ArrayList源碼級(jí)理解JVM內(nèi)存模型和GC整理成腦圖。并發(fā)編程synchronized、ReentrantLock、volatile、線程池把原理和對(duì)比都寫了一遍。數(shù)據(jù)庫(kù)MySQL索引底層、事務(wù)隔離級(jí)別、MVCC、常見(jiàn)索引失效場(chǎng)景。中間件Redis的數(shù)據(jù)結(jié)構(gòu)、持久化、緩存穿透/擊穿/雪崩。面的過(guò)程中我發(fā)現(xiàn)這種按主線復(fù)習(xí)臨時(shí)補(bǔ)充的策略是對(duì)的。蘑菇街一面并沒(méi)有問(wèn)太偏門的內(nèi)容全部落在Java后端開發(fā)的核心范圍內(nèi)。換句話說(shuō)只要認(rèn)真準(zhǔn)備過(guò)上述內(nèi)容一面基本都能應(yīng)對(duì)。2. 一面全程從自我介紹到項(xiàng)目深挖2.1 開場(chǎng)定調(diào)自我介紹怎么說(shuō)電話接通后面試官簡(jiǎn)單確認(rèn)了身份直接讓我自我介紹。我的回答大概是這樣面試官您好我是XX大學(xué)軟件工程專業(yè)2020屆研究生研究生期間主要做Java后端開發(fā)方向。對(duì)Java基礎(chǔ)、并發(fā)編程、JVM和MySQL底層原理有過(guò)系統(tǒng)的學(xué)習(xí)平時(shí)用Spring Boot和MyBatis做項(xiàng)目。最近主要做了兩個(gè)項(xiàng)目一個(gè)是基于微服務(wù)的校園秒殺系統(tǒng)另一個(gè)是實(shí)驗(yàn)室的設(shè)備借用管理平臺(tái)。其中秒殺系統(tǒng)涉及到高并發(fā)下的庫(kù)存扣減和緩存一致性設(shè)計(jì)是比較能聊的一個(gè)項(xiàng)目。復(fù)盤時(shí)回頭看這段自我介紹其實(shí)埋了兩個(gè)鉤子一是主動(dòng)把話題引到并發(fā)和緩存二是強(qiáng)調(diào)秒殺項(xiàng)目可以深聊。面試官后續(xù)果然順著項(xiàng)目問(wèn)了很多這比被動(dòng)等他隨便問(wèn)要舒服得多。我的經(jīng)驗(yàn)是自我介紹不用太長(zhǎng)但一定要有意識(shí)地引導(dǎo)面試官去問(wèn)你準(zhǔn)備最充分的部分。2.2 項(xiàng)目深挖秒殺系統(tǒng)的緩存一致性設(shè)計(jì)面試官聽完自我介紹沒(méi)有問(wèn)實(shí)驗(yàn)室管理平臺(tái)直接問(wèn)秒殺系統(tǒng)你剛才說(shuō)秒殺系統(tǒng)涉及高并發(fā)說(shuō)說(shuō)最核心的難點(diǎn)你怎么解決的我當(dāng)時(shí)把項(xiàng)目里的技術(shù)方案完整講了一遍。這里還原關(guān)鍵對(duì)話。面試官庫(kù)存扣減怎么設(shè)計(jì)的我最開始是直接操作數(shù)據(jù)庫(kù)每次下單都update庫(kù)存表并且加for update鎖。壓測(cè)的時(shí)候發(fā)現(xiàn)連接池滿得非??霶PS頂?shù)綆装倬蜕喜蝗チ?。后?lái)改成兩層設(shè)計(jì)——先把庫(kù)存預(yù)熱到Redis用Redis的decr命令做庫(kù)存扣減扣減成功后再把下單請(qǐng)求丟進(jìn)RabbitMQ由消費(fèi)者異步創(chuàng)建訂單。面試官為什么選Redis的decr而不是數(shù)據(jù)庫(kù)悲觀鎖我數(shù)據(jù)庫(kù)的for update本質(zhì)上是把一行記錄鎖住并發(fā)能力受限于數(shù)據(jù)庫(kù)的連接數(shù)和鎖等待時(shí)間。而Redis是單線程模型decr命令天然是原子的單機(jī)QPS可以支撐到十萬(wàn)級(jí)別比數(shù)據(jù)庫(kù)判斷庫(kù)存再扣減要快得多。另外這里還有一個(gè)細(xì)節(jié)用戶維度我們用了Redis setnx做一人一單限制防止同一用戶秒殺多件。面試官緩存和數(shù)據(jù)庫(kù)的一致性怎么保證我用的Cache Aside Pattern也就是先更新數(shù)據(jù)庫(kù)再刪除緩存。讀到的時(shí)候如果緩存miss再?gòu)臄?shù)據(jù)庫(kù)讀出來(lái)回填緩存。面試官為什么是刪除緩存而不是更新緩存我更新緩存需要算出最新的數(shù)據(jù)再寫進(jìn)去成本比刪除高而且并發(fā)場(chǎng)景下兩個(gè)線程交替更新緩存和數(shù)據(jù)庫(kù)很容易導(dǎo)致緩存里終態(tài)錯(cuò)誤。刪除緩存成本低即使刪早了下一次讀的時(shí)候重新從數(shù)據(jù)庫(kù)加載就行邏輯簡(jiǎn)單可靠。面試官那刪除緩存失敗怎么辦我我們做了一個(gè)兜底緩存key設(shè)置了過(guò)期時(shí)間就算刪除失敗最終也會(huì)過(guò)期不會(huì)永久不一致。同時(shí)我們把刪除失敗的key寫入本地消息表通過(guò)RabbitMQ延遲隊(duì)列重試刪除。更完善的方案是訂閱MySQL的binlog用canal解析出數(shù)據(jù)變更事件再異步刪除對(duì)應(yīng)緩存這樣完全不依賴業(yè)務(wù)代碼手動(dòng)刪除。面試官對(duì)這個(gè)回答沒(méi)有再追問(wèn)點(diǎn)了下頭就切到下一題。復(fù)盤下來(lái)項(xiàng)目這塊他能問(wèn)到的點(diǎn)基本都被我提前準(zhǔn)備過(guò)。這里最大的心得是項(xiàng)目深挖其實(shí)不是考你做得多牛而是考你對(duì)方案的理解深度。光說(shuō)用了Redis不夠得說(shuō)得出來(lái)為什么不用數(shù)據(jù)庫(kù)鎖Redis為什么合適刪緩存失敗會(huì)有什么問(wèn)題怎么補(bǔ)救。把這些問(wèn)題想通了項(xiàng)目環(huán)節(jié)基本穩(wěn)了。2.3 面試官追問(wèn)的意圖后來(lái)想想面試官在每個(gè)追問(wèn)背后其實(shí)都在考察一件事項(xiàng)目到底是不是你自己做的你有沒(méi)有真正想過(guò)方案背后的取舍。比如緩存一致性問(wèn)題如果只是背過(guò)先更新數(shù)據(jù)庫(kù)再刪除緩存這句話被問(wèn)失敗怎么辦就露餡了。所以做項(xiàng)目的時(shí)候不能只看博客里怎么寫一定要親手把方案跑通把異常場(chǎng)景都模擬一遍。3. 基礎(chǔ)題問(wèn)答實(shí)錄Java并發(fā)、JVM、MySQL項(xiàng)目聊了大概15分鐘之后面試官話鋒一轉(zhuǎn)進(jìn)入基礎(chǔ)題環(huán)節(jié)。速度明顯加快基本是我問(wèn)你答答完就下一題的節(jié)奏。3.1 Java集合與并發(fā)面試官HashMap的底層結(jié)構(gòu)是什么樣的JDK 1.7到1.8有哪些變化我HashMap底層是數(shù)組加鏈表JDK 1.8之后引入了紅黑樹。當(dāng)鏈表長(zhǎng)度超過(guò)8同時(shí)數(shù)組容量達(dá)到64鏈表會(huì)轉(zhuǎn)為紅黑樹主要是為了處理hash沖突嚴(yán)重時(shí)鏈表過(guò)長(zhǎng)、查詢效率從O(n)惡化的問(wèn)題。擴(kuò)容方面默認(rèn)容量16負(fù)載因子0.75也就是元素個(gè)數(shù)超過(guò)閾值12時(shí)就擴(kuò)容到原來(lái)的兩倍。JDK 1.8還有一個(gè)重要的優(yōu)化擴(kuò)容時(shí)不用重新計(jì)算hash而是看原h(huán)ash值新增的那一位是0還是10就留在原位置1就放到原位置加舊容量的位置。另外1.7是頭插法并發(fā)擴(kuò)容可能形成環(huán)形鏈表1.8改成尾插法避免了這個(gè)問(wèn)題但HashMap本身線程不安全并發(fā)場(chǎng)景還是要用ConcurrentHashMap。面試官ConcurrentHashMap底層是怎么做線程安全的我1.7的時(shí)候是分段鎖內(nèi)部維護(hù)多個(gè)Segment每個(gè)Segment繼承ReentrantLock不同段之間可以并行操作。1.8放棄了分段鎖改用synchronized加CAS鎖的粒度是桶也就是數(shù)組的每個(gè)槽位只有發(fā)生hash沖突的桶才會(huì)鎖住并發(fā)度更高。擴(kuò)容時(shí)支持多線程協(xié)助遷移把一個(gè)大數(shù)組拆成多個(gè)任務(wù)分給不同線程去做。面試官volatile和synchronized有什么區(qū)別我volatile只保證可見(jiàn)性和有序性它會(huì)強(qiáng)制把修改立即寫回主內(nèi)存同時(shí)通過(guò)內(nèi)存屏障禁止指令重排序但它不保證原子性。synchronized保證原子性、可見(jiàn)性和有序性。所以像i這種操作光用volatile是不行的。volatile典型的應(yīng)用場(chǎng)景是狀態(tài)標(biāo)志位還有單例模式里的Double Check用volatile修飾instance防止JVM指令重排導(dǎo)致拿到未初始化完成的對(duì)象。面試官synchronized和ReentrantLock怎么選我synchronized是JVM層面的鎖ReentrantLock是JDK提供的API。ReentrantLock多了三個(gè)能力可以響應(yīng)中斷、可以設(shè)置超時(shí)時(shí)間、可以創(chuàng)建公平鎖并且支持多個(gè)Condition條件隊(duì)列。JDK 1.6之后synchronized做了偏向鎖、輕量級(jí)鎖的優(yōu)化性能差距已經(jīng)很小。如果只是簡(jiǎn)單的同步需求synchronized就夠了代碼更簡(jiǎn)潔如果需要超時(shí)等待、可中斷、公平性控制就選ReentrantLock。這里有個(gè)插曲面試官對(duì)公平鎖這個(gè)點(diǎn)追問(wèn)了一句公平鎖的底層怎么實(shí)現(xiàn)的我當(dāng)時(shí)只說(shuō)了一個(gè)大概ReentrantLock內(nèi)部維護(hù)了一個(gè)等待隊(duì)列公平鎖會(huì)檢查隊(duì)列里有沒(méi)有排在前面的線程有就先讓前面的人獲取鎖。面試官?zèng)]再追問(wèn)。后來(lái)我仔細(xì)研究了源碼AQS里是通過(guò)hasQueuedPredecessors()方法判斷當(dāng)前線程是不是隊(duì)列頭部只有真正排在頭部的線程才有資格搶鎖。3.2 JVM內(nèi)存與GC面試官JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)域有哪些哪些線程共享哪些線程私有我整體分五大塊。程序計(jì)數(shù)器、虛擬機(jī)棧、本地方法棧是線程私有的堆和方法區(qū)是線程共享的。JDK 8之后方法區(qū)被元空間取代元空間使用本地內(nèi)存不再受JVM堆內(nèi)存上限限制。對(duì)象實(shí)例和數(shù)組主要分配在堆上棧上分配是JIT在逃逸分析之后做的優(yōu)化不是常規(guī)路徑。面試官垃圾回收怎么判斷對(duì)象可以回收我主流用的是可達(dá)性分析算法。從一組稱為GC Roots的根對(duì)象出發(fā)沿著引用鏈往下找沒(méi)有被引用鏈連接的對(duì)象就判定為可回收。GC Roots包括虛擬機(jī)棧中棧幀里的局部變量引用的對(duì)象、靜態(tài)變量引用的對(duì)象、常量池引用的對(duì)象、JNI引用的對(duì)象、被synchronized持有的對(duì)象。引用計(jì)數(shù)法因?yàn)闊o(wú)法解決循環(huán)引用的問(wèn)題現(xiàn)在基本不會(huì)單獨(dú)用。面試官CMS和G1有什么區(qū)別我CMS是老年代垃圾收集器目標(biāo)是低停頓用的是標(biāo)記-清除算法整個(gè)過(guò)程分初始標(biāo)記、并發(fā)標(biāo)記、重新標(biāo)記、并發(fā)清除四個(gè)階段其中只有初始標(biāo)記和重新標(biāo)記需要STW。缺點(diǎn)也很明顯標(biāo)記-清除會(huì)產(chǎn)生內(nèi)存碎片并發(fā)階段會(huì)占用CPU資源而且它無(wú)法處理浮動(dòng)垃圾。G1則是把整個(gè)堆劃分成多個(gè)大小相等的Region既可以回收新生代又可以回收老年代通過(guò)維護(hù)每個(gè)Region的回收價(jià)值和回收成本做到可預(yù)測(cè)的停頓時(shí)間。G1在Java 9之后成為默認(rèn)垃圾收集器它最大的特點(diǎn)是可以在回收過(guò)程中把Region里的存活對(duì)象復(fù)制到空閑Region里本質(zhì)上是標(biāo)記-復(fù)制不會(huì)產(chǎn)生碎片。JVM這塊我明顯感覺(jué)面試官比較滿意因?yàn)樗谖掖鹜曛笳f(shuō)了一句JVM底子還可以。這可能是整場(chǎng)面試中我最舒展的一段。3.3 MySQL索引與事務(wù)面試官InnoDB的索引為什么用B樹我B樹有幾個(gè)特點(diǎn)比較適合數(shù)據(jù)庫(kù)場(chǎng)景。第一非葉子節(jié)點(diǎn)只存索引鍵值不存數(shù)據(jù)所以每個(gè)節(jié)點(diǎn)能存放更多的索引項(xiàng)樹的高度低一般三層就能存上千萬(wàn)條數(shù)據(jù)也就是最多三次磁盤IO就能定位到葉子節(jié)點(diǎn)。第二葉子節(jié)點(diǎn)之間有雙向指針串聯(lián)天然支持范圍查詢和排序B樹就需要回溯父節(jié)點(diǎn)才能做范圍查詢。第三哈希索引雖然單點(diǎn)查詢快但不支持范圍紅黑樹和二叉樹在數(shù)據(jù)量大的時(shí)候樹太高磁盤IO次數(shù)太多了。面試官聯(lián)合索引遵循什么原則哪些情況會(huì)導(dǎo)致索引失效我聯(lián)合索引遵循最左前綴原則。比如建了(a, b, c)的聯(lián)合索引查詢條件里有a或者a、b或者a、b、c才能命中。失效場(chǎng)景常見(jiàn)的有對(duì)索引列做了計(jì)算、函數(shù)操作、隱式類型轉(zhuǎn)換使用like時(shí)前面帶百分號(hào)比如like %xx使用or連接非索引列聯(lián)合索引中不滿足最左前綴條件。面試官M(fèi)ySQL默認(rèn)的隔離級(jí)別是什么MVCC是怎么實(shí)現(xiàn)的我默認(rèn)是可重復(fù)讀RR。MVCC是InnoDB實(shí)現(xiàn)一致性讀的關(guān)鍵機(jī)制核心由三部分組成undo log版本鏈、read view、隱藏的trx_id字段。每行記錄上都有最近修改它的事務(wù)IDundo log記錄了歷史版本形成一個(gè)版本鏈。查詢時(shí)生成read viewread view里保存了活躍事務(wù)列表通過(guò)比較事務(wù)ID判斷當(dāng)前查詢能看到哪個(gè)版本。區(qū)別在于讀已提交RC是每條語(yǔ)句生成一個(gè)新的read view可重復(fù)讀RR是第一次快照讀的時(shí)候生成后續(xù)復(fù)用同一個(gè)read view所以同一個(gè)事務(wù)里兩次查詢結(jié)果一致。面試官RR級(jí)別下怎么防止幻讀我主要通過(guò)兩個(gè)機(jī)制。一個(gè)是MVCC的快照讀第一次讀的時(shí)候生成read view之后復(fù)用即使別的事務(wù)插入了新數(shù)據(jù)當(dāng)前事務(wù)看不到天然避免了幻讀。另一個(gè)是當(dāng)前讀比如select ... for update需要通過(guò)間隙鎖gap lock和臨鍵鎖next-key lock來(lái)實(shí)現(xiàn)。間隙鎖鎖的是索引記錄之間的間隙讓其他事務(wù)無(wú)法在間隙內(nèi)插入新的記錄從而防止幻讀?;A(chǔ)題環(huán)節(jié)到這里大概持續(xù)了25分鐘。面試官把Java、JVM、MySQL各自挑了最核心的幾個(gè)點(diǎn)來(lái)問(wèn)沒(méi)有一上來(lái)就壓八股。給我的感覺(jué)是蘑菇街一面更看重能不能把原理講清楚而不是背了多少面試題。4. 計(jì)算機(jī)網(wǎng)絡(luò)與中間件快問(wèn)快答基礎(chǔ)題之后面試官開始快問(wèn)快答節(jié)奏明顯加快問(wèn)題更零散像在掃知識(shí)點(diǎn)。4.1 TCP與HTTP細(xì)節(jié)面試官TCP三次握手為什么不是兩次我如果只需要兩次握手可能出現(xiàn)這種情況客戶端發(fā)送的SYN報(bào)文在網(wǎng)絡(luò)中滯留了很久客戶端認(rèn)為它超時(shí)了沒(méi)有收到確認(rèn)所以重發(fā)了SYN這一次正常完成了連接。但滯留在網(wǎng)絡(luò)中的那個(gè)舊SYN報(bào)文過(guò)了很久又到達(dá)了服務(wù)端服務(wù)端以為是一個(gè)新連接于是返回SYNACK給客戶端。如果只有兩次握手服務(wù)端這時(shí)就認(rèn)為連接建立成功了會(huì)一直等待客戶端發(fā)送數(shù)據(jù)白白浪費(fèi)服務(wù)端的資源。而三次握手中客戶端收到服務(wù)端的SYNACK之后并不會(huì)立即認(rèn)為連接建立而是要再回一個(gè)ACK。如果服務(wù)端收到的是舊SYN的響應(yīng)客戶端會(huì)發(fā)現(xiàn)這個(gè)連接不是自己期望的就不會(huì)回ACK服務(wù)端自然也不會(huì)建立連接。面試官四次揮手里TIME_WAIT為什么要等2MSL我兩個(gè)原因。第一確保最后一個(gè)ACK報(bào)文能夠到達(dá)對(duì)端如果ACK丟了對(duì)端會(huì)超時(shí)重傳FIN如果此時(shí)連接已經(jīng)關(guān)閉就沒(méi)有辦法重發(fā)ACK了等一個(gè)2MSL可以保證ACK重傳的窗口足夠。第二經(jīng)過(guò)2MSL的時(shí)間能讓本次連接產(chǎn)生的所有舊報(bào)文都在網(wǎng)絡(luò)中消失避免它們出現(xiàn)在未來(lái)某個(gè)相同的四元組連接里造成數(shù)據(jù)混亂。面試官HTTPS的握手過(guò)程了解嗎我HTTPS本質(zhì)上是HTTP over TLS握手過(guò)程大致分幾步客戶端發(fā)起ClientHello攜帶支持的TLS版本、加密套件列表和隨機(jī)數(shù)服務(wù)端返回ServerHello選定加密套件和服務(wù)端隨機(jī)數(shù)同時(shí)下發(fā)證書客戶端驗(yàn)證證書合法性然后生成預(yù)主密鑰用服務(wù)端證書里的公鑰加密發(fā)過(guò)去服務(wù)端用自己的私鑰解密出預(yù)主密鑰雙方通過(guò)三個(gè)隨機(jī)數(shù)協(xié)商出會(huì)話密鑰。之后雙方發(fā)送Finished消息確認(rèn)握手成功后續(xù)應(yīng)用層數(shù)據(jù)全部走對(duì)稱加密。TLS 1.3進(jìn)一步簡(jiǎn)化了握手把以往的兩個(gè)往返優(yōu)化成一個(gè)往返。面試官HTTP常見(jiàn)的502和504有什么區(qū)別我502 Bad Gateway表示網(wǎng)關(guān)或代理服務(wù)器從上游服務(wù)器收到了無(wú)效響應(yīng)簡(jiǎn)單說(shuō)就是上游服務(wù)器掛了或者返回了非法內(nèi)容。504 Gateway Timeout表示網(wǎng)關(guān)在指定時(shí)間內(nèi)沒(méi)有等到上游服務(wù)器返回響應(yīng)也就是上游處理超時(shí)了。實(shí)際排查中502更多是后端服務(wù)進(jìn)程崩潰或者重啟504更多是后端處理得太慢或線程池被打滿。4.2 Redis三大經(jīng)典問(wèn)題面試官Redis緩存穿透、擊穿、雪崩分別是什么怎么解決我穿透是查詢一個(gè)不存在的key緩存里沒(méi)有數(shù)據(jù)庫(kù)里也沒(méi)有請(qǐng)求直接打到數(shù)據(jù)庫(kù)惡意攻擊時(shí)能把數(shù)據(jù)庫(kù)打垮。解決方式是布隆過(guò)濾器先用bitmap把所有可能存在的主鍵存進(jìn)去查不到的直接攔截或者對(duì)空結(jié)果也做緩存設(shè)置一個(gè)較短的過(guò)期時(shí)間。擊穿是某一個(gè)熱點(diǎn)key在過(guò)期瞬間大量請(qǐng)求同時(shí)打到數(shù)據(jù)庫(kù)。解決方式是熱點(diǎn)key不設(shè)置過(guò)期時(shí)間或者過(guò)期時(shí)間加一個(gè)隨機(jī)值再或者用互斥鎖讓同一個(gè)key只有一個(gè)請(qǐng)求去數(shù)據(jù)庫(kù)回源。雪崩是大量key在同一時(shí)間段集體過(guò)期導(dǎo)致流量瞬間打到數(shù)據(jù)庫(kù)。解決方式有過(guò)期時(shí)間增加隨機(jī)因子避免集中在同一時(shí)刻熱點(diǎn)數(shù)據(jù)不設(shè)置過(guò)期時(shí)間由后臺(tái)任務(wù)定時(shí)更新還可以做熔斷降級(jí)數(shù)據(jù)庫(kù)壓力大的時(shí)候直接返回默認(rèn)值。面試官RDB和AOF怎么選我RDB是定時(shí)的全量快照文件緊湊恢復(fù)速度快適合做備份和主從同步但故障時(shí)可能丟失最后一次快照之后的數(shù)據(jù)。AOF記錄的是每一個(gè)寫命令數(shù)據(jù)安全性更高默認(rèn)everysec配置最多丟一秒數(shù)據(jù)但AOF文件體積更大恢復(fù)速度慢。生產(chǎn)環(huán)境通常兩個(gè)都開AOF保證數(shù)據(jù)安全RDB用于快速恢復(fù)和備份。面試官Redis實(shí)現(xiàn)分布式鎖要注意什么我最基礎(chǔ)的方式是SETNX加過(guò)期時(shí)間set key value NX PX 30000保證原子性。但要注意value必須是一個(gè)唯一標(biāo)識(shí)釋放鎖的時(shí)候要先get判斷是不是自己的鎖再delget和del要保證原子性通常用Lua腳本執(zhí)行。更完整的做法是用Redisson它有一個(gè)看門狗機(jī)制會(huì)對(duì)鎖自動(dòng)續(xù)期防止業(yè)務(wù)還沒(méi)執(zhí)行完鎖就過(guò)期被其他線程拿走了。這套方案里Redis主從切換時(shí)可能會(huì)丟鎖所以嚴(yán)格要求時(shí)要用RedLock但實(shí)際業(yè)務(wù)里用得不多??靻?wèn)快答階段明顯是在掃盲區(qū)問(wèn)題之間沒(méi)有太多關(guān)聯(lián)覆蓋范圍廣但深度不大。我的體感是這部分的目的是快速判斷候選人的知識(shí)面夠不夠?qū)挾皇窃谀骋粋€(gè)點(diǎn)上死磕。所以平時(shí)積累很重要至少每個(gè)常見(jiàn)知識(shí)點(diǎn)都要能說(shuō)出個(gè)一二三來(lái)。5. 手撕算法鏈表中環(huán)的入口節(jié)點(diǎn)基礎(chǔ)題問(wèn)完面試官說(shuō)最后寫一道題吧。當(dāng)時(shí)電話面試不方便共享屏幕就讓我口述思路然后發(fā)一段代碼到指定的鏈接里。5.1 題目分析與快慢指針?biāo)悸奉}目是經(jīng)典題給定一個(gè)鏈表如果它包含環(huán)找出環(huán)的入口節(jié)點(diǎn)沒(méi)有環(huán)就返回null。我聽到題目第一反應(yīng)是這題有套路分兩步第一步判斷是否有環(huán)。用快慢指針slow每次走一步fast每次走兩步兩個(gè)指針都從頭節(jié)點(diǎn)出發(fā)。如果鏈表中存在環(huán)那么快指針最終會(huì)追上慢指針在環(huán)內(nèi)相遇如果快指針達(dá)到了鏈表尾部說(shuō)明沒(méi)有環(huán)。第二步找到環(huán)的入口。相遇之后讓slow回到頭節(jié)點(diǎn)fast留在相遇點(diǎn)然后兩個(gè)指針都保持每次走一步的速度繼續(xù)走下一次相遇的節(jié)點(diǎn)就是環(huán)的入口。但光記住結(jié)論不夠面試官多半會(huì)追問(wèn)為什么。所以當(dāng)時(shí)我把推導(dǎo)也講了一遍假設(shè)從頭節(jié)點(diǎn)到環(huán)入口的距離是a環(huán)入口到第一次相遇點(diǎn)的距離是b相遇點(diǎn)到環(huán)入口的距離是c那么第一次相遇時(shí)慢指針走了ab快指針走了abn(bc)。因?yàn)榭熘羔標(biāo)俣仁锹羔樀膬杀端?(ab)abn(bc)整理一下得到a (n-1)(bc)c。也就是說(shuō)從頭節(jié)點(diǎn)重新出發(fā)的slow指針走距離a的同時(shí)從相遇點(diǎn)重新出發(fā)的fast指針會(huì)繞環(huán)走n-1圈再走c兩者恰好都在環(huán)入口位置碰頭。5.2 代碼實(shí)現(xiàn)與邊界條件我用Java快速寫出了實(shí)現(xiàn)public class ListNode { int val; ListNode next; ListNode(int x) { val x; } } public class Solution { public ListNode detectCycle(ListNode head) { if (head null || head.next null) { return null; } ListNode slow head; ListNode fast head; while (fast ! null fast.next ! null) { slow slow.next; fast fast.next.next; if (slow fast) { break; } } if (fast null || fast.next null) { return null; } slow head; while (slow ! fast) { slow slow.next; fast fast.next; } return slow; } }寫完之后我主動(dòng)把邊界條件說(shuō)了一遍空鏈表和只有一個(gè)節(jié)點(diǎn)的情況直接返回null。鏈表沒(méi)有環(huán)fast會(huì)先到尾部循環(huán)自然結(jié)束。鏈表整個(gè)就是一個(gè)環(huán)也就是尾節(jié)點(diǎn)指向頭節(jié)點(diǎn)slow回到頭節(jié)點(diǎn)后第一次判斷就與fast相等直接返回頭節(jié)點(diǎn)邏輯是成立的。環(huán)在鏈表中間慢指針回到頭節(jié)點(diǎn)后走a步到入口另一個(gè)從相遇點(diǎn)出發(fā)經(jīng)過(guò)c步到達(dá)入口兩者同步到達(dá)。5.3 面試官加試為什么快指針每次走兩步果然面試官接著問(wèn)為什么快指針每次走兩步走三步行不行我心里慶幸之前看過(guò)這個(gè)問(wèn)題的分析?;卮鹚悸肥强熘羔樧邇刹降哪康氖潜WC它在慢指針進(jìn)入環(huán)之后一定能追上慢指針??紤]慢指針剛進(jìn)入環(huán)的時(shí)候快指針已經(jīng)在環(huán)里了兩個(gè)指針之間的相對(duì)距離最多是環(huán)長(zhǎng)減1。每次快指針比慢指針多走一步這個(gè)相對(duì)距離就會(huì)縮小1所以最多走環(huán)長(zhǎng)減1步就一定能追上時(shí)間復(fù)雜度是O(n)是最優(yōu)步長(zhǎng)。如果快指針走三步相對(duì)距離每次縮小2那么當(dāng)初始相對(duì)距離是偶數(shù)時(shí)能追上是奇數(shù)時(shí)就可能錯(cuò)過(guò)。極端情況下快指針會(huì)一直跳過(guò)慢指針?biāo)诘奈恢迷斐捎啦慌雒娴那闆r。當(dāng)然實(shí)際中可能會(huì)因?yàn)榄h(huán)的形狀不同而碰巧追上但無(wú)法保證一定有解。所以兩步是既能保證追上又不會(huì)浪費(fèi)額外時(shí)間的穩(wěn)妥選擇。算法題到這里結(jié)束。面試官簡(jiǎn)單評(píng)價(jià)了一句思路清晰然后問(wèn)我有沒(méi)有想問(wèn)他的問(wèn)題。這里我也說(shuō)一個(gè)小經(jīng)驗(yàn)算法題不光要把代碼寫出來(lái)最好能主動(dòng)說(shuō)明復(fù)雜度和邊界條件。很多面試官不會(huì)明確要求你說(shuō)但你說(shuō)了他會(huì)下意識(shí)把你歸類到基礎(chǔ)扎實(shí)的那一批。這道題的時(shí)間復(fù)雜度是O(n)空間復(fù)雜度是O(1)我也一并說(shuō)了。6. 面后復(fù)盤與經(jīng)驗(yàn)總結(jié)6.1 我回答得不夠好的地方這一面整體感覺(jué)不差但復(fù)盤時(shí)我給自己挑出了幾個(gè)明顯的問(wèn)題第一線程池參數(shù)當(dāng)時(shí)答得不全。面試官問(wèn)線程池的核心參數(shù)有哪些我答了corePoolSize和maxPoolSize但把keepAliveTime、workQueue、ThreadFactory這幾項(xiàng)漏了還是面試官引導(dǎo)了一下才補(bǔ)齊。這個(gè)屬于基礎(chǔ)中的基礎(chǔ)答不全挺不應(yīng)該的。后來(lái)我把ThreadPoolExecutor的七個(gè)參數(shù)核心線程數(shù)、最大線程數(shù)、空閑存活時(shí)間、時(shí)間單位、工作隊(duì)列、線程工廠、拒絕策略整理成了一張表每天默寫一遍之后再?zèng)]有出現(xiàn)過(guò)卡頓。第二反問(wèn)環(huán)節(jié)問(wèn)得太淺。我只問(wèn)了一句團(tuán)隊(duì)目前主要用什么技術(shù)棧面試官簡(jiǎn)單回答完就結(jié)束了。后來(lái)跟已經(jīng)拿到offer的學(xué)長(zhǎng)聊才知道好的反問(wèn)是能加分的。比如可以問(wèn)團(tuán)隊(duì)目前更多在攻堅(jiān)哪塊業(yè)務(wù)候選人入職后一般從什么模塊入手您覺(jué)得這個(gè)崗位更看重候選人的哪方面能力這能體現(xiàn)你對(duì)崗位的思考深度。當(dāng)然這一面本身已經(jīng)過(guò)去了這個(gè)經(jīng)驗(yàn)主要是在后面的面試?yán)镉蒙狭?。第三?xiàng)目里有一個(gè)細(xì)節(jié)我沒(méi)講透。面試官問(wèn)過(guò)為什么訂單創(chuàng)建不直接同步執(zhí)行而是走M(jìn)Q異步我當(dāng)時(shí)只說(shuō)為了削峰填谷但沒(méi)有說(shuō)清楚異步之后怎么保證訂單和庫(kù)存的一致性。實(shí)際上我們當(dāng)時(shí)的方案是MQ消費(fèi)者里做庫(kù)存二次校驗(yàn)如果庫(kù)存扣減成功但訂單創(chuàng)建失敗會(huì)發(fā)一條消息到死信隊(duì)列由定時(shí)任務(wù)做狀態(tài)對(duì)賬。如果當(dāng)時(shí)把這個(gè)對(duì)賬機(jī)制講出來(lái)項(xiàng)目這塊會(huì)更加完整。6.2 蘑菇街一面的考察特點(diǎn)如果把蘑菇街一面和同期面過(guò)的其他公司對(duì)比我的感受是技術(shù)范圍中規(guī)中矩不偏門。核心還是Java基礎(chǔ)、JVM、MySQL、Redis、算法這些后端通用知識(shí)。項(xiàng)目深挖比想象中要細(xì)。會(huì)在緩存一致性、超賣怎么解決這類問(wèn)題上連續(xù)追問(wèn)直到確定你是真的理解而不是背了個(gè)八股。算法題難度適中。沒(méi)有出hard題劍指Offer和LeetCode hot 100覆蓋到的程度就夠用了。面試官整體比較溫和會(huì)有一點(diǎn)引導(dǎo)性。你卡住的時(shí)候他會(huì)換個(gè)角度問(wèn)而不是冷場(chǎng)讓你尷尬。這里也列一個(gè)表格方便大家對(duì)照我當(dāng)時(shí)整理的考察側(cè)重點(diǎn)考察模塊涉及知識(shí)點(diǎn)準(zhǔn)備優(yōu)先級(jí)項(xiàng)目深挖緩存一致性、超賣、異步解耦、消息可靠性最高Java基礎(chǔ)HashMap、ConcurrentHashMap、volatile、鎖高JVM內(nèi)存區(qū)域、GC Roots、CMS/G1高M(jìn)ySQLB樹、索引失效、MVCC、間隙鎖高計(jì)算機(jī)網(wǎng)絡(luò)TCP握手揮手、HTTPS、HTTP狀態(tài)碼中中間件Redis穿透/擊穿/雪崩、分布式鎖中算法鏈表、二叉樹、雙指針高6.3 寫在最后的心得這場(chǎng)面試最終的結(jié)果是過(guò)了后續(xù)進(jìn)入了二面。但說(shuō)實(shí)話一面給我留下的最深印象不在結(jié)果而在于它讓我第一次真正體會(huì)到準(zhǔn)備充分的面試是很有掌控感的。項(xiàng)目、基礎(chǔ)題、算法三個(gè)環(huán)節(jié)節(jié)奏分明面試官問(wèn)的每個(gè)深度點(diǎn)我都恰好提前踩過(guò)這種正反饋是會(huì)滾雪球的最直接的影響就是讓我對(duì)后續(xù)字節(jié)、快手幾家大廠的面試都更有底氣。如果你現(xiàn)在也在準(zhǔn)備秋招我的建議就是提前批一定要投尤其像蘑菇街這種有提前批的廠子試一試沒(méi)有任何損失。復(fù)習(xí)時(shí)間不夠的時(shí)候優(yōu)先把項(xiàng)目里每一個(gè)技術(shù)選型的前因后果想明白把HashMap、JVM、MySQL索引、Redis三大問(wèn)題這幾座大山啃透再拿劍指Offer里的高頻題練手。面經(jīng)不是背的是拿來(lái)對(duì)照檢查自己哪里有漏洞的用這個(gè)思路去看你會(huì)少走很多彎路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲第一男人天堂| 青青操少妇| 亚洲综合性感在线| 97视频新免费| 超碰2017| 综合久久久久久久综合网| 极品美女福利在线观看| 一区二区三区精品黑丝白丝酒店对鸡 | 99色色网| 75大香蕉| 欧美在线电影| 少妇一区二区三区高速| 97人人干人人操| 色精品极品| 亚洲色91C| 在线电影亚洲色图| 国产乱色国产精品免费视| 欧美性巨大╳╳╳╳╳高跟鞋| 久精品无码av一区二免费国产在线观看| 国产激情久久久| 99国产精品免费| 亚洲好色人妻| 日本三级一区二区 在线| 久操不卡视频| 日本99一区二区| 天天热精品| 欧美资源| 玖玖爱视频网站| 97欧美视频| 欧美强奸乱能| 欧洲中文字幕| 久一区久久蜜桃| 三级特黄60分钟播放| 久草婷婷| 久热99999| 13小男生GAY自慰脱裤子| 午夜一区二区三区国产| 九九热精品在线| 五月天人妻综合| 人人人摸人人| 69XX一中文字幕人妻91| 国产尹人在线视频免费| 久久亚洲熟妇在线视频| 久操97| 婷婷丁香五月天综合东京热| 欧美国产视频| 亚洲欧美首页| 日本一级黄色电影| 在线五区| 俄罗斯一区二区视频在线观看| 久久激情视频| 怡春苑东京热| 夜草网站| 免费观看欧美日韩操逼视频 | 九久精品| 久热9| 91少妇香蕉久久精品| 天天综合97| 亚洲日韩精品在线播放| 91劲爆| 伊人黄色片| 花野真衣| 91综合中文字幕| 婷婷导航| 全国男人天堂网| 乱欲一区二区| av亚洲天堂资源网站| 欧美不在线| 黄色片大香蕉| 91国产伊人大香蕉| 亚洲综合一区二区| 久久色AV线| 岛国色情视频在线观看| 天天综合欧美综合| 日韩精品在线放| 亚洲国产综合久久天堂| 中文字幕在线观| 一区二区三区机械有限公司| 91老熟女91老女人| 日本色色的视频| 国产情色第一第二页在线观看| 日韩欧洲操屄视频| 九九九久久久久| 少妇厨房愉情理伦片bd在线观看| 操B久久| 久操操AV电影| 性交一区二区在线播放| 综合久久久久久久综合网| 天堂伊人久久| 久久毛卡| 91青青在线视频| 精品人妻一区| 蜜臀久久99精品久久久久久成人小说 | 99re在线视频国产| 欧美性巨大╳╳╳╳╳高跟鞋| 青草香蕉网| heyZO天然素人无码AⅤ专区| 欧美日动态视频| www.91逼逼.com| 丝袜美女诱惑 91 视频| 国产亚洲日本精品在线| 青草精品视频一日本久久久久网站| 亚洲一本大道中文字幕无码在线| 淫穴高潮色图| 激情五月天色色| 96精品久久| 日韩人妻精品久久久久| 国产一区二区三区高清视频| 干b在线性社区| 天天日天天干天天色| 精品久久久久瑟瑟| 欧亚性爱在线视频| 亚洲精品97p| 久热婷婷| 日韩强奸av| 日韩精品9999| 天天躁日日躁xxxxx| 天天日骚逼熟女| 国产精品99久久久www| 97视频播放| 四月丁香婷婷| 青娱乐欧美激情一区二区| 精人妻无码一区二区三区伊人直播| 天天操天天舔| 国产精品午夜AV完会免费| 荡小穴在线观看| 日韩免费福利在线观看| 职场同事知名国产国产精品久久欧美日韩 | 五月开心久久AV官网| 狼狼色丁香久久婷婷综合五月| 精品女同一区| 久久精品老司| 色婷网| 岛国1区2区3区在线观看| 久久久久密臀视频| 色综合五月天| WWW操逼| 91熟女视频网| 精彩视频日韩| 天天干电影| 诱惑人妻欧美一区在线播放| av资源在线观看少妇| 香蕉人欧美综合| 殴洲老熟女| 色噜噜综合网| 亚洲无码成人精品| 国产精品不卡少妇白| 国产SV一线| 5278欧美一区二区三区| 韩国三级色呦呦| 97这里只精品| 四虎永久在线精品免费网址| 久久国产免费激情视频| 亚洲高清色综合| 成人av影院在线观看| 国偷自 一区二区| 91熟女熟妇视频网站 | 成人午夜视频免费播放| 日本一区二区亚洲综合| 日产精品久久久一区二区| 97欧美精品综合| 国产亚洲综合欧美一区| 人人 操人人 操人人| 淫淫综合网| 欧美熟女丝袜| 欧美 日韩 另类 亚洲| av无码精品久久久久| 伊人影院日本| 伊人网高清| 国产久久男人天堂| 美女大乳久久久久久久女人18| 五月丁香激情啪啪| 日韩一级成人毛片免费观看| 国产一区二区三区免费视频在性观看 | 五月丁香大香蕉| 国产一级特黄大片处女| 久久狠狠色噜噜狠狠狠狠97| 特色a在线上| 久操av在线| 操人妻逼91| 这里有精品| 亚洲少妇综合在线播放| 国产精品熟女九色九色蜜臀| 日本人妻最新在线中| 国产美女91| 新精精品久久精品| 9/A片 | 黄色成年| 色与欲影视天天看综合网| 国产精品第二页| 欧美精品成人亚洲| 婷婷色婷婷| 欧美啪啪女女| 黄色欧美性爱视频| 免费伦费视频在线观看| 小视频玖玖| 99e久久国产精品| 欧美亚洲高清| 日本人妻最新在线中| 亚洲激情综合另类| 久夜视频| 日韩无码一区二区三区| 十八禁啪啪视频| 天天久久| 91老熟女| 毛片一区二区| 国产 日韩 欧美一区| 亚洲在线91| 97欧美综合网| 日韩少妇无码| 久久国产AⅤ| 欧美Ⅴ性爱| 2017av无码免费无线播| 蜜乳Av成人片网站| 午夜乱轮操逼视频免费看| ji熟女.com| 超碰精品国产无码| 亚瑟国产精品久久无码| 黄色AAAAA欧美| 亚欧免费| 国产伦乱91| 懂色AV蜜臀无码精品APP | 337p大胆噜噜噜噜噜91Av| 日本中文字幕在线视频| 玖玖婷婷五月天| 色情成人五月天| 激情综合五月婷婷| 色九月综合| 99re69| 97天天综合网| 久久美国毛片| 久9精品| 97在线免费观看视频| 国产精品午夜AV完会免费| 精品人妻免费观看| 九月丁香婷婷色| 一起草欧美| 岛国黄色短视频| 强奸a片网| 五月婷婷啪啪| 亚洲日本男人天堂网| 青青草在线视频欧美| 亚洲国内精品成人不卡| 欧美色图99| 夜色五月天| 久久国产99精品72福利| 久久久9 9 9精品| 96久久久久久久| 人妻少妇久久中文字幕一区二区 麻豆| 成人免费毛片| 超碰精品在线| 欧美后入视频| 久九九九九九九九热| 日本一级真人黄色性爱视频| 把腿张开老子CAO烂你| 亚洲欧美国产日本一区二区三区| 欧美 亚洲 制服 精品| 69人妻精品丰满熟女区| 美女网站黄页| 亚洲国产精品无石码久久| 日韩成人精品| 亚洲最大无码中文字幕网站| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 久久一本大香蕉 | 国产女人91精品嗷嗷嗷嗷| 久久久久久久人妻| 中文字幕一区二区三四五区日日骚| 九七超碰人人乐| 青青青国产手线观看视频2| 蜜乳性色无码专日粉嫩骚逼AV| 激情五月激情综合网| 91丨国产丨白浆| 亚洲 欧美 另类 综合 偷拍| 色爱天堂| 国产精品一区二区三区,亚洲综合| 激情丁香五月婷婷| 天堂在线一区二区| 校园春色第一页| 亚洲人成网站7777| 欧美色图天堂在线| av久日| 密乳视频在线| 玖玖综合.com| 丰满熟女人妻一区二区三五十一路| 97超碰色色| 高清无码 国产精品| 久久精品人体AV| 91精产一区二区三区| 天天噜| 日本色色色视频| 97激情97激情| 欧美激情专区| 婷婷亚洲色| 人妻 制服 日韩 中文 在线| 中文字幕三四区| 午夜男女爽爽爽在线视频 | 青草一区二区| 欧美成人黄网色网站| 国产精品网站免费| 国产亚洲色停停久久99精品91| 色婷婷视频| 亚洲综合 欧美| 翔田千里无码一区| 亚洲天堂性爱| 日韩啪啪视频| 伊人五月天| 国产久久视频| 国产一级舔足在线观看| 亚洲午夜免费狠狠干| 日韩中文字幕精品一二三事国产精品| 免费精品国偷自产在线在线| 欧美1727免费观看视频| 一本大道青青| 国产视频一区二区免费| 2019午夜福利视频| 思思热免费在线视频| 欧美三级免费伊人| 欧美不卡五十路| 91视频国品一二三区| 亚洲清纯综合| 婷婷激情五月| 91天堂| av九九| 日韩特一级久久| 深夜国产一区二区三区在线看| 美国久久一二三四| 成人无码在线视频网站| 天美精品一区二区三区四区在线观看| 强奸国产精品视频| 蜜臀色乳| 婷婷av在线中文字幕| 在线人妻熟女一区二区三区四区五区| 上特色A在线| 五月婷婷综合在线| 高清孕妇孕交 交| www九九热| 91美女视频直播| 影音先锋视频在线| 亚洲少妇在线影音| 手机在线A片| 校园春色中文字幕AV| 国产A v无码专区| 日日干男人的天堂| 亚欧日韩成人| 91模特在线观看| 啊视频在线| 精品无码久久| 91 国产丝袜在线放观看| 精品人妻中文字幕高清| 国产SV一线| av在线播放国产一区| 性性久久| 黄色片大香蕉| 五月天婷精品激情| 欧美色91| 欧州色图区| 综合网亚洲| 欧美视频在线第3页| 91狠狠综合网| 麻豆婷婷成人一二三| 国产午夜精品理论片a大结局| 综合日韩激情另类图片| 久久综合国产精品国产| 久久久久深夜无码| 99热精品青草在线| 久久五十路熟女人妻| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 福利色色| 33044男人的天堂深夜备| 五月婷婷激情综合| 国产成年女黄特黄| 超碰久久精品| 99精品在线| 97超碰色| 九九国产| 国产精品大香蕉| 精品人妻免费观看| 插入粉嫩少妇视频| 国产最新AV| 日韩无码操逼片| 免费男人的天堂| 精品无码久久久| 久久久久久久伊人精品| 精品妇操一区二区三区| 免费看毛片操穴| 韩日色费| 日1区2区3区2020| 亚洲男人天堂网久久| 老司机老司机午夜影院| 日本不卡在线二区三区| 亚洲欧洲无码97久久精品| 丝袜美腿制服人妻二区中文字幕 | 欧美人妻一区二区| 青青爽| 超碰成人公开| 中文字幕乱码在线| 亚州Av天美传媒| 理论久久婷婷网 8| 国产精品视频一区二区三区八戒| 久久老熟女| 97 视频在线| 综合久| 久久国产熟女影院| 青青草一区二区高清无码视频| 黑人中出21连凳花野真衣| 亚洲无线码一区国产欧美国| 99999精品| 色九九综合AV| 亚洲色图加勒比| 99在线观看| 国产99精品一区二区三区免费| 欧美在线电影| 人妻天天爽| 日本天堂网| 亚洲日本韩国在线| 国产h片在线观看视频| 丝袜综合网| 男人的天堂日韩| 神马视频久久久久久| 国产尹人在线视频免费| 成人乱人伦一区二区| 亚洲色图欧美| 亚洲图片视频小说| 伊欧美综合视频| 国产精品麻豆成人av| 亚洲日韩美女丝袜美腿人妻视频| 亚洲麻豆18发?| 亚洲精品欧洲精品| 亚洲熟女国产综合另类| 日韩啪啪啪啪啪| 91黑人无码激情在线| 成人无遮挡毛片免费看| 偷拍 欧美 日韩| 在线播放欧洲免费av| 少妇精品久久久| 91精品人妻一区二区三区蜜桃臀| 欧美有码激情视频一区二区三区| 爱做久久久久久| 成人精品一区二区91毛片不卡| 欧美Ⅴ性爱| 性色aV一区二区三区噜噜| 色欲久久99精品久久| 91欧美性| 欧美国产有色电影| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 久久久久久9999| 欧美色图偷拍另类| 亚洲人成色9999精品久久| 激情小说五月天| 99啪啪| 性爱边摸边日免费AV| 国产中文字幕在线点播| 人人操人人操人人人操| 天天做日日做| 18禁精品网站在线看| 又粗又长又爽在线观看| 国产精品视频麻豆入口| 色在线亚洲视频www| 一级成人性爱| 国产精品美女久久久久AⅤ国产馆| 波多野结衣之双飞调教在线播放| yw尤物av无码点击进入麻豆| 无码国产精品96久久久久孕妇| 蜜臀中文字幕| 超碰免费97| 亚洲天堂久久久久久粉红视频| 久久久青青草| 女优大全 - 91n| 91成人18| 国产亚洲深夜激情| 欧美黄色片在线播放| 变态乱伦伪娘灌肠一区二区| 国产h片在线观看视频| 国产91精品福利在线| 岛国艾薇凹凸视频天堂| 色啪网| 激情文学网伊人| 欧美久久草熟女| 欧美午夜色妇色鬼| 免费超碰97久久| 97操综合| 成人久久久| 伊人网青青| 乱伦一二三区| 色色网91| 啪啪啪精品视频| 日本理论在线| 色色五月天激情| 无码99| 清清草影| 18+91网站| 五十路熟女人妻一区二区三区四区五| se吧提供91精品国产91久久久久久 | 欧美乱欲| 国产综合在线视频网站| 在线人人人人人人精品超| 国产免费一区二区在线A片视频| 免费视频无码| 大香蕉啪啪啪啪在线| 亚洲人人夜夜澡人人爽| 9久久久久| 自拍偷拍第26| 91干熟女| 超碰97色色| 亚洲AV色图一区| 欧美激情 亚洲色图| 免费a v| 青娱乐亚洲自拍| 大香蕉av在线| 亚洲情色图片区| 亚洲蜜臀精品视频久久| 综合久久9| 看大黄色大片原件| a网站免费观看| 久久久久ab| 超碰诱惑| 久久美女国产| 亚洲欧洲美腿丝袜| 欧美女同在线| 欧美少妇色图| 国产亚洲精品玖玖玖在线观看| 中文字幕第页| 男人的天堂无码| 欧美亚洲中文| 国产伦乱91| 亚洲第一页欧美| 精品国产乱码久久久久久久久久毛片| 一级做a爰片性色毛片久久| 人人看人人摸人人色| 久久久久久久久久久人妻| 狠狠干妹子| 国产亚洲色停停久久99精品91| 欧美亚洲日本激情在线| 国产精品网站www| 人人妻人人爽| 1024人妻熟女一区二区三区| 国产AV天美| 精精品人妻一区二区三区| 一区操逼日比视频| 中文字幕精品丝袜| 好涩综合| 岛国视频免费在线观看| 欧美熟妇人体| 免费国产视频| 99色在线视频| WWW美腿丝袜香蕉中文| 国产JDAV无码视频在线观看| 一区二区日韩欧美久久| 亚洲操操操无码| 成人网站 免费观看| 91黑丝美女| 日韩综合无码一区久久92| www.夜夜操| 日韩少妇在线视频| 美女视频尤物网在线看| 91丝袜美腿网站| 外国免费性情大片| 亚洲四虎熟女精品| 人妻无码视频一区二区三区久久| 午夜视频久久久久一区| 中文字幕精品一区二区精品| 中出人妻中文字幕91在线| 隔壁邻居波多野结衣中文字幕| 美女黄页| 亚洲天天综合| 97资源制服丝袜| 久久三区四区| 探花激情视频| 日日AAvv| 国产不卡免费在线视频| 嗯嗯啊好大| 亚洲欧洲自拍图片专区满春格| 国产欧美精品日韩区二区麻豆天美| 97久久超碰日韩精品| 欧美黑人猛交春色影视大全| 蜜臀久久99精品久久久久久无删减 | 很黄很污的免费网站| 亚洲高清视频在线免费观看| 无码一区二区三区四区五区六区七区八区九区十区视频 | 亚洲 欧美都市激情| 亚洲天天操| 亚洲国产一区二区三区在线| 国产粉嫩蜜臀av一区二区三区 | 色色99| 久久这里是精品| 色五月激情AV在线| 免费一级毛片在线视频观看| 久久黄黄黄| 极品色社| 99e久久国产精品| 日韩欧美偷拍美女视频| 在线人人人人人人精品超| 91亚.色| 色色五月天婷婷| 日韩精品人妻| 青青草啪啪网| 亚洲色图亚洲无码强奸乱伦| 97超级久久| 青青草九九九九九| 飘花国产午夜精品不卡| 国产欧洲精品亚洲午夜拍精品| 日韩性爱播放| 色欲av国内精品久久久久久| 日韩精品熟妇| 久久精品店| 91性网| 欧美美女在线高潮999| 亚洲第一狼人丝袜美女另类| 67914在线兔费成人视频| 日本人体九九九九九九| 眼镜人妻101.com| 欧美高清在线| 欧插网站| 国产啊v在线免费播放| 快播电影网日韩新片| 99热免费| 郑州宾馆老熟女露脸啪啪| 亚洲女人91| 久操 高清| 白嫩国模丰满一二三区| 97久久网| 二级毛片| 67194无码不卡| 伊人影院综合是一个与深夜成人在线 | 成人免费福利网站国产| 日韩大香蕉| 一区二区三区色综合| 大香蕉啪啪啪| 性爱乱伦视频免费| 欧美宗合色| 神马久久啊啊| 嗯嗯嗯好爽| 日韩丰满熟妇| 懂色Av| 国产日韩中文字幕欧美| 青青青操| 蜜乳av首页| 国产美女口爆吞精视频| 丝袜视频网国产90| 插老姨肥穴| 色情综合网| 色天使亚洲综合在线观看| 青青操国产夫妻| 91美女视频在线免费观看| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 天天做日日爱夜夜爽| 青娱乐淫乱1314| 骚鸭AV| 60秒免费小视频| 夜夜嗨AV一区天天| 日本在线视频导航| 新久久AV| 视频国产欧美在线播放| 天天舔日美女视频| 精品九九九九九九九九九| 天天日老熟妇| 婷婷亚洲综合| 国产精品激情久久久久久久| 日本爽爽爽爽爽爽免费视频| 色欲久久99国产精品久久久久久| 日本高清加勒比| 久久的网站啊啊啊啊啊| 婷婷在线播放| 欧美性爱伊人| 人妻少妇被猛烈进入中| 欧美精品久久96人妻无码| 韩日欧亚a级| 日韩av情韩国爱禁区av一区二区| 操B久久| 色噜噜国产在线| 亚洲精品一区中文字幕乱码| 亚洲精品成人激情在线| 日本Xx性爱| 中国一级操逼视频| www.99色| 国产白丝精品在线观看| 大香久久| 9I1性色影院| 哑洲在线| 在线小说视频一区| 久久妇| 欧美夜夜骑视频| 日韩精品熟妇| 欧美性区| 九九热超碰97亚洲最新香蕉| 欧美AB在线观看| 六月丁丁香| 婷婷天堂站| 国模精品一区二区三区苹果色戒 | 密臀在线免费观看| 青青青操| 99热99re超碰精品| 人妻天天操天天爽视频免费| 激情小说五月天| 色情成人五月天| 久久婷色| 五月香婷婷| 综合婷婷| 色爱综合网| 日韩精品 资源| 免费观看有码高清视频| 亚洲精品男人的天堂| 激情六月婷婷| 青青草操逼逼视频| 69超碰综合| 无码99| 亚洲AO在线| 欧美香蕉视xxx| 老师充足的奶水小说| 欧美色997| 亚洲中文电影| 欧美论理片| 一二视频神马久久传媒| 91美女高潮| 伊人宅男大香蕉| 精品无码少妇| 中文字幕99999| 日韩欧美性吧婷婷乱伦大香蕉| 九九综合九九综合| 亚洲精品一二牛牛| 搞中出久久| 日本道日本道中文字幕日本道最新日本道在线观看 | 国产又操| 人妻久久久久久久久久久久久久久| 夜夜爽77777| 夜夜狼人妻| 欧美影音在线| 国产97在线播放| 9丨久久九九九| 亚洲最新Av| 国产女人和拘做爰视频| 亚洲精品a人片在线观看视| 99ri在线视频| 精品熟女一区=区三区| 亚洲 se图 欧美电影| 中文字幕人乱码中文字的预防方法 | 日韩人成网站在线播放| 五月丁香色情| 国产精品小视频一区二区三区| 97爱爱影院| 强奸a片网| 2010男人的天堂| 5252色欧美在线| 超碰碰小说97| 日本一二区不卡| 无码高清操逼网址| 26uuu国产免费观看| 超踫中文字幕| 国产乱人妻精品入口| 少妇熟女视频一区二区三区| 久久六六| 蜜乳AV一区二区三区四| 很很干很很操| 另类 综合 日韩 欧美 亚洲| 91在线丝袜| 中文字幕丰满人妻日本| 韩国午夜理伦三级好看| 99re9在线| 91综合国产精品| 青青草一区二区高清无码视频| 精品无码久久久久久久杏吧| 久久亚洲AV无码专区国产精品| 久久久久久人妻| 白丝少妇一区二区| 可乐操亚洲蜜911| 国产无码高清操逼视频| 91色久| 欧美夜色| 2020中文字幕在线观看| 亚洲一曲日韩精品| 裸体美女国产免费久久久网站| 无码久| 78久久| www黄片免费看com| 殴美日韩m| 人妻熟女一区二区在线视频| 天天操人人操狠狠插| 亚洲婷婷五月天| 国偷自 一区二区| 97在线观看| 亚洲综合一区二区| 97 超碰 人人做 人人爱| 97国产|免费| 日本日逼高清| 热天堂一区二区| 久热精品在线| 亚洲欧美综合区自拍另类| 91狠婷| 久久99久久99精品天美传媒棢·纸:. | 91国产精品熟女| 怡红院久久老司机| 不卡一区二区日本视频| xxx亚洲午夜天堂| 青青五月天| 中国东北熟女老太婆内谢| 日本九九久久99播| 少妇无码999| 国产小黄片在线免费观看| 嗯……啊…嗯嗯…啊…好舒服| 亚洲自拍小说| 东亚亚洲无码高清| 秋霞一区二区三区四区五区六区七区| 97精品网| 久久乐| 欧美日韩亚洲少妇寂寞影院正在播放| 97在线视频观看网站| 久久久久久大| 精品国产乱码久久久久久蜜臀| 无码乱人伦中文视频| 久久久久亚洲精品| 久久亚洲中文字幕视频| 爱爱动态120秒| 天天欧美| 色色五月天激情| 久肏视频字幕| 日韩性爱电影一区| 加勒比伊人综合| 国产对白刺激视频| 国产极品久久久| A片大香蕉在线| 男人的天堂激情| 亚洲啪啪综合?v一区综合精品区| 麻豆国产尤物AV| 中文字幕人妻丝袜乱一区三区| 亚洲第一无码播放立川理惠| 亚拍在线| 亚洲九月丁香| 亚洲偷91色| 色乱二区| 久久久久久裸体| 国产精品自在自拍视频| 伊人96在线| 日韩欧美中文| 精彩久久中文| 国产精品视频白浆免费| 麻豆人妻偷人精品无码视频| 三级网色| 熟女91网| 午夜色婷婷| 青青青在线高清视频在线一二三四区| 婷婷伊人綜合中文字幕| 99re视频在线播放青草| 婷婷激情五月| 少妇一区二区三区| 富二代亚洲精品99| 最近2018中文字幕在线高清第一页| 极品粉嫩一区二区| 亚洲熟女乱色一区二区三区 | 亚洲视频精选| 亚洲情色91| 精品无码久久久久久久杏吧| 天堂麻豆天美| 欧美大香蕉同搞| 九九九九九九免费视频| 丁香色色网| 大香蕉久久| 少妇同性| www.黄色在线| 少妇高潮九九九九九九九| 九九成人| 偷拍 欧美 日韩| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 二三四区精品| 中文字幕性感少妇av| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 99这里只有精品| 老熟妇乱轮| 男人的天堂VA在线| 久久精品国产亚洲AV无码电影 | 三级色综合| 96精品久久久| 人妻天天夜夜爽一区二区| 玖玖爱在线视频免费观看| 女人的天堂大香蕉网| 能直接看AV的网站| 91美女小视频| 丰满搜索结果 -第18页- 久久高清无码 | 亚洲午夜免费狠狠干| 国产极品粉嫩馒头一线天av| 日本熟妇色熟妇在线视频播放| 国产亚州日韩欧美看片| 久热一区二区| 97视频900| 亚洲成人综合在线| 国产在线观看一区二区三区| 欧美论理片| 人人操av| 中文字幕人成乱码熟女香港| 安微少妇操BBB| 欧洲综合视频| 中日韩久久久| 精品视频一二三中文| 蜜臀99999| 看一级黄色视频| 91国产操逼视频| 日韩丨制服丨中文|在线| 国产精品一区人妻精品阁在线| 两女互慰AV高潮喷水在线观看| 丰满熟女人妻一区二区三五十一路| 亚洲色图91欧美日韩| 黄色电影在线播放综合网站| 久99在线免费观看视频| 97久久精品亚洲中六字幕| 国模少妇一区二区三区| 91肉片| 热热色AV| 亚洲男人的天堂一区二区| 欧美亚洲中文字幕| 久久亚洲中文字幕视频| 亚洲欧美校园| 精品无码一二三四区| 久久综合五月天| 国产一在线观看| 日本天天干天天操一区| 日本黄页视频在线观看| 欧亚乱色熟一区二区三四区| 人、人、摸,人、人、草| 日韩av性爱在线播放| 欧美色图另类图片| 欧美97视频| 区日韩亚洲乱码av电影| 凸凹视频在线观看| 欧美自拍偷拍综合图片| 蜜臀99久| 蜜臀av网址| 综合干干干av久久久综合网 | AV在线资源| 91N欧美| 免费一级毛片在线视频观看| 日韩无码操逼片| 性色aV一区二区三区噜噜| 亚洲麻豆18发?| www.高清无码诱惑一区.com| 91 手机在线播放 绯色| 五月天婷精品激情| 国产最火爆久久国产网站网站| 天天干18禁| 97操综合| 欧美伦乱爱| 国产suv精品一区二区四| 综合久| 成人美女av| 17c在线成人免费A片观看| 97免费视频在线观看| aV中文麻| 97在线观看免费| 亚洲日韩欧美一区二区| 少妇人妻精品| 麻豆区99999| 中文啪啪视频| 五月婷丁香| 欧美性爱另类综合| 久操视频资源站公开| 乱伦一区二区三区‘| 日韩性爱一级片| 亲子敌伦对白在线播放| 97超碰欧美手机| 亚洲少妇综合| chaopen97久久| 亚洲AV在线资源| 91精品国久久久久久无码| 久久亚洲不卡一区二区三区 | 日韩精品一区的| 国产成人精品日本视频| 中文字幕精品一区二区精| 天天激情综合站| 久久久99免费| 午夜视频黄| 亚洲中文字幕精品一区| 久久只有精品| 亚洲欧美日韩偷拍色图| 天天综合亚洲综合| 久久久久久久久999| 亚洲精品少妇| 91少妇人妻| 欧美不在线| 东京热毛片177b2viP| 91成人无码| 超碰97中文| 超碰色综合| 91久久久亚洲| 久久超碰国产一区二区三区| 欧美黄色手机在线观看| 中文字幕人妻资源在线| 亚洲熟伦熟妇AV无码春色| 国产无码三级视频在线观看| 国产二区三区免费视频| 91人精品妻入口| 中文字幕一区二区免费在线| 国产精品亚洲一级av第二区| 天天操夜夜嗨| 曰韩成人免费视频| 大屁股xxxxx| 日本色色网| 国产乱码久久| 国产夫妻一区二区| 97色色国产视频| 日日噜噜夜夜久久亚洲一区二区| 色在线69堂| 欧美肥臀在线| 蜜臀久久久99久久久久| 亚洲综合另类| 岛国福利在线精品播放| 免费精品人妻一区二区三| 国产精品蜜乳AV| 亚洲九区| 亚洲天堂色图| 久久中日麻豆| 欧美洲精品一级| 国产免费小视频| 欧美91在线| 操逼大黄片| www网站黄| 九色97| 九九夜精品九九在线| 久久久噜噜噜久久人妻| 人妻丝袜一区二区三区在线| 亚洲av性爱电影| 91精品女厕偷拍视频| 国模精品娜娜一二三区 | 欧美高潮| 久操免费观看| 热无码中文亚洲H一道本一区二区| 亚洲欧美在线观看免费| 337p大胆噜噜噜噜噜91Av| 91老熟女逼| 91 亚洲情侣偷拍 久久| 97综合激情| 亚洲电影中字一区二区| 欧美大香蕉专区网| 91亚州日韩高清| 青青欧洲黑| 亚洲男人的天堂va亚洲男人社| 无码操逼视频一下| 柠檬AV导航| 第45页一区二区| 国产suv精品一区二六| 久久国产成人精品国产成人亚洲| 狠日操| 亚洲第一页色| 国产精品丝袜久久亚洲不卡| 成人性交免费视屏| 操逼逼一区视频| 欧美性生活综合| 久久视网78| 亚春色色| 最新岛国大片| 五月开心网| 国产精品高潮久久AV| 免费视频观看60秒| 都市久久精品激情亚洲| 久草五月| 欧美亚洲厕所精品偷拍91| 人人妻人人爽| 欧美不卡二区| 内射白嫩美女| 麻豆a'v电影| 欧美精品69性爱| 日本欧美国内在线| 蜜臀99999| 久久这里只| 国产精品一级特黄aaa大片在线观看| 欧美亚洲丝袜人妻制服99| 91精品久久久久久77777| 男人天堂网站| 色婷婷香蕉| 97一区二区三区视频| 男人天堂网站| 岛国成人av在线播放网址| 欧美久久久15P| 夜夜躁狠狠躁日日躁av| 一本一道vs波多野结衣| 熟女一区二区| 九九热三级片| 欧美日韩国产色图在线| 精品然女一区二区| 欧美综合另类| 色色色999| 色哟哟av网址| 91精品微拍福利| 久久国产精品一级二级三级| 久久精品国产97欧美精品亚洲| 中文字幕一区二区日韩网| 久热色情精品| 91精品导航| 亚洲欧美国产其他二区| 欧美伦乱爱| 乱操乱伦AV| 天天干天天操天天拍| 熟妇人妻丰满久久久久久久无码| 综合免费无码中文| 美骚妇av高清在线| 乱伦熟女论坛| 翘臀vidoes| 78精品| 99色色网| 九九九久| 精品国产乱码久久久久久口爆网站 | 91九色丰满高潮| 国语国产操逼伊人AV网| 欧洲与亚洲欧美精品中文字幕| 日本中文熟女视频| 超碰人人乐97| 91精品人妻一区二区三区蜜臀| 不卡啪啪视频| 久久久久久免费电影| 欧美亚洲日本视频久久久| 欧美 日韩 婷婷 五月| 国产精品高潮呻吟av久久4虎| 日韩精品.久久精品.AV女优.天美传媒| 国产日本顶级一区二区三区| 精品亚洲国产成人AV制服丝袜 | 少妇滛荡视频| 中日韩久久久免费看| 18禁超污无遮挡无码免费网| 碰超人人在线一区二区三区| 国产成人无码啪| 欧美97日韩精品| 中文字幕一区二区日韩网| 久操操| 日韩免费在线视频观看| 伊蕉97蜜桃97狠狠综合干| 一起草欧美| 日韩视频小说在线观看| 91碰超| 久久国产999| 玖玖资源综合在线视频| 夜夜青青无码影院| 男人高清无码一区二区| 屁股久久久久久久久| 成人免费福利在线观看| 欧美一区二区三熟女剧情| 性爱av在线免费观看| 加勒比色99999| 激情综合网激情五月天| se..亚洲欧美| 人妻日日夜夜精品| 蜜乳av一区二区三区| AV乱伦国产| 五月婷婷hd| 综合国产影视三级| 99re99视频在线免费观看| 黄片免费看的| 精彩久久中文| 国内精品久久久久影院亚洲| 久操频道免费在线呗看| 欧美夜夜狠| 成人精品在线免费视频| 99re只有精品| 麻花传媒免费网站在线观看| nuu12国产麻豆精品| 97人人草| 九九九久久久| 9久久美女首页| 肉嘟嘟www视频在线观看高清| 后入精品| 天天干天天操天天拍| 国产多人在线观看视频| 激情五月天校园春色网| 激情五月丁香五月|