亚洲有码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
返回資訊列表
久久精品一区二区三区蜜桃臀| 激情抓乳插进去啪啪啪日韩 | 大香蕉伊人亚洲| 亚洲精品天天影视综合网 | 久久色激情一区二区三区| 亚洲图片欧美制度| 91白虎| 91久久| 很黄很色的视频在线观看| 人妻人人操| 91jk色拍| 国产色图乱伦| 91五月天| 中出91视频| 极品销魂美女一区二区 | 成人午夜无码视频| 亚洲天堂久| 网站A V在线| 日韩性爱高清免费视频| 亚洲情色一区综合| 中文字幕激情小说| 99热国产| 偷拍亚洲视频一区二区三区四区| 国产精品人妻熟女aⅴ| 99久re热视频精品98| 97在线资源| 国产亚洲欧美每日在线| 亚洲无无码αⅴ每日更新| 97视频网站在线观看| 欧美肥臀在线| 亚洲色五月| 欧亚乱色熟女一区二区| 欧洲亚洲人人爽爽视频| 无套内射人妻在线播放| 91性| 曰韩av中文字幕专区| 中国乱伦一区二区| 亚洲国产成人福利在线观看| 超碰97综合网| 日本一级一级一级一级| 碰碰97| 亚洲人成网www| 久久国产精品m码| 麻豆久久视频在线地址| 夫妻天天操岛国视频| 九九人妻| 婷婷大香蕉| 校园春色亚洲色图| 久7色| 久久啊啊| 中文字幕综合人妻| 激情综合网五月婷婷五月天| 97久久超碰亚洲| 五月色丁香| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 久久久久亚洲熟妇熟女| 色在线亚洲视频www| 高潮嗯啊性感美女久久久| 日韩情色AV| 四虎精品一区| 国产日韩无码一区二区三区久久区| 色99色| 综合av社区| 97久久久久久久久久| 一区二区三区精品黑丝白丝酒店对鸡 | 嗯~啊~轻一点 视频| 啊啊啊com| 久久午夜鲁丝片| 91精品操美女| 久久九精品| 亚洲人妻AV| 丰满人妻区一区二区三| 久久蜜桃一区二区| 九七人妻在线| 亚洲一区二区 麻豆传媒| 国产伦精品一区二区三区视频女| 国产捆绑一区| 亚洲成人ab| 影音先锋一区二区在线资源| 高清不卡一二三区视频......| 人妻精品一区二区在线| 日韩人妻中文视频| 欧美岛国精品在线观看| 精品午夜福利导航| 午夜超碰| 综合情欲网| 好屌色综合| 一区久久久二区| 亚洲天堂另类美腿| 中国黑人三级片网站上区| 78p欧美| 青青草日本无码| 婷婷在线视频| 性一交一乱一交A片久久四色| 岛国毛片手机在线观看| 天天色黄色影院天天操| 亚洲精品无码成人久久久99 | 成全在线观看免费观看| 亚州性色| 国产无马av| 天天干人人乐| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚洲黄色影视| 夜夜高潮夜夜爽| 久久本道| 骚逼自拍99| 日日日色色色色色| 日韩本不卡视频在线观看 | 精品一级| 亚洲天堂在线怕怕视频| 成人性爱全视频观看| 九九综合久久| 国产精品2020| 国产不卡的视频 | 欧美日韩99精品麻豆传媒| 欧美婷婷久久| 国精综合一二三区影视| 9久9久| 亚洲色图欧美| 欧美视频边做饭边橾| 东京热男人的天堂网| 乱精品一区字幕二区| 婷婷亚洲综合| 日本欧美m v精品网站加| 另类专区加勒比| 少妇精品| 久久国产免费激情视频| 麻豆av一区二区三区| 国产熟女自拍| 级做a爱无码性色永久免费| 久久精品色欧美aⅴ一区二区| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 夜夜性| 97人人干| 在线五区| 无码操逼天堂| 国产一区二区三区免费视频在性观看| 精品人妻美妇91job| 亚洲国产欧美日韩人妻日中文| 福利在线视频一区二区| 夜夜操美女| 亚洲有码 视频一区| 91网站18+| 91人妻做a观看视频| 久久av网| 国产精品盗摄 偷窥盗摄| 天天干天天做| 在线亚洲欧美| 久久超碰久| 欧美极品女人的天堂| 9997se| 国产av尤物| 欧美97视频| 偷拍 亚洲 欧美| 国内精品久久久久影院亚洲| 91逼逼女人91| 亚洲婷婷丁香在线| 大香蕉一区二区在线观看.| 日韩欧美国产高清视频| 欧美亚州色的图| 无码丰满熟妇一区二区浪潮AV| 九九九九久久久久| 麻豆一区二区AV天美| 国产传媒一区日韩| 九九热re99re6在线精品| 色妹子A V| 婷婷丁香成人| 中文字幕91页| 亚洲春色欧美| 精品无码人妻一区二区免费蜜桃| 3p国产欧美99热| 人人妻人人爽| 躁躁日曰躁2020| 久久一二三四五六七八九区区区| 亚洲超碰在线| 欧美亚洲成人在线一区二区三区| 大香蕉男女超碰精品在线| 国产福利在线视频网站| 天天色天天干天天爱| 日韩视频啪啪| 欧美精品一二三| 男女激情中文字幕| 亚洲福利中文字幕在线| 91动漫操逼视频| 韩日巨乳美女免费视频在线观看| 欧美亚洲日本激情在线| 九九九九九精品| 久久久久9久久久久| 韩国一级婬片A片无码天美| 2017超碰| 91美女在线精品视频| 亚洲熟女精品| 2017天天插| 精品人妻1237| 97综合在线观看| 婷婷AV一区二区三区| 日本人妻最新在线中| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 美女淫穴| 98色网| 免费黄色片子| 久久艹逼视频| 色色色综合| 国产AV高清AV无码| 久久精品国产72国产精品福利| 密乳视频在线| 超碰97中文| 性九九九九九九| 日韩钢筋无码高清啾啾啾| 日日日啊啊啊| 熟妇熟女一区二三区| 国产av尤物| 992这里有精品| 丁香久久| 色妺妺在线视频| 国产在线76页| www.五月天| 激情五月综合网| 国产免费永久精品无码| 久久午夜伦| 天天综合~91入口| 97香焦色区| 蜜桃色色网站视频三区| 91麻豆天美国产欧美日| 人妻日日夜夜精品| 手机av亚洲丝袜美腿日韩第一页二页| 激情小说亚洲图片| 国语精品av| 啪啪啪亚欧美视频| 天天视频网站黄| 黄页网站免费高清在线观看| 99操视频| 亚洲色图加勒比| 91精品婷婷国产综合久久竹菊| 蜜桃久久久久久久久久久久| 性欧美91| 日本操逼视频导航| 2024人人操人人摸| 欧美熟女激情| 亚洲 欧美 日本 国内 首页| 亚洲国产综合图区中文字幕| 欧美呦呦性爱| 久草视频在线视频在线视频在线观看 | 粉嫩国产精品久久久| 欲女人妻性色av| 国产精品3| 97在线免费观看| 精品亚洲国产成人av网站| 天天天天干| 久日91在线| 国产h小视频在线观看免费| 日日操丁香五月天| 东北女人操比视频| 2017大香蕉| 久久久夜夜嗨免费视频| 熟妇一区,二区,三区。| 欧美中文字幕一区| 欧美体内射精| 69超碰综合| 欧美日韩性感| 超碰天天操| 人妻熟女一区二区| 国产在线播放成人免费| 久热影视| 伊人久久88国产女| 欧美亚洲成人在线一区二区三区| 成人三级片一区二区三区视频| 国产家庭乱伦表演| 欧美日韩成人在线| 国产第11页| 91网站18+| 国产精品盗摄 偷窥盗摄| 国产一区二区三区影片| 91黑丝美女| 翔田千里AV无码秘 三区| 欧美激情中文字幕另类小说| 亚州男人的天堂| 97在线精品观看视频| 青青青操| 搡老女人911熟妇老熟女| 免费一级特黄特色大片在线观看看| 婷婷五月天色色| 久久久成人免费av电影| 久久人人舔人人爽舔人人av片| 国产久久久9999| 97久久久网站| 色妺妺在线视频| 看看日B真人视频| 免费看片黄| 啊啊啊用力在线观看| 成人亚欧免费视频| 成人综合色网| a级免费在线观看| 亚洲九九夜夜| 99热婷婷一区二区三| 99视频自拍| 中文区中文字幕免费看| 五月天色色色| 久热一区二区| 狠狠热这里都是精品| 国产成人91一区二区三区| 禁片 高清 在线观看视频网站| 亚洲色阁| 久久免费看高潮毛片韩国| dy888午夜老子影视达达兔| 色小视频蜜乳| 美国黄片aaa| 校园春色家庭伦理欧美激情| 91无码中出人妻视频| 天天色图| 日韩中文字幕精品一二三事国产精品| 亚洲人妻av| 在线视频亚洲无码| 天天操天天日青青草超碰av| 97人人干| 日本三级A片网站com| 久久色一区二区| 国产激情片在线观看| 亚洲不卡三级手机播放| 国产精品69久久久久久久| 婷婷97| 人人妻碰人人免费| 久久精品无码熟妇一区二区三区视频导航| 亚洲一区二区麻豆影院| 国产特级毛片AAAAAA高潮流水 | 亚洲综合第一页| 亚洲天堂人人妻| 天天日天天色| 9久热| 污污汅18禁网站在线永久免费观看| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 色婷婷综合网站| 国模无码人体一区二区三| 香蕉免费一区二区三区不读 | 啊啊啊水好多| 高清肉丝中文无码| 色妺妺在线视频| 久久九九视频九九视频| 伊人一区二区在线播放| 大香蕉中文在线| 啊啊啊啊啊啊啊啊啊在线观看| 在线观看高清AV| 26uuu久久| 中文字幕乱亚洲美女精品一区| 超碰99热中文字幕| 久久久久久亚洲精品不卡人乳| 26uuu国产成人综合| 四虎av在线| 亚洲91网。| 欧美精品在线观看| 六月丁丁香| 激情av| 亚洲图片日本AⅤ欧美在线| 中文字幕欧美日韩三级| 亚洲少妇视频| 黄页| 亚洲高潮影院| 91女色| 亚洲 欧美 综合 91| 内射卯月麻衣| 欧美 亚洲| 97Ai亚洲| 超碰免费人妻人人| 国精精品无码一二三区水多多| 欧美熟妇成人一区二区| 2019精品国产无码成人| 一本大道不卡一二三区| 噜噜噜无码AV一级一级久久影院| 91丨九色丨国产打屁股| 99热思思| 久久精品老司| 亚洲色图欧美色18直播在线| 97爱爱| 国产一级不卡在线观看| 亚洲高清无码免费观看视频| 999国产精品999| 91久久久久久久久18| 久久久啊啊| 日本一天色道久久久精品视频| 丝袜高跟澳门91视频| 狠狠干妹子| 九九九九九九九九九国产精品 | 韩国一级做A片免费的| 国产精品嫩草影院免费| 午夜黄色免费在线观看| 日本精品人妻少妇一区二区| 搡老女人老91妇女熟女| 成年人网站在线免费观看| 国产亚州精品美女久久久免费| 国产伦精品一区二区三区在线观| 天堂资源欧美| 亚洲色图欧洲| 国产97色在线| AV天堂男人的天堂| 色汉综合| 日日夜夜狠狠| 999九九九九国产动| 美女网站91| 99热这里只有精品地址| 97欧美精品综合| 91老熟女视频| 中文字幕一区av| 久久精品国产97欧美精品亚洲 | 天天摸天天舔天天操| 久久久久亚洲熟妇熟女| 毛片视频白嫩| 国产精品一区二区手机看片| 91丝袜美女| 欧美天天综合在线| 欧美操逼一二三区| 蜜臀视频网站| 日韩av色图综合| 中国AAAAAA黄色片| 婷婷伊人| 日本久久久久久久久久| 国产精品三级视频网站| 九九九九九九九九九国产精品| 国产精品久久久久久高清无码免费看| 国产日本熟女顶级一区二区三区视频| 亚洲日韩天堂| 色盈盈影院| 日韩三级伦理中文字幕| 96AV精品| 被男人吃奶很爽的毛片| av久日| 日韩成人精品视频自拍| 97色操| 嗯啊不要在线| av在线播放国产一区| 日本天天干天天搞一区| 国产精品久久99日日| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 97国产综合欧美| www.99中文字幕| 人妻精品一区二区三区| 激情自拍 校园春色| 国产精品视频自拍在线| 玖玖爱综合网| 91精品国产综合久久久蜜臀| 亚洲在线91| 超碰1024久久| 日本综合久久| 中文字幕一二区二三区人妻专区| 美女爽爽爽刺痛洞洞| 800zy一区二区| 欧美日韩一区二区三区四区蜜桃| 亚州,欧美在线| 色情亚洲日本成人| 最新日产中文在线麻豆| 欧美视频一| 少好三P| 天堂岛av| 老熟女综合| 宅男影院久久久,99| 久久精品一区一起草| 91高跟美女在线播放| 亚洲限制级在线| 韩国轻伦国内自拍一区| 国产黄a三级三级三级av在线看 | 超碰人妻久久人妻中文97| 色嘟嘟人妻天堂网| 神马精品视频| 色97| 久久男人的天堂国产| 欧美日韩性爱视屏免费看了| 精品少妇99| 美女爽爽爽刺痛洞洞| 日本黄页视频在线观看| 亚洲少妇激情一区二区三区| 亚洲麻豆18发?| 好屌色综合| 日韩精品国模| 人妻喷水| 色欧美色交综合| 黑人精品欧美一区二区蜜桃| 日韩欧美女求操每天更新| 麻豆人妻偷人精品无码视频| 综合天天。| 精品丰满熟妇人妻一区| 久久久四区| 久久只有精品| 无码 黑人一区二区三区| 国产成人在线观看网址| 97视频免费在线观看| 欧美资源| 一个人免费视频观看在线WWW| 日韩欧美大片免费高清啪啪| 成人乱人伦一区二区| 日韩卡一卡二卡三在线| 日韩av乱伦| 久久国产三区| 亚洲自拍欧美国产首页网曝 | 色五月首页| 婷婷日韩一区二区三区中文字幕在线| 大香蕉在线视频15| 嗯嗯,好大,好爽,好骚| 色偷综合| 欧美中文综合| 久久男人精品| 99久久综合网| 男人的天堂成人的社区| 大乔未久88一区| 日韩一级二级三级免费看完整版国语版| 92大香蕉| 成年无码动漫av片无尽在线| 精品人妻中文字幕4399| 久久老子无码午夜伦不卡| 亚洲日产专区| 另类av天堂| 亚洲影视高清第一页| 久久一二三四| 黄页视频网站野外| 懂色AV一区二区三区| www.高清无码诱惑一区.com | 亚洲日韩欧美一区二区| 一区二区三区高清| 亚洲国产欧美另类自拍| 俺去也婷婷| 91丝袜激情在线| 超碰久久.com| 天天综合中文字幕 91| 成人性爱av| 欧美在线视频99| 色色无码| 国产精品九九| 国产自制av蜜乳| 國產尤物AV尤物在線觀看| 久久大香蕉手机高清| 精品中文一区二区| 51一区二区三区| 亚洲无码超碰免费| 激情婷婷五月天| 一区麻豆 高清中文字幕| 精品少妇一区二区三区| 久艾草在线精品视频在线观看| 亚洲本色精品一区二区久久| 99碰碰| 九九自拍伦理| 另类天堂| 久久影视二区三区行押| 色色色综合| 在线人成亚洲视频免费观看| 色情婷婷| 操人妻少妇中文 | 女人天堂av在线播放| 久草在| 熟妇视频一区二区三区在线| 欧美日韩97在线| 五月综合婷婷久久网站| 一区二区三区男女操逼黄色小电影| 五月天加勒比啪| 色噜噜日韩精品| 国产精品一区二区三区四区五区| 男人网站婷婷| 91美女视频。| 把腿张开老子CAO烂你| 五月丁香久久| 亚洲图片婷婷五月天| 精品亚洲国产成人AV制服丝袜 | 欧美日韩性爱无码| 大香蕉十区| 亚洲欧美成人在线| 加勒比东京热五月天天堂网| henhen91| 日逼国产| 九七毛片九九毛片| 麻豆区99999| 日日夜夜精品视频| 69精品少妇一区二区三区蜜桃| 操老熟女AV| 曰韩操B| 无码人妻毛片丰满熟妇精品区 | 久久精品色欧美aⅴ一区二区| 玖玖玖玖精品国产剧情| av72网| 操逼A∨| 老熟妇一区二区三区啪啪| 丁香五月婷婷基地| 情色AV电影| 亚洲欧洲日韩国产自在线| 丁香五六月啪啪| 蜜臀一区二区三区在线| 黄片免费看黄片免费看| 成人熟女视频一区二区三区| 水多多映视AV| 中文字幕一区日韩精| 欧美爱国产综合、| 午夜精品视频777| 九色 蝌蚪 熟女自| 性色av婷婷久久一区二区点复制| 人澡逼| 亚洲高清无毛一区二区| 精品一久久久| 婷婷去俺也去六月色| AV99热18这里只有精品| 国模艳艳啪啪一区| 日本免费一区二区不卡| 一区二区三区黄色片a| 中文字幕超碰CAO| 男女性感激情网站| 黄色一区三区| 狠狠爱综合| 日骚逼视频| 五月丁香啪| 亚洲AV色图一区| 六十路日本| 日本久久超碰| 欧美第38页| 插入逼91| 目产99999久久999| 精品久久久高清无码| 日本免费一区二区不卡| 桃花色涩综合影院| 少妇久久久久久久久| 天天摸夜夜摸| 国产精品久久99日日| 啊啊啊轻点在线观看| www.激情| 亚洲啪AⅤ永久无码| 91 刺激在线| 啊啊啊啊啊在线视频| www亚洲免费| 激情啪啪视频| 中文字幕一二三| 密臀视频三区免费网站| 亚射在线| 最新日本中文字幕| 中文字幕精品乱码| 婷婷五月天激情网| 精品传媒在线一区| 色性荡荡荡荡视频| 综合伊人网12色| 91色色综合| 天天日天天插| 国产精品人人爽人人做可爱福利| 中文字幕第95页| 人人喜人人妻| 亚洲国产欧美一区二区潘金莲| 女生自91网站| 久久婷婷影院| 亚洲视频中文一区| 亚欧操逼片在线观看 | 亚欧操逼片在线观看| 另类图片五月天| 免费αV在线视频| 熟妇高潮精品一区二区三区下载| 色玖玖| 国产亚洲精品激情| 好舒服视频| 五月综合色| 精品一区二区三区国产| 国产精品夜夜夜| 欧美狠狠操| 亚洲日本韩国在线| 国产成人精品必看 | 伊人96在线| 亚州操操穴网| 亚洲精品久久久久久久蜜桃臀| 亚州男人天堂| 韩国毛片一区二区三区| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 99九九久久| 福利操逼| 亚洲欧美碰碰| 东北操逼| 极品粉嫩一区二区| 亚洲色久| 午夜无码精品免费看性色| 国内外内射高清视频| 天天摸天天舔天天操| 无码又爽又硬又激情免费视频| 日韩久久.一级黄色片| 九九九九热| 午夜福利 成人 91| 欧美日韩亚洲五月天婷婷| 久久秀这里有精品| 婷婷99狠狠| 中文字幕97| 久久大香蕉97| 国产乱子伦一区二区三区免看| 96久久精品一二三区色欲| 沈阳熟女高潮对白视频| 人妻精品一区二区三区| 午夜精品久久久久久久99| 白丝少妇一区二区| 嗯嗯嗯,草死我| 啊啊啊啊嗯嗯嗯用力好爽| 亚欧国产无码精品在线| 2019天天干天天操| 色黄污美女啪啪啪免费网站| 91精品老女人| 久久精品国产亚洲av水密被窝| 春色综合免费| 91欧美丝袜| 日韩资源网| 色偷偷色偷偷欧美日韩| 成人网欧美风情| 亚洲精品97在线| 水澄无码AV| 午夜天堂精品久久久久91| 综合一区中亚洲国产成人综合精品| 久久人人爽爽人人爽人人片αV| wwwxxx日本爽| 无码 黑人一区二区三区| 天天看夜夜看日日干| 欧美AB在线| 三级色影综合网| 插B在线观看| 久久爱超碰网| 色天堂综合| 使劲用力艹少妇视频一区二区 | 国产精品久久久久久高清无码免费看 | www. 男人天堂成人在线| 在线观看视频91| 天天色怡春院| 美女91av| 欧洲一区二区三区四区在线观看| 任你干在线视频| 午夜无码熟妇丰满人妻| 超碰精品人妻狠狠干| 啊啊啊啊在线播放| 欧美线天码中字| 老鸭窝在线视频播放| 美女天天干| 啪啪啪男女亚洲中文字幕99| 激情视频图片| 久久久亚洲精品中文字幕人妻| 上床啊啊啊| 超碰95| av天天在线观看| 射 色综合| 日本丝袜美腿人妻九九| 最新中文字幕av| 神马久久啊啊| 大但人体久久久久| 人妻精品一区二区三区| 亚洲在饯| 国产精品久久天天干| 东京太热男人的天堂久久久| 日韩在线电影| 亚洲不雅视频1区二区| 欧美综合网| 久久欲| 97资源视频| 91精品人妻偷情| 无码精品久久久天天影视| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 亚洲欧美在线观看免费| 无遮挡h肉动漫在线观看| 日本操逼视频导航| 97人妻碰碰中文无码久热丝袜| 久久精品人体AV| 丁香九月激情| 欧美国产日韩高清在线| 一色网男人的天堂| 婷婷久草一区二区三区| 久久97资源 网| 插入粉嫩少妇视频| 亚洲91射| 天天综合网网欲色| 亚洲九九九| 九九干| 亚洲激情综合| 午夜精品久久久99| 日韩综合第八区国产精品| 九九碰九九爱97超碰| 波多野42部无码喷潮在线观看 | 亚洲有码第一页| 91制服丝袜| 亚洲97成人在线观看| AV免费在线播放一区| 免费看日产一区二区三区| 九九久久首页| 久久精品电影| 91久久| 国产男人又猛又粗又爽| 天天欧美欧美亚洲网| 国产亚洲精品美女| 亚洲激情视频| 国产久久av| 三级三级三级日本99| 91熟女综合| 蜜臀99久久国产| 新久久AV| 成人在线视频网| 欧美黄色图片| 一区二区无码视频| 人妻一区二区三区视频| 亚洲成熟国产精品美女| 亚洲色鬼| 99re综合伊人| av爱爱爱| 五月婷婷六月色| 亚洲资源网| 欧美91在线+|+欧美| 97中文热色| 天堂中文日本在线观看| 超碰97男人| 啊啊啊啊好疼| 最新国产亚洲精品精品国产亚洲综合| 日本天堂网| 亚洲天堂男人天堂| 老熟乱一区二区三区四区| 在线中文字幕| 青青草日韩无码| 欧美综合777| 97久久久| 丁香九月激情| 丝袜天堂网| 日韩av免费一级电影| 91在线页| 无码二级三级| 人人妻人射| 色超碰综合| 国产二区三区免费视频| 男人天堂一区二区| 嫩草影院永久在线制服丝袜| 天天网综合| 久久婷婷五月综合| 舔人妻中文免费视频| 欧美性爱免费短视频| 激激五月| 中文字幕三四五区| 色丁香五月婷婷| 青青欧洲黑| 日韩免费高清大片在线| 亚州操操穴网| 五十路熟女,国产欧美精品区一区二区三区| 摸奶性爱视频网站在线免费播放| 夜夜爽33333| 精品国产乱码久久久久久久久久毛片| 操逼操网| 97超碰免费生活| 操逼天美3区| 日本A级视频| 国产精品国产精品国产| 99热9| 欧美最大综合网| 国产亚洲福利第一页丝袜| 精品妇女一区二区三区| 成人怡红院| 精品国产一区二区三区av在线资源| 亚州,欧美在线| 韩国一级做A片免费的| 欧美亚洲清纯| 秋霞曰韩R级| 亚洲黄色网址| 日韩免费三级黄片电影| 四虎AV无码| 久热精品在线| 天天色播| 亚洲资源站| 精品一区二区3区| 日韩欧美日韩| 亚洲欧洲美腿丝袜| 亚洲一区二区三区春色| 黄色污污污污污污网站| 超碰九7| 欧美制服另类丝袜| 国产精品com| 亚洲午夜福利视频| 新91视频.cmp| 天天日少妇逼AV| 麻豆久久精品亚洲精品88| 婷婷在线播放| 97在线免费视频| 日本不卡高清免v欧美日韩在线观看| 日韩啊V| 丁香五月天久久精品视频一区二区三区| 亚洲啪AⅤ永久无码| 久热久操| 久久直播国产| yazhouzaixian| 五月婷婷大香蕉| 久久久久久9| 五月激情视频| 超碰欧美| 久草综合视频| 国产精品岛国片在线观看| 久九9精品| 操碰91| 在线午夜成人无码视频| 亚洲免费97免费| 免费看A片毛毛片在线播| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 天天激情综合站| 国产精品在线一区二区| 国产亚洲精品无码三区| 精久久久| 伊人成人中文字幕久久网| 男人综合网| 男人的天堂不卡一区二区| 欧美亚洲自拍另类人妻| 无码男人天堂| 美日韩成人| 美欧色综合| 久久一二三级一一一| 一区二区影院| 大乔未久88一区| 亚洲成人免费电影| 人人干人人操人人爱| 插入粉嫩少妇视频| 国产一区二区三区影片| 欧美成人精品一区| 成人天天看站长推荐| 日韩av不卡在线观看| 久夜操| 大香蕉天天看妹子| 成人八戒网站| 久久久久久久9| 日韩美女高潮喷水视频| 97操操| 日本性交操一区二区不卡系列| 久偷拍| 这里都是精品在线观看| 成全动漫视频观看免费下载| 久久华人网| 天天色综合图片| 激情小说日韩无码| www.男人天堂| 亚洲综合色男人网| 探花熟女,姿勢到位,體驗感也到位| 久久女人| 亚州色图狠狠干| 一块操欧美性爱| 久久国产成人精品国产成人亚洲| 超碰在线1234区| 亚洲色图20p| 婷婷香蕉| 欧美性爱日韩性爱| 亚洲色天| 欧洲一区二区三区四区在线观看| 综合网色| 日韩欧美操逼xxx| 97视频播放| a片亚洲一本通视频| 日本少妇va7777| 成人三一级一片aaa| 秋霞怕怕片| 亚洲免费精品一区| 91久久久久久久| 熟女乱3伦999| 青青久日| 久噜噜| 国产精品对白内射| 婷婷综合久久| 99久久久er直播网址| 国产精品爱欲| 黄骗免费网站| 成人九九| 色天堂在线观看| 97色97好| 又大又长又爽| 日日日日日| 日韩美女操b| 97超碰久久| 97操碰| 日韩三级性| 欧美色三级片91| 亚洲强奸乱伦影视网| 亚洲春色欧美激情自拍| 久久久久九九九| 四虎在线视频| 欧美爱国产综合、| 麻豆天美传媒在线视频天堂| 欧美综合站| 婷婷久久五月| 自拍偷拍2025在线观看| 日韩无码黄色片| 飘花国产午夜精品不卡| 综合影院永久入口国产| 欧美第二页| 日韩三级av片| 加勒比色99999| 天天干夜夜| 色制服丝袜夫妻av一区| 国产传媒一区日韩| 夂久色| 天天看,天天做| 操逼操网| 亚州免费啪啪视频| 久久亚洲AV无码白度| 九九热九九| 亚欧洲日韩国产精品| 另类老少妇| 97一区二区三区视频| 97激情97激情| 久久综合久久综合人久久夜精品| 殴美性色a级欧美| 另类专区在线观看| 免费观看啪视频| 国产99 中文字幕日韩小视频| 性在久久久久久| 亚洲AV麻豆Aⅴ无码电影一| 91AV入口| 国产精品露脸在线观看| 波多野结衣AV无码一区| 国产精品一区二区久久精品| 三男一女不戴套的A片| 久久国产在线一区二区| 免费精品国偷自产在线在线| 日韩精品中文字幕人妻| 翔田千里爆乳巨臀无码| 欧美人人操人人插| 6080YYY午夜理论片在线观看| 能在线播放的国产三级| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 加勒比久久综合网高清| 欧美人与性动交a美精品| 日本性爰一道本| 国产精品一区二区三区,亚洲综合| 大香网站| 91人妻Pr| 激情综合五月| 午夜激情床戏激情| 超碰1024久久| 亚洲日韩乱码中文无码蜜桃臀网站| 97se综合| 九九热只有精品| 日韩小电影| 国产一区二区三区高清视频| 成全在线观看免费观看| 九九九精品成人免费视频小说| 亚洲国产另类在线中文| 第四色奇米影视777| 国产黄片在线免费观看| 精品欧美А∨无码黑人大荫蒂 | 日韩欧美tv一区二区在线观看| 九九无码视频| 九九综合| 91色碰| 九九自拍伦理| 好爽,再快点啊哈嗯嗯嗯嗯| 禁十八久久| 欧美女同在线| 2020中文字幕在线观看| 精品日韩人妻精品一二三区| 久久精品国产亚洲AV片多多| 日本三级大片| 国产精品久久久久综合| 男人天堂久久精品| 日韩啪啪啪视频| 亚洲熟妇综合久久久久久| 97热视频在线观看| 日韩91网| 亚洲欧美97√| 国内毛片热久久思思热| 日本成人电影资源网| 五月天激情网图片| 91伊人影视综合| 人妻大香蕉| 啪啪综合网| 亚洲精美粉嫩嫩泬在线观看| 成人性爱高清视频免费看| 一区二区三区在线资源| 亚洲欧美精品久| 91第一页| 日本熟女免费視颖| 91丨九色丨东北熟女| 久久av网| 99热在线只有精品| 女人综合网| 两性色网| 99热这里只有精| 久久亚洲熟妇在线视频| 午夜啊啊| 强奸抽插av| 日日碰狠狠添天天爽超| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 久久熟妇五十路一区| 国产13区| 97av,com| 热思思免费视频| 亚洲一区二区三区AV无码| 殴美,日韩国产伦精品| 91丝袜激情在线| 91欧美网| 天天干天天燥| 女人爽到高潮久久久| 日韩av电影网站| 国产在线能看的你懂的| 99久久久er直播网址| 九九玖玖精品| 亚洲丰满很很操| 欧美色人| 青草青草久热| 蜜桃不卡一区二区| 亚洲色图伊人网| 插入逼91| 欧美一级国产一级| 中文字幕丝袜美腿| 天天综合AV| 后入日本1234| A 在线网址| 成 人 影视 一区 二区 三区 四区 | 国产精品一区二区三区在线| 国产精品极品美女视频| 国产白嫩精品久久| 九九国产热| 人妻偷拍一区二区三区| 人妻啊啊人妻啊| 精品少妇99| 日韩中文字幕在线视频观看| 97热视频在线观看| 国产传媒午夜理伦精品| 成人AV素股で擦久久| 老鸭窝成人免费毛片视频| 午夜男女爽爽爽在线视频| 高树玛利亚无码流出| 视频在线97| 国产丝袜欧美在线视频| 亚洲不卡AV在线| 一本色道久久综合精品婷婷| 黄色小视频日本txt| 91色黑人少妇| 亚洲日韩av专区无码| 99久在线精品99re8热| 久久伊人青青草| 1769一区| 久久久久久久久久久久久久久性生活视频| 伊人网在线点播| 亚洲黄色a级片| 欧美97在线观看| 久 久无码人妻AV| 国产毛片精品一区二区色欲黄A片| 国产亚洲精品精AV.| 国产亚洲精品久久久久小| 97亚洲综合电影| 狠狠爱夜夜| 成人a级高清视频在线观看| 国产老熟女| 亚洲日本天堂| www成人啪啪18秘 免费| 色综合加勒比四四季| 岛国爱情动作片在国产AV无码专区亚洲AV漫画| 99热66| 久久是精品| 日本乱人伦片中文三区| 久久精品国产精品亚洲艾通辽熟妇| 少妇高潮九九九九九九九| 国产中文大片资源中文字幕| 婬女免费一二三区A片| 亚洲人精品久久久| 一区三区啪啪| 狠狠亚洲| 天天日天天干天天色| 天天做天天爱天天爽| 97干综合网| a级理论午夜日本| AV色五月天| 成人精品无码| 亚洲色婷婷| 午夜噜噜噜| 啊啊啊不要好疼视频| 亚洲第一页综合在线| α√在线| 国产农村妇女精品一| 成人影院永久免费观看网址| 亚洲激情色片| 加勒比在线视频一区二区三区|