欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

謝飛機(jī)面試大廠(chǎng)Java崗:從音視頻到AI大模型,一場(chǎng)“水”與“火”的較量

謝飛機(jī)面試大廠(chǎng)Java崗:從音視頻到AI大模型,一場(chǎng)“水”與“火”的較量 謝飛機(jī)面試大廠(chǎng)Java崗從音視頻到AI大模型一場(chǎng)“水”與“火”的較量面試官端坐在會(huì)議室里面前放著一臺(tái)筆記本電腦屏幕上已經(jīng)打開(kāi)了在線(xiàn)面試系統(tǒng)。他抬眼看了看走進(jìn)來(lái)的年輕人——謝飛機(jī)穿著一件印著“Hello World”的T恤背著一個(gè)雙肩包看起來(lái)還算精神。但面試官隱約感到這位求職者可能不簡(jiǎn)單。“請(qǐng)坐謝飛機(jī)同學(xué)。我們開(kāi)始吧先做一下自我介紹”面試官語(yǔ)氣平淡但眼神犀利。“面試官您好我叫謝飛機(jī)三年Java開(kāi)發(fā)經(jīng)驗(yàn)熟悉Spring全家桶會(huì)用Redis緩存也會(huì)寫(xiě)點(diǎn)JUnit測(cè)試平時(shí)喜歡研究JVM調(diào)優(yōu)比如-Xmx和-XX:UseG1GC這些參數(shù)我都能背出來(lái)。”謝飛機(jī)搓了搓手自信滿(mǎn)滿(mǎn)。面試官點(diǎn)點(diǎn)頭翻開(kāi)簡(jiǎn)歷開(kāi)始了第一輪提問(wèn)。第一輪音視頻場(chǎng)景下的基礎(chǔ)功“既然你提到熟悉Spring全家桶那我們結(jié)合一個(gè)實(shí)際業(yè)務(wù)場(chǎng)景比如一個(gè)短視頻App用戶(hù)上傳視頻后需要轉(zhuǎn)碼、生成縮略圖還要支持彈幕實(shí)時(shí)推送。你會(huì)怎么設(shè)計(jì)后端技術(shù)架構(gòu)”面試官拋出了問(wèn)題。謝飛機(jī)心想這還不簡(jiǎn)單我背過(guò)八股文。“這個(gè)嘛首先用Spring Boot搭個(gè)服務(wù)然后接收上傳用線(xiàn)程池異步處理。轉(zhuǎn)碼的話(huà)可以用FFmpeg不過(guò)我是Java工程師一般調(diào)用命令行。生成縮略圖可以用Java的ImageIO。彈幕推送嘛用WebSocket就行Spring支持得特別好?!敝x飛機(jī)回答得很流暢。面試官追問(wèn)“那如果上傳量特別大比如像抖音那樣每秒有幾千個(gè)視頻上傳你的線(xiàn)程池和單機(jī)服務(wù)扛得住嗎你考慮過(guò)消息隊(duì)列削峰嗎還有視頻轉(zhuǎn)碼是個(gè)CPU密集任務(wù)你怎么做資源隔離”謝飛機(jī)愣住了支支吾吾“啊……這個(gè)……消息隊(duì)列我聽(tīng)說(shuō)過(guò)Kafka但自己沒(méi)真正在線(xiàn)上用過(guò)。不過(guò)我知道Kafka是分布式消息隊(duì)列吞吐量特別高資源隔離的話(huà)……Docker容器算不算”面試官微微皺眉又問(wèn)“那么視頻轉(zhuǎn)碼完成后用戶(hù)要知道狀態(tài)。你打算怎么通知客戶(hù)端是輪詢(xún)還是長(zhǎng)連接”“用……用WebSocket剛才說(shuō)了可以推給用戶(hù)?!敝x飛機(jī)趕緊答道。面試官不置可否繼續(xù)問(wèn)“那如果轉(zhuǎn)碼失敗需要重試。你怎么保證消息不丟失Kafka的ack機(jī)制和offset提交你了解嗎”謝飛機(jī)額頭冒汗“呃……這個(gè)……我大概知道Kafka有ackall能保證不丟但具體怎么配置我得查一下文檔。offset……是消費(fèi)的位置吧我一般是自動(dòng)提交的?!泵嬖嚬俪聊藥酌霌Q了個(gè)問(wèn)題“那緩存方面視頻的元信息、點(diǎn)贊數(shù)這些熱點(diǎn)數(shù)據(jù)你會(huì)怎么設(shè)計(jì)緩存Redis具體用什么數(shù)據(jù)結(jié)構(gòu)”謝飛機(jī)稍稍松了口氣“Redis用String存點(diǎn)贊數(shù)用Hash存視頻元信息。過(guò)期時(shí)間可以設(shè)置成熱點(diǎn)視頻永久不過(guò)期普通視頻24小時(shí)。用Spring Cache的Cacheable注解非常方便?!泵嬖嚬僮穯?wèn)“那緩存穿透、擊穿、雪崩你分別怎么解決”謝飛機(jī)終于來(lái)了精神“緩存穿透用布隆過(guò)濾器緩存擊穿用互斥鎖或者邏輯過(guò)期緩存雪崩就是加隨機(jī)過(guò)期時(shí)間還有限流降級(jí)。這個(gè)我熟”他差點(diǎn)把“九陽(yáng)真經(jīng)”背出來(lái)。面試官點(diǎn)點(diǎn)頭但沒(méi)夸他而是問(wèn)了一個(gè)更實(shí)際的問(wèn)題“好那如果Redis集群中某個(gè)節(jié)點(diǎn)掛了主從切換時(shí)數(shù)據(jù)會(huì)不會(huì)丟你怎么配置Redisson的分布式鎖”“這個(gè)……”謝飛機(jī)卡殼了“主從切換……可能會(huì)丟一點(diǎn)數(shù)據(jù)因?yàn)楫惒綇?fù)制。但Redisson鎖默認(rèn)是用的看門(mén)狗續(xù)期嗯……只要設(shè)置他的主從節(jié)點(diǎn)都加鎖就不會(huì)有點(diǎn)問(wèn)題但我不太記得具體API了?!泵嬖嚬倏戳丝磿r(shí)間說(shuō)“第一輪先到這里。我們進(jìn)入第二輪?!敝x飛機(jī)擦了擦汗心想這面試官怎么總問(wèn)細(xì)節(jié)我那些模板答案怎么不管用了第二輪電商與本地生活服務(wù)的微服務(wù)挑戰(zhàn)面試官調(diào)整了一下坐姿說(shuō)道“我們公司除了音視頻還有電商和本地生活業(yè)務(wù)。假設(shè)你現(xiàn)在要做一個(gè)外賣(mài)下單系統(tǒng)涉及訂單服務(wù)、庫(kù)存服務(wù)、優(yōu)惠券服務(wù)、支付服務(wù)。你如何做微服務(wù)拆分服務(wù)間怎么通信”謝飛機(jī)這次學(xué)乖了先想了想“用Spring Cloud Alibaba服務(wù)發(fā)現(xiàn)用Nacos服務(wù)間用OpenFeign。每個(gè)服務(wù)獨(dú)立數(shù)據(jù)庫(kù)用Seata處理分布式事務(wù)?!彼低悼戳艘谎勖嬖嚬俚哪樕孟駴](méi)剛才那么嚴(yán)肅了?!班潘悸窙](méi)錯(cuò)。那如果用戶(hù)下單時(shí)先扣庫(kù)存再減優(yōu)惠券最后創(chuàng)建訂單但支付環(huán)節(jié)超時(shí)了庫(kù)存已經(jīng)扣了怎么辦”面試官追問(wèn)。“這個(gè)……可以用本地消息表就是先在一個(gè)事務(wù)里更新庫(kù)存和寫(xiě)消息表然后通過(guò)消息隊(duì)列通知其他服務(wù)?;蛘哂肧eata的Saga模式補(bǔ)償性事務(wù)?!敝x飛機(jī)記得這些名詞但解釋起來(lái)有點(diǎn)亂。面試官?zèng)]有深究接著問(wèn)“那高并發(fā)下比如秒殺活動(dòng)瞬間有十萬(wàn)用戶(hù)搶購(gòu)。你的訂單服務(wù)和庫(kù)存服務(wù)怎么扛限流怎么做”謝飛機(jī)來(lái)了勁“用Redis預(yù)減庫(kù)存先把庫(kù)存加載到Redis里請(qǐng)求先走Redis判斷是否還有庫(kù)存有的話(huà)再異步發(fā)送消息到Kafka然后由訂單服務(wù)消費(fèi)創(chuàng)建訂單。限流可以用Sentinel或者Resilience4j支持滑動(dòng)窗口、令牌桶算法?!薄澳荢entinel的限流和熔斷規(guī)則你具體配置過(guò)嗎FlowRule和DegradeRule的參數(shù)怎么設(shè)”“呃……我一般是在控制臺(tái)配的那比如設(shè)置QPS每秒100超了直接拒絕。熔斷就是錯(cuò)誤率超過(guò)50%主動(dòng)降級(jí)?!泵嬖嚬偎坪趺銖?qiáng)接受繼續(xù)問(wèn)“支付結(jié)果通知是異步回調(diào)。你怎么保證冪等性”“冪等性……用唯一訂單號(hào)做唯一索引回調(diào)的時(shí)候先查一下?tīng)顟B(tài)如果已經(jīng)是已支付就不處理?;蛘哂肦edis的SETNX鎖設(shè)置一個(gè)處理中標(biāo)記?!薄澳侨f(wàn)一回調(diào)重復(fù)發(fā)送第一個(gè)請(qǐng)求處理到一半第二個(gè)請(qǐng)求也進(jìn)來(lái)了怎么辦你用的是數(shù)據(jù)庫(kù)唯一約束還是Redis鎖如果Redis鎖過(guò)期了呢”面試官連環(huán)追問(wèn)。謝飛機(jī)有點(diǎn)暈“那……我就用數(shù)據(jù)庫(kù)唯一約束插入一個(gè)支付流水如果主鍵沖突就說(shuō)明已經(jīng)處理過(guò)了。Redis鎖過(guò)期就在續(xù)期用Redisson的看門(mén)狗……但具體源碼我沒(méi)深入?!泵嬖嚬俨恢每煞褶D(zhuǎn)個(gè)方向“我注意到安全方面你們的支付服務(wù)怎么簽名的OAuth2和JWT分別用在什么場(chǎng)景”“JWT是無(wú)狀態(tài)token用在登錄認(rèn)證。OAuth2是授權(quán)框架第三方登錄用比如微信登錄就是OAuth2。簽名的話(huà)我們是用MD5加鹽或者RSA私鑰簽名然后對(duì)方用公鑰驗(yàn)簽?!敝x飛機(jī)這次回答總算沒(méi)太跑偏。面試官終于點(diǎn)了點(diǎn)頭“嗯JWT和OAuth2的區(qū)別你說(shuō)得大致對(duì)。那Spring Security的過(guò)濾器鏈你用過(guò)嗎比如在網(wǎng)關(guān)層的Token校驗(yàn)怎么實(shí)現(xiàn)”謝飛機(jī)遲疑了幾秒說(shuō)“Spring Security的過(guò)濾器鏈……我大概知道有UsernamePasswordAuthenticationFilter、JwtAuthenticationFilter這些但讓我自己寫(xiě)一個(gè)我可能需要查一下。網(wǎng)關(guān)用的Spring Cloud Gateway可以寫(xiě)GlobalFilter去校驗(yàn)token?!泵嬖嚬僬f(shuō)“行那我們就最后一輪吧?!敝x飛機(jī)心里一緊還有一輪第三輪AIGC與智能推薦——面試官終于露出了獠牙“你已經(jīng)扛過(guò)兩輪了。最后一輪結(jié)合當(dāng)前熱點(diǎn)我們做AIGC內(nèi)容社區(qū)。用戶(hù)輸入一段文字后端調(diào)用大模型生成圖片同時(shí)根據(jù)用戶(hù)行為做個(gè)性化推薦。你的技術(shù)選型”面試官眼神中閃過(guò)一絲興奮。謝飛機(jī)深吸了一口氣“這個(gè)我了解最近很火。大模型調(diào)用可以用OpenAI的API或者用HuggingFace的模型。Java的話(huà)調(diào)用Python服務(wù)可以用gRPC或者HTTP接口。推薦的話(huà)……用協(xié)同過(guò)濾算法但我沒(méi)實(shí)際寫(xiě)過(guò)?!薄安豢紤]Python服務(wù)純Java生態(tài)。你了解Spring AI框架嗎或者LangChain4j如果不用這些你怎么實(shí)現(xiàn)和模型交互”面試官步步緊逼。“Spring AI哦好像是一個(gè)新項(xiàng)目。我沒(méi)實(shí)際用過(guò)不過(guò)我們知道它是用來(lái)對(duì)接OpenAI、Azure這些模型API的。LangChain4j也聽(tīng)說(shuō)但沒(méi)深入。純Java的話(huà)我可以直接用RestTemplate調(diào)用HTTP接口把prompt發(fā)過(guò)去然后接收生成的文本或圖片URL?!敝x飛機(jī)勉強(qiáng)擠出幾句?!澳巧傻膱D片用戶(hù)可能會(huì)頻繁生成比如一天幾十次。這些數(shù)據(jù)量怎么存入數(shù)據(jù)庫(kù)圖片的元信息、模型參數(shù)、提示詞你如何設(shè)計(jì)表結(jié)構(gòu)如何做分庫(kù)分表”謝飛機(jī)有點(diǎn)崩潰“這個(gè)……我雖然知道分庫(kù)分表有ShardingSphere但沒(méi)真實(shí)搞過(guò)。就先用MySQL存然后加索引唄。如果量太大再用ES存”他自己都覺(jué)得不靠譜。面試官笑了笑“那內(nèi)容推薦怎么做比如用戶(hù)A收藏了一幅賽博朋克風(fēng)格的圖片用戶(hù)B也喜歡。你怎么在Redis里存儲(chǔ)他們的偏好然后推薦相似內(nèi)容”“可以……用Redis的Set存用戶(hù)偏好標(biāo)簽然后做交集找到相似用戶(hù)再推薦他們喜歡的圖片。用ZSet存圖片熱度按分?jǐn)?shù)排序。還可以用Caffeine做本地緩存減少Redis壓力?!敝x飛機(jī)居然說(shuō)出了一個(gè)可行的思路。面試官追問(wèn)“那把熱門(mén)圖片的詳情放Caffeine冷數(shù)據(jù)放Redis再底層內(nèi)存MySQL你如何保證Caffeine和Redis一致如果后臺(tái)更新了圖片怎么讓Caffeine失效”“用Spring Cache的CacheEvict在更新圖片后調(diào)用一下就會(huì)刪除緩存。Caffeine可以設(shè)置一個(gè)很短的過(guò)期時(shí)間比如幾秒這樣不一致窗口很小。”謝飛機(jī)回答得倒是挺快。面試官點(diǎn)了點(diǎn)頭又拋出一個(gè)殺手锏“大模型生成的Prompt用戶(hù)可能輸入惡意文本。你需要做內(nèi)容安全過(guò)濾。你如何用Java實(shí)現(xiàn)一個(gè)敏感詞過(guò)濾如果調(diào)用第三方審核API超時(shí)了怎么辦熔斷降級(jí)怎么做”“敏感詞……用AC自動(dòng)機(jī)把敏感詞庫(kù)加載到內(nèi)存構(gòu)建Trie樹(shù)匹配效率是O(n)。如果第三方API超時(shí)我可以設(shè)置HttpClient的連接超時(shí)和讀取超時(shí)比如2秒如果超過(guò)就用Resilience4j的TimeLimiter和CircuitBreaker熔斷直接返回默認(rèn)審核結(jié)果或者人工審核?!泵嬖嚬俳K于露出了一點(diǎn)贊賞之色“你居然知道AC自動(dòng)機(jī)。那你能手寫(xiě)一個(gè)嗎”謝飛機(jī)撓了撓頭“手寫(xiě)……我只能寫(xiě)個(gè)大概就是先建Trie樹(shù)然后失敗指針然后匹配。但具體代碼我記不全了。”面試官笑了“好謝飛機(jī)同學(xué)今天的面談就到這里吧。你的知識(shí)面還可以但很多技術(shù)細(xì)節(jié)掌握得不夠扎實(shí)。我們需要一個(gè)能深入原理、解決實(shí)際問(wèn)題的工程師。你先回去等通知吧?!敝x飛機(jī)站起來(lái)心想“果然是大廠(chǎng)問(wèn)得真細(xì)。雖然我涼了但學(xué)到了不少?;厝サ冒袺afka和Redisson源碼啃一遍。”他正要出門(mén)面試官又叫住他“對(duì)了你簡(jiǎn)歷上寫(xiě)的‘熟悉分布式事務(wù)’能說(shuō)說(shuō)Seata的AT模式具體怎么實(shí)現(xiàn)的嗎”謝飛機(jī)愣住了張了張嘴“那個(gè)……就是……通過(guò)全局事務(wù)管理器呃……生成前后鏡像然后……嘿嘿面試官您等著我回去一定把答案整理出來(lái)下次再來(lái)”面試官默默關(guān)閉了面試房間。附完整答案詳解——每一輪的技術(shù)點(diǎn)和業(yè)務(wù)場(chǎng)景梳理為了讓像謝飛機(jī)一樣的小白能真正學(xué)到東西我們把面試中的問(wèn)題一一拆解結(jié)合業(yè)務(wù)場(chǎng)景給出清晰的答案。第一輪音視頻場(chǎng)景場(chǎng)景描述短視頻App用戶(hù)上傳視頻后端需要轉(zhuǎn)碼格式轉(zhuǎn)換、壓縮、生成縮略圖支持彈幕實(shí)時(shí)推送。涉及高并發(fā)上傳、異步處理、緩存熱點(diǎn)數(shù)據(jù)。問(wèn)題1怎么設(shè)計(jì)后端技術(shù)架構(gòu)答案上傳服務(wù)使用Spring Boot構(gòu)建一個(gè)HTTP接口接收multipart文件但不要把大文件直接給后端。通常采用分片上傳斷點(diǎn)續(xù)傳客戶(hù)端把文件切成5MB左右的分片上傳完成后由服務(wù)端合并。分片信息存在Redis中比如用Hash記錄uploadId - 分片序號(hào) - ETag。異步處理因?yàn)檗D(zhuǎn)碼是耗時(shí)任務(wù)收到完整文件后把轉(zhuǎn)碼任務(wù)包括視頻路徑、分辨率、碼率等參數(shù)發(fā)送到Kafka。Kafka的Topic可以叫video-transcode消費(fèi)者端部署獨(dú)立的轉(zhuǎn)碼服務(wù)可以單獨(dú)用Docker容器或K8s Pod資源與Web服務(wù)隔離。轉(zhuǎn)碼實(shí)現(xiàn)Java調(diào)用FFmpeg命令行或者構(gòu)建微服務(wù)用ProcessBuilder執(zhí)行ffmpeg -i input.mp4 -c:v libx264 -preset fast -b:v 2000k output.flv。生成縮略圖可以用FFmpeg的-ss 1 -vframes 1提取某一幀。彈幕推送使用WebSocketSpring Boot支持ServerEndpoint但在高并發(fā)下需要做集群解決連接會(huì)話(huà)在哪個(gè)節(jié)點(diǎn)的問(wèn)題??梢杂肦edis發(fā)布訂閱或Kafka將彈幕消息廣播到所有WebSocket節(jié)點(diǎn)的內(nèi)存隊(duì)列再推給連接在本節(jié)點(diǎn)的用戶(hù)。問(wèn)題2上傳量大消息隊(duì)列有什么用如何資源隔離答案消息隊(duì)列削峰上傳請(qǐng)求先進(jìn)入網(wǎng)關(guān)寫(xiě)入Kafka然后立即返回“上傳成功正在處理”。轉(zhuǎn)碼服務(wù)按自身消費(fèi)能力拉取消息即使瞬間產(chǎn)生十萬(wàn)條轉(zhuǎn)碼請(qǐng)求也不會(huì)打垮轉(zhuǎn)碼服務(wù)。資源隔離Docker容器限制CPU和內(nèi)存比如--cpus2 --memory4g。Kubernetes里給轉(zhuǎn)碼服務(wù)設(shè)置resources.limits.cpu: 4。這樣Web服務(wù)堆積也不會(huì)影響轉(zhuǎn)碼服務(wù)反過(guò)來(lái)轉(zhuǎn)碼服務(wù)高負(fù)載也不會(huì)拖垮Web服務(wù)。問(wèn)題3轉(zhuǎn)碼進(jìn)度如何通知客戶(hù)端答案推薦使用WebSocket主動(dòng)推送??蛻?hù)端建立連接時(shí)帶上videoId后端在轉(zhuǎn)碼的每個(gè)階段已上傳、轉(zhuǎn)碼中、轉(zhuǎn)碼成功、轉(zhuǎn)碼失敗通過(guò)WebSocket發(fā)送消息消息體包含狀態(tài)碼和進(jìn)度百分比。另外可以提供一個(gè)REST APIGET /videos/{id}/status供客戶(hù)端輪詢(xún)但輪詢(xún)有延遲且浪費(fèi)資源。優(yōu)先使用WebSocket若客戶(hù)端不支持則降級(jí)為輪詢(xún)。問(wèn)題4Kafka消息不丟失ack和offset怎么配置答案生產(chǎn)者不丟消息設(shè)置acksall或者-1只有分區(qū)所有ISR副本都收到消息才返回成功。同時(shí)設(shè)置retries3和enable.idempotencetrue冪等性。消費(fèi)者不丟消息關(guān)閉自動(dòng)提交enable.auto.commitfalse在業(yè)務(wù)邏輯處理完成后手動(dòng)提交offset。比如消費(fèi)轉(zhuǎn)碼消息先執(zhí)行FFmpeg命令然后consumer.commitSync()。如果執(zhí)行失敗不提交offset下一條消息拉取時(shí)會(huì)重新消費(fèi)。Broker不丟消息復(fù)制因子replication.factor3min.insync.replicas2避免leader故障時(shí)數(shù)據(jù)丟失。問(wèn)題5Redis緩存設(shè)計(jì)穿透、擊穿、雪崩答案緩存結(jié)構(gòu)視頻元信息用Hash存儲(chǔ)字段如video:123- {title, author, coverUrl, duration}。點(diǎn)贊數(shù)用String存整數(shù)字符串用Redis的INCR/DECR操作。也可以把點(diǎn)贊數(shù)寫(xiě)成video:likes:123。緩存穿透查詢(xún)一個(gè)不存在的videoId緩存和數(shù)據(jù)庫(kù)都沒(méi)有。解決布隆過(guò)濾器把所有存在的videoId提前放入或緩存空值設(shè)置短過(guò)期時(shí)間如5分鐘。緩存擊穿某個(gè)熱點(diǎn)視頻過(guò)期大量請(qǐng)求同時(shí)打到數(shù)據(jù)庫(kù)。解決互斥鎖SET lock:video:123 NX EX 10、熱點(diǎn)數(shù)據(jù)邏輯過(guò)期在value中設(shè)置邏輯過(guò)期時(shí)間異步刷新。緩存雪崩大量key同時(shí)過(guò)期。解決過(guò)期時(shí)間加隨機(jī)數(shù)比如300~600秒之間或使用多級(jí)緩存本地緩存Redis或?qū)?shù)據(jù)庫(kù)限流降級(jí)。問(wèn)題6Redis集群主從切換數(shù)據(jù)丟失Redisson分布式鎖如何設(shè)置答案主從切換丟數(shù)據(jù)問(wèn)題在Redis主從復(fù)制是異步的若主節(jié)點(diǎn)故障未同步到從節(jié)點(diǎn)的數(shù)據(jù)會(huì)丟失。使用Redisson的RedissonMultiLock聯(lián)鎖可以同時(shí)鎖主節(jié)點(diǎn)和所有從節(jié)點(diǎn)只要全部加鎖成功才算成功。配置方法創(chuàng)建多個(gè)RLock然后multiLock.lock()。但實(shí)際生產(chǎn)更推薦使用Redlock算法實(shí)現(xiàn)于Redisson它建議對(duì)5個(gè)獨(dú)立Redis節(jié)點(diǎn)加鎖超過(guò)3個(gè)成功才算獲取鎖。確實(shí)能提高安全性但也不能100%保證存在時(shí)鐘漂移等場(chǎng)景。簡(jiǎn)答時(shí)可以說(shuō)“使用Redisson的聯(lián)鎖并對(duì)關(guān)鍵操作結(jié)合Zookeeper或數(shù)據(jù)庫(kù)樂(lè)觀(guān)鎖做兜底”。第二輪電商與本地生活服務(wù)場(chǎng)景描述外賣(mài)下單系統(tǒng)包含訂單、庫(kù)存、優(yōu)惠券、支付服務(wù)。典型的微服務(wù)分布式事務(wù)問(wèn)題、高并發(fā)秒殺問(wèn)題、支付冪等性問(wèn)題、安全認(rèn)證問(wèn)題。問(wèn)題1微服務(wù)拆分與服務(wù)間通信答案按業(yè)務(wù)域拆分為order-service、inventory-service、coupon-service、payment-service、user-service。每個(gè)服務(wù)獨(dú)立數(shù)據(jù)庫(kù)避免跨庫(kù)關(guān)聯(lián)查詢(xún)。服務(wù)間通信同步調(diào)用用OpenFeign Spring Cloud LoadBalancer或Ribbon異步調(diào)用用Kafka/RabbitMQ。比如下單時(shí)訂單服務(wù)調(diào)用庫(kù)存服務(wù)扣減庫(kù)存同步扣減成功后再向訂單狀態(tài)變更Topic發(fā)送消息由支付服務(wù)監(jiān)聽(tīng)觸發(fā)支付流程。分布式事務(wù)優(yōu)先使用最終一致性方案如本地消息表、事務(wù)消息RocketMQ或Seata的AT/TCC模式。嚴(yán)格一致性場(chǎng)景如支付扣款用TCC或Saga。問(wèn)題2支付超時(shí)庫(kù)存已扣了怎么辦答案本地消息表方案在訂單服務(wù)里將“扣庫(kù)存”和“寫(xiě)消息表”放在同一個(gè)本地事務(wù)中步驟更新庫(kù)存扣減量插入一條狀態(tài)為NEW的消息。然后后臺(tái)任務(wù)把消息發(fā)送給MQ消費(fèi)者處理后續(xù)邏輯如果處理失敗MQ重試重試多次失敗則調(diào)用補(bǔ)償接口如釋放庫(kù)存。Seata Saga模式定義正向服務(wù)扣庫(kù)存、減優(yōu)惠券、創(chuàng)建訂單和反向補(bǔ)償服務(wù)回滾庫(kù)存、恢復(fù)優(yōu)惠券、取消訂單。通過(guò)狀態(tài)機(jī)編排任何一步失敗自動(dòng)執(zhí)行已經(jīng)完成步驟的補(bǔ)償操作。實(shí)際面試時(shí)不能說(shuō)“用Seata就完事”要具體說(shuō)Saga適合長(zhǎng)事務(wù)但無(wú)隔離性需要業(yè)務(wù)層防臟讀。例如扣庫(kù)存時(shí)加“凍結(jié)庫(kù)存”支付超時(shí)后解凍。問(wèn)題3秒殺場(chǎng)景高并發(fā)限流怎么做答案四層防護(hù)前端按鈕置灰、隨機(jī)延時(shí)、驗(yàn)證碼。網(wǎng)關(guān)Sentinel或Spring Cloud Gateway全局限流按用戶(hù)ID限流如每秒1次、按IP限流如每秒10次。Redis預(yù)減庫(kù)存秒殺前把庫(kù)存預(yù)熱到RedisSET seckill:stock:1 100。請(qǐng)求進(jìn)入時(shí)執(zhí)行Lua腳本原子性操作if redis.call(GET, key) 0 then return 0 end return redis.call(DECR, key)如果返回0直接返回“已搶光”。減庫(kù)存成功后再把用戶(hù)ID和數(shù)據(jù)寫(xiě)入Kafka異步創(chuàng)建訂單和扣減DB庫(kù)存。數(shù)據(jù)庫(kù)限流防止超賣(mài)UPDATE inventory SET stock stock - 1 WHERE id ? AND stock 0影響行數(shù)為1才成功。Sentinel配置FlowRule設(shè)置資源名、QPS閾值例如200和拒絕策略直接拒絕或預(yù)熱。DegradeRule設(shè)置熔斷條件如異常比例超過(guò)0.2熔斷10秒。問(wèn)題4支付回調(diào)的冪等性答案支付平臺(tái)如微信、支付寶會(huì)多次異步回調(diào)同一訂單可能最多發(fā)幾十次通知。服務(wù)端必須冪等。方案在payment_notify表創(chuàng)建唯一索引(order_id, transaction_id)?;卣{(diào)處理器首先查詢(xún)?cè)摫砣绻嬖谡f(shuō)明已處理直接返回“SUCCESS”。如果不存在則嘗試插入若插入成功則繼續(xù)更新訂單狀態(tài)若插入時(shí)發(fā)生主鍵沖突并發(fā)重復(fù)請(qǐng)求到了則回滾并進(jìn)行查詢(xún)確認(rèn)已經(jīng)處于處理狀態(tài)后返回成功。也可以使用Redis的SET order:pay:123 1 NX EX 120但Redis鎖過(guò)期可能造成并發(fā)問(wèn)題最好持久化唯一約束作為兜底。問(wèn)題5JWT、OAuth2和簽名答案JWT一種無(wú)狀態(tài)Token由Header.Payload.Signature組成。適合單點(diǎn)登錄但無(wú)法主動(dòng)失效因此需要配合黑名單或短過(guò)期時(shí)間。用于認(rèn)證“你是誰(shuí)”。OAuth2授權(quán)框架解決第三方應(yīng)用如何獲得用戶(hù)授權(quán)。比如微信登錄用戶(hù)跳轉(zhuǎn)微信授權(quán)頁(yè)微信返回code后端用code換取access_token。用于授權(quán)“允許誰(shuí)訪(fǎng)問(wèn)”。兩者關(guān)系OAuth2可以用JWT作為access_token的格式。Spring Security OAuth2里JwtBearerTokenAuthenticationConverter可以解析JWT。API簽名商戶(hù)平臺(tái)對(duì)接支付網(wǎng)關(guān)時(shí)通常用私鑰對(duì)請(qǐng)求參數(shù)按字典序拼接加nonce和時(shí)間戳做RSA簽名支付網(wǎng)關(guān)用公鑰驗(yàn)簽防止篡改和重放。MD5加鹽更弱推薦RSA/SHA256withRSA。問(wèn)題6Spring Security過(guò)濾器鏈和網(wǎng)關(guān)Token校驗(yàn)答案Spring Security的過(guò)濾器鏈核心是FilterChainProxy常見(jiàn)過(guò)濾器有SecurityContextPersistenceFilter恢復(fù)上下文、UsernamePasswordAuthenticationFilter處理表單登錄、JwtAuthenticationFilter自定義解析Token、ExceptionTranslationFilter、AuthorizationFilter鑒權(quán)。可以自己實(shí)現(xiàn)一個(gè)OncePerRequestFilter在doFilterInternal里解析HTTP Header中的Authorization: Bearer xxx把Authentication對(duì)象保存到SecurityContext。在微服務(wù)網(wǎng)關(guān)Spring Cloud Gateway中可以使用GlobalFilterOrdered。實(shí)現(xiàn)思路獲取請(qǐng)求頭token調(diào)用用戶(hù)服務(wù)校驗(yàn)或本地JWT解析如果合法則把用戶(hù)ID寫(xiě)入請(qǐng)求頭轉(zhuǎn)發(fā)給下游不合法則返回401。同時(shí)網(wǎng)關(guān)也可以做白名單校驗(yàn)如/login、/register不用token。第三輪AIGC與智能推薦場(chǎng)景描述AIGC內(nèi)容社區(qū)用戶(hù)輸入prompt后端調(diào)用大模型生成圖片同時(shí)根據(jù)用戶(hù)行為做個(gè)性化推薦。涉及調(diào)用外部AI服務(wù)、內(nèi)容安全、緩存一致性、推薦算法基礎(chǔ)。問(wèn)題1Java如何調(diào)用大模型Spring AI和LangChain4j是什么答案Spring AISpring官方提供的AI框架類(lèi)似Spring生態(tài)的AI客戶(hù)端。支持ChatModel、TextToImageModel等。比如Service public class AiService { private final OpenAiChatModel chatModel; public String generateImage(String prompt) { return textToImageModel.call(prompt); } }通過(guò)自定義RestTemplate或WebClient調(diào)用OpenAI的/v1/images/generations接口把prompt和參數(shù)size、n放進(jìn)JSON請(qǐng)求體解析返回的圖片URL。LangChain4jJava版LangChain支持面向AI模型的可組合能力、RAG、記憶等但實(shí)際生產(chǎn)中也還是走HTTP。如果不用框架可以用RestClient來(lái)發(fā)HTTP請(qǐng)求再配合Jackson解析JSON。需要注意超時(shí)連接超時(shí)2秒、讀超時(shí)30秒因?yàn)閳D片生成慢。為了不阻塞主線(xiàn)程應(yīng)該用異步WebClient調(diào)用或者把請(qǐng)求拋出到消息隊(duì)列由專(zhuān)門(mén)的工作線(xiàn)程池處理再由WebSocket推送生成結(jié)果給用戶(hù)。問(wèn)題2數(shù)據(jù)量大、分庫(kù)分表怎么設(shè)計(jì)答案表設(shè)計(jì)prompt_record提示詞記錄id、user_id、prompt_text、model_name、parameters_json、create_time。image_record生成圖片記錄id、record_id、object_keyOSS地址、width、height、size、status生成中/成功/失敗、audit_status未審核/通過(guò)/拒絕、create_time。分庫(kù)分表用戶(hù)量大后按user_id對(duì)數(shù)據(jù)庫(kù)分片比如32個(gè)庫(kù)每個(gè)庫(kù)64張表庫(kù)號(hào) user_id % 32表號(hào) (user_id / 32) % 64。同時(shí)create_time作為二級(jí)索引的分頁(yè)查詢(xún)?nèi)绻肊S就能避免跨庫(kù)分頁(yè)問(wèn)題。不要用SELECT *盡量只查熱點(diǎn)字段。元信息放MySQL大文本prompt原文、生成參數(shù)JSON可以存到MongoDB或OSSMySQL只存關(guān)聯(lián)ID。問(wèn)題3基于Redis做個(gè)性化推薦答案用戶(hù)偏好標(biāo)簽用戶(hù)收藏圖片時(shí)給圖片打標(biāo)簽如“賽博朋克”、“落日”、“機(jī)械姬”在Redis中維護(hù)一個(gè)Setuser:tags:123里添加cyberpunk、anime等。相似用戶(hù)用SINTER user:tags:123 user:tags:456獲取共同標(biāo)簽定義相似度為交集大小。然后找最相似用戶(hù)的喜歡圖片也存成Setuser:likes:456。候選推薦把相似用戶(hù)喜歡的圖片ID取出來(lái)過(guò)濾掉當(dāng)前用戶(hù)已看過(guò)的可以用SISMEMBER然后給圖片分?jǐn)?shù)排序。分?jǐn)?shù)可以用ZSetrecommend:images:123中每個(gè)圖片的分?jǐn)?shù)按喜歡人數(shù)×0.6 標(biāo)簽匹配度×0.4計(jì)算。本地緩存熱門(mén)的圖片詳情用Caffeine緩存冷數(shù)據(jù)和用戶(hù)行為用Redis底層MySQL落庫(kù)。注意Caffeine緩存和Redis之間的數(shù)據(jù)一致性在更新圖片時(shí)使用CacheEvict刪除本機(jī)Caffeine同時(shí)發(fā)布Redis消息其他服務(wù)監(jiān)聽(tīng)到后刪除各自的Caffeine緩存?;蛘咴O(shè)置Caffeine很短的過(guò)期時(shí)間比如5秒降低不一致窗口。問(wèn)題4敏感詞過(guò)濾和第三方審核API熔斷答案敏感詞過(guò)濾使用AC自動(dòng)機(jī)Aho-Corasick。將敏感詞庫(kù)建立Trie樹(shù)每個(gè)節(jié)點(diǎn)有fail指針指向失配時(shí)跳躍的位置。匹配時(shí)遍歷文本字符根據(jù)fail指針跳轉(zhuǎn)可以在O(n)時(shí)間內(nèi)找出所有敏感詞。Java實(shí)現(xiàn)偽代碼class AcNode { MapCharacter, AcNode children new HashMap(); AcNode fail; boolean isEnd; // 是否為一個(gè)敏感詞的結(jié)尾 int length; // 詞長(zhǎng) } public boolean containsSensitive(String text) { AcNode cur root; for (char ch : text.toCharArray()) { while (cur ! root !cur.children.containsKey(ch)) { cur cur.fail; } cur cur.children.containsKey(ch) ? cur.children.get(ch) : root; for (AcNode p cur; p ! root; p p.fail) { if (p.isEnd) return true; } } return false; }實(shí)際可結(jié)合第三方審核如阿里云內(nèi)容安全做圖片和文本的機(jī)審人工審核。超時(shí)熔斷使用HttpClient時(shí)設(shè)置connectTimeout(2s)、readTimeout(2s)。使用Resilience4jTimeLimiter設(shè)置最大調(diào)用時(shí)間2秒CircuitBreaker設(shè)置滑動(dòng)窗口大小比如10秒內(nèi)50%請(qǐng)求失敗則熔斷熔斷后返回本地默認(rèn)結(jié)果比如auditResultpass低風(fēng)險(xiǎn)場(chǎng)景或轉(zhuǎn)人工審核隊(duì)列。Bulkhead隔離限制并發(fā)調(diào)用數(shù)量比如最大并發(fā)10個(gè)超出就排隊(duì)或快速失敗。問(wèn)題5AC自動(dòng)機(jī)能手寫(xiě)嗎答案面試官不要求你立刻寫(xiě)500行代碼但你需要說(shuō)出構(gòu)建過(guò)程構(gòu)建Trie樹(shù)插入每個(gè)敏感詞路徑上的字符作為分支。構(gòu)建失敗指針BFS遍歷Trie樹(shù)。根節(jié)點(diǎn)的孩子fail指向root其他節(jié)點(diǎn)假設(shè)當(dāng)前節(jié)點(diǎn)為p父節(jié)點(diǎn)為fp是f的孩子字符為c。則看f.fail有沒(méi)有字符為c的孩子有則p.fail f.fail.children.get(c)否則繼續(xù)向上。直到root。匹配從root開(kāi)始遍歷文本字符如果當(dāng)前節(jié)點(diǎn)有該字符的子節(jié)點(diǎn)就往下走否則跳到fail直到找到匹配路徑或回到root。每次到達(dá)節(jié)點(diǎn)從該節(jié)點(diǎn)沿fail鏈檢查是否有isEnd如果有則說(shuō)明命中敏感詞??偨Y(jié)用空間換時(shí)間適用于敏感詞量不大的場(chǎng)景幾千條。如果幾百萬(wàn)詞條則考慮更高效的雙數(shù)組TrieDouble-Array Trie。面試官最后一句“回家等通知”說(shuō)明了什么謝飛機(jī)雖然表現(xiàn)了不少亮點(diǎn)能說(shuō)出AC自動(dòng)機(jī)、Respire4j但總體深度不足。面試官在結(jié)束時(shí)補(bǔ)充的那個(gè)問(wèn)題其實(shí)就是一種含蓄的否決“你簡(jiǎn)歷上寫(xiě)的熟悉分布式事務(wù)但我一問(wèn)細(xì)節(jié)你就答不上來(lái)?!?所以大家在校招或社招面試時(shí)不要背干巴巴的八股文一定要掌握技術(shù)背后的原理并且結(jié)合項(xiàng)目/場(chǎng)景去說(shuō)清楚。否則下一輪謝飛機(jī)就是你。不過(guò)沒(méi)關(guān)系謝飛機(jī)回去之后把這些問(wèn)題都整理成了文檔又買(mǎi)了幾本《Kafka權(quán)威指南》《Redisson源碼解析》開(kāi)始扎扎實(shí)實(shí)地啃源碼。下次面試他一定能挺進(jìn)最后一輪祝他好運(yùn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
538在线| 97在线观看| 婷婷综合网性| 无码人妻少妇色欲AV一区二区 | 欧美性猛交AAAA片黑人 | 五月天激情网址| 九热av| 9久久婷婷国产综合精品性色| 九九色黄色| 天堂久久性| 激情婷婷五月女| 久久久久久久久久久久久久久久久精典| 久久性操| 五月丁香激情啪啪网| 色爱综合网| 99久久66| 日本啪啪网| 日韩AV成人电影| 国产人妻777人伦精品HD| 俺去也五月天| 天天爱综合网| 丁香五月婷婷偷拍| 五月天伊人综合| 婷婷五月天亚洲综合| 噜噜噜噜噜在线| 任你干线上免费视频有3吗| 能看的av网站| 激情五月丁香婷婷| 九九AV| 91碰碰| 在线观看亚洲视频影院| 久99综合婷婷| 这里只有精品1| AV五月丁香| 丁香色五月天| 色五月综合资源推荐| 色婷婷丁香五月综合| 婷婷五月蜜桃成人桃色丁香| 久久五月激情网| 99爱视频在线观看这里只有精品| 精品色色色| 婷婷色五月综合丁香| 欧美综合五月丁香六月婷| 九九九九中文字幕| 99超碰人人| 在线亚洲综合| 色婷婷免费视频| 丁香五月综合久久| 久久婷婷五月丁香网| av国产精品偷| 97五月天婷婷午夜| www色五月天| 99热99精品在线观看| 精品无码色欲AV| 激情五月六月婷婷综合啪啪| 婷婷五月天激情影片| 天天肏天天插| www天天色天天射| 思思热久热| 5月婷婷6月六月丁香| 婷婷五月激情视频在线| 色婷久久| 一级AV片| 啪啪婷婷五月天激情| 99九九99九九九视频精彩| 婷婷丁香成人五月天| 色综合香蕉| 五月婷婷啪啪啪| 亲子乱AV一区二区三区下载| 99热在这里只有免费精品| 五月丁香亭亭成人电影| 色五婷婷开心缴| 色射影院| 丁香六月成人网| 人妻自慰高清合集| 五月婷婷啪啪| 亚洲有码在线视频| 久久婷婷五月综合色播| 久久久久久97| 老师高潮流白浆喷水的A片| 五月丁香色欲| 久久婷五月婷| 激情五月婷婷丁香综合网| 婷婷五月天开心网| 婷婷不干网| 亚洲自拍天堂| 五月丁香激情六月| 婷婷丁香久久| 久久新| 丁香六月亚洲| 久综合网| www.婷婷五月天.com| 久久99网| 丁香六月婷| 天天爽天天日人人爱| 99小视频网站| 在线只有精品| 9久国产精品| 色青青五月| 天天插天天爽| 久久久宗合视频88| 五月婷婷中字在线| 9久精品| 超碰2021| 好吊丝aV| 可以看的av| 无码一级片| 丁香五月综合久久八| 中文字幕色色色| 色色婷| 久久久久亚洲AV无码网影音先锋| 影音先锋一区| 超碰93在线观看| 五月激激网w'w'w| 天天做天天爱| 婷婷色情五月| 亭亭五月色男人| 婷婷五月色| 九热电影av| 色婷五月天亚洲| 成人精品在线| 九九色逼| 狠狠色成人影片| 亚洲午夜一区二区| 久久婷婷五月天| 久久这里只有精品视频15| 激情AV| 丰满人妻一区二区三区| 青青草原爱爱网| 亚洲色激婷| 五月天精品视频| 99热日本精品| 少妇搡BBBB搡BBB搡毛茸茸 | 99热偷拍| 九色自拍| 久热免费| 99在线观看视频精品| 99热热这里只精品996小说| 99热草草| 色五月色五天免费视频| 91丨九色丨熟女丰满| 五月丁香中文| 色婷婷丁香综合中文字幕| 久久久久久人妻| 亚洲AV久久久久久久久久久久久久久久| HD久久精品视频| 久久久精久人妻| 五月日韩中文字幕| 五月丁香婷爱在线| 婷婷五月天AV在线| 久热这里只有| 久久婷婷五月综合色播| 97久久超级| 日本VA视频| 五月亭久久无码视频| 婷婷五月天日本无码| 2018夜夜草| 综合五月天天天天天五月| 日韩av一区二区在线/日产精品久久久 | 国产激情AV| 久9无码视频| 91丨九色丨熟女|老版| 9伊人网| 激情五月婷婷综合| 国产日比| 久草九一| 9999久久久久| 开心五月婷婷在线| 六月丁香av| 五月丁香六月色婷婷综合五月天| 九九精品热播| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 婷婷激情社区| 大香蕉人妻| 91九九| 五月婷六月丁| 免费观看亚洲AV片| 91久女| 日本天天色| 综合色色网| 超碰免费在线| 色欲婷婷五月天丁香| 久久99婷婷| 九九无码| 日韩在线99| wwwss在线观看| 少妇性BBB搡BBB爽爽爽视頻| 五月丁香婷婷综合久久| 日日操,夜夜爽| 9一精品视频观看| 婷婷色导航| 岛国资源网| 九九色之九九色之88| 六月丁香激情网| 色宗合久久五月婷婷| 亚洲成人无码免费| 国产av一区二区三区| 五月婷天天搞视频| 五月婷在线色视频| 亚洲色色色色色| 五月刺激丁香月综合| 五月丁香六月婷婷久久肏| 激情精品久久| 亚洲Va成人| 日韩性爱AV| 婷婷五月天视频免费在线观看| ...婷婷五月综合不卡,国产在线手机| 影音先锋偷偷色男人站| 色高清无码视频| 日韩av网站在线观看| 99噜噜噜在线播放| 五月丁香网站| 婷婷99狠狠躁天天| 欧美黄色韩日网| yazhou seshipin| 丁香婷婷综合激情五月色| 日本精品人妻无码77777| 综合婷婷五月天| 婷婷五月天激情综合| 六月激情婷婷综合| www.久久爱.com| 五月激情精品视频| 性爱先锋AV| 丁香五月www| 99ER热精品视频| 五月丁香亭亭操逼| 色色五月婷婷久久| 欧美激情综合色综合啪啪五月| 3p久久| 久久久亚洲成人无码A片| 色播五月| 五月婷婷色| 色色色婷婷| 天天操夜夜爽歪歪| 激情六月日韩| 丁香涩涩爱| 91操操操| 五月丁香六月停停| 九九热这里只有精品31| 婷婷色5月激情网| 九九精品这里只有| 九九一综合精品| 丁香五月婷婷综合视频| 九九热10| 五月亭亭激情综合| 五月丁香激情婷婷| 996er热| 可以直接看的AV| WWW.99热| 五月天婷婷激情在线色图| 欧美综合激情五月天| 五月激情久久综合| 俺去啦综合网| 韩国激情五月天综合网| 欧美婷婷丁香五月社区| 日日操日日撸| 99精品视频在线观看| 日本天天色| 99激情视频| 99热亚洲| 97自拍视频网| 色综合久久99色| 五月婷婷人人人操| 管管補管管紱| 色色AV色色色东莞| 亚州色婷婷| 亚洲视频99| 婷婷91| 亚洲中文字幕在线观看| 婷婷福利影院| 97人妻碰碰碰久久香蕉| 丁香五月婷婷性爱| 播五月丁香六月| 婷婷天天日婷婷| 色五婷婷开心缴| 青青草轻轻操| 国产又色又爽又黄又免费| 久久久婷婷五月天| 天天综合五月| 五五月五月| 思思热国产在线| 天天摸天天透天天舔| 色色热| 天天干夜夜谢| 99综合成人视频在线观看| 成人视频在线免费播放| 色天天久婷婷| 99色中文| 九热网站| 热的五码久久精品| 日本久久爱| 91婷婷色| 亚洲婷婷性爱| 色激情综合| 婷婷五月天伦理| 五月天久久91| AV网在线| 91蜜桃婷婷狠狠久久综合9色| 另类激情五| 五月香蕉综合| 99啪99| 欧美黑人巨大性生话| 操碰99在线视频观看| 久久精品99久久久久久| 开心五月婷婷99| 色天堂A| 久久久天堂国产精品女人| 九九色黄色| 婷婷五月色情天| 五月天激情开心网| 超碰AV在线| 欧美WW在线网| 久99热| 亚洲男女激情| 色中色综合| 麻豆观看夏晴子| 偷拍91九色| 思思精品久久艹| 婷婷五月天色色| 精品婷婷丁香五| 欧美成人Va| 天天影视天天爽天天草| 9色免费网| 蜜臀av无码久久久久久久久| 亚洲精品国产成人AV在线| 色婷婷在线电影| 丁香六月综合激情| 色婷婷五月在线| 在线sebiav精品视频| 九九这里只这里只有精品| 久久丁香综合| 综合网色综合| 99热在线只有精品| 97操女视频| 丁香六月婷婷色XXXX| 色婷婷888| 色一色综合| 色色自拍视频网站| 色婷久久| 看国产探花操逼三级片| 丁香五月婷婷五月| 日韩av网站在线观看| 超碰狠狠操| 五月婷婷|欧美| 五月丁香综合激情在线观看| 综合成人小说婷婷| 大地资源色婷婷视频在线| 无码一级片| 亚洲精品网站色视频| 夜夜爽天操| 性爱综合网| 丁香六月婷婷色XXXX| 97色97干| 婷婷六月激情综合| 欧美电影在线播放| 午夜一区| 五月婷婷婷丁香播| 国产激情一区| 成人五月天在线视频在线观看| AV天堂淫乩| 五月丁香六月婷婷激情网| 国产精品久久欧美久久一区| 五月天伊人综合| 婷婷五月偷拍| 嫩草AV久久伊人妇女超级A| 国产综合81p| 久久丁香社| 午夜理论片最新午夜理论剧 | av 一区三区四区| 色婷五月天激情| 色色色欧美| 成人人操| 精热在线综合网| 天天在线XXX| 丁香五月欧美婷婷综合| www。88热在线视频免费观看| 丁香五月天啪啪激情综和网| 丰满少妇猛烈A片免费看观看| 日韩AV在线免费| 丁香五月大片| 92久久精品一区二区| 天天噜日日噜综合无码| 丁香激情五月天| 亚洲日本三级片| 乱女乱妇熟女熟妇综合网站| 天天日天天插| 久久九九视频网站| 欧美熟女乱又伦| 97精品综合| 九草性爱| www.yw色| 亚洲精品视频电影| 人妻激情在线| 99亚洲精美视频在线观看| 激情五月天小说视频| 99精品偷自拍| 丁香婷婷六月激情| 99在线精品免费视频| 五月激情日本在线| 丁香五月婷婷啪啪| 国产欧美婷婷五月| 婷婷99视频在线| 丁香五月天婷婷久久| 久久激情网| 九九综合精品| 五月天综合在线| 99热91| 另类小说五月天| 欧美影院婷婷| 丁香五月社区| 五月丁香在线婷婷蜜桃| 天天综合影院| 色情五月| 97精品自拍| 久久婷婷网| 激情综合在线观看| 深爱五月月天| 人与禽A片啪啪| 春色激情第四色| 淫五月停停| 日本va视频| 色情网综合| 丁香六月久| 另类国产区| 99九九综合久久九九| 99视频35精品视频在线观看| 婷婷欧美| 色五月色五天色情网| 亚洲在线网站| 久久综合影院| 五月婷婷五月丁香综合| 成人五月天综合网| AA丁香综合激情| www.henhenl| yazhouzonghesese| 97操碰免费视频| 婷婷狠狠干| 97婷婷丁香| 99热综合网| 亚洲 小说 欧美 激情 另类| 丁香五月天堂网AV| 五月天婷婷在线AN| 久色中文| 久久婷五月综合| 日韩色色视频| 五月天精品综合| 日韩在线观看亚洲| 精品亚洲国产成AV人片传媒| 开心激情网五月天| 四月婷婷五月色综合| AA片在线观看视频在线播放 | 五月婷中文字幕| 97亚洲色 torrent magnet| 色伦专区97中文字幕| 色激情五月| ww久久| 欧美成人AAA片一区国产精品| 六月丁香婷婷亚洲中文玖玖| 婷婷久久网| 夜夜骑日日操| 97久操视频| 91精品久久久久久77777| 激情五月视频| 大香蕉啪啪网| 中文字幕在线不卡视频| 日韩中文欧美| 97干综合网| 色婷婷丁香五月高清在线| 中文字幕在线不卡视频| 国产成人精品123区免费视频 | 色五月激情| 激情五月视频| 婷婷五月丁香综合亚洲| 激情丁香五月AV| 狠狠干综合| 色综合色| 狠色狠色综合久久| 777久久精品| 91pornav在线| 热久综合| 国产毛片精品一区二区色欲黄A片| 人妻在线中文字幕久久| AA片在线观看视频在线播放| 亚洲综合五月天婷婷丁香| 高清激情av在线观看| 777久久久| 成人综合网站| 久久机热/这里只有精品| 五月天久久丁香| 久热久色| 激情伊人| 亚洲综合在线播放| 亚洲免费电影2| 欧美槡BBBB槡BBB少妇| 国产激情在线| 泰州成人视频| 五月丁香六月婷婷亚洲视频| 色婷婷六月精品| 亚洲思思热久| 九色视频91| 亚洲AV成人无码电影| 亚洲国产精品VA在线看黑人| 天天做天天爱天天爽| 久久五月天色婷婷| 蜘蛛女侠2003满天星免费观看| 91狠狠综合久久久| 色情久久久| 日本啪啪天堂| 天天综合精品| 五月天激情婷婷| 成人超碰Av| 婷婷天天综合| 日韩成人精品一区久久久久| 五月天久久婷婷婷| 色婷婷视频| 丁香五月激情六月欧亚激情综合导航| 婷婷狠狠香蕉综合| 31色区视频免费看| 性爱技巧五月| 一区无码| 九九偷拍网| 黄页免费一级视频懂色| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 日本va欧美va欧美va| 丁香5月啪啪| 丁香五月另类小说在线阅读| 色 丁香婷婷| 九九色网专区| 亚洲欧洲中文日韩久久AV乱码 | 久久六月综合| 欧美高潮9| 校园春色亚洲色| www.第四色99| 激情超碰网| 蜜桃婷婷狠狠久久综合| 日本久久超碰| 日本色色色| 国产日产成人亚洲欧美国产VA| 伊人热婷婷| 色五月自偷自拍婷婷婷婷| 中文字幕人妻AV| 69久热| 99久久.www| 99啪99| 粉嫩av蜜桃av蜜臀av| 99碰超| 婷婷丁香五月亚洲欧美| 深夜婷婷五月丁香| 久草xx性爱视频| AAAA网站| 五月丁香啪啪综合| 午夜丁香| 婷婷五月综合网| 久久久8| 99久久久久| 欧美日本韩国亚洲| 六月激情网| 婷婷五月大香蕉| 激情综合5| 丁香五月婷婷激情123| 色五月丁香伊人五月| 五月丁香影院| 91色久| www.lchjjc.com| 超碰色女| 色欲Av五月天| 天天天久久人人人合| 色婷久九| 538在线精品| 久久3级片| 久99久精品| 色亚洲中文| 天堂草在线看www| 黄网免费看| 疯狂做受XXXX高潮A片动画| 97操女视频| 亚洲综合视频在线| 俺去也在线官网| 99热精品在线在线| 亚洲精品一区中文字幕乱码| 五月婷婷婷| 精品一二三区久久AAA片| 亚洲99一级无嗎特制在线| 玖玖无码中文| 五月草影视| 日本啪啪天堂| 啪啪啪丁香五月| 色婷婷狠狠爱| 六月丁香五月天| 性综合网| 五月久久婷婷天堂视频| RenRenSe在线视频网站| 欧美97色| 97久久精品视频| 九月婷婷| 97五月天| 丁香8月手机综合| 玖玖爱伊人| 淫荡工a| 26uuu成人网| 亚洲色基地| 情欲综合网| 97碰久久| 婷婷伊人綜合中文| 久久精品小视频| 欧美一级色| 丁香五月久久社区| 久久久婷丁香五月| www,婷婷五月天777me,com| 月婷婷婷婷五月| 人妻丰满精品一区二区A片| 婷婷五月综合久久中文字幕| 欧美色五月天| 无码成人AAAAA毛片AI换脸| 91婷婷在线| 色99在线视频| Aaa久久| 性 色 婷婷| 成人网站在线观看视频| 色五月大香蕉婷婷| 色色哒五月婷婷六月丁香| 色婷婷99| 五月婷婷开心亚洲无| www,超碰| www.com.色色| 六月婷婷在线| 亚洲成人av中文| 五月婷婷co.m| 欧美S码亚洲码精品M码| av婷婷丁香 六月| 五月丁香综合啪啪| 久久 婷婷 五月天| 色99自拍| 99久久99视频| 99色 | 五月婷婷在线丁香| 七七九九色色| 思思热视频在线观看| 99精品人人| 婷婷五月天综合在线| 91丨九色丨国产| 天天综合天天玩夜夜玩天天玩夜夜玩 | 日本色图综合| 天天操夜夜操| 天堂综合久| 亚洲最大激情无码| 大天天伊人| 婷婷五月天在线视频网站| www.久操| 久久久天天啊| 婷婷丁香五月天影院 | 免费在线观看av网站| 亚洲成人电影aaaa| 爱99干99| 国产色五月婷婷| 日本综合99| 久久99美女精彩视频| ZpRSw| 五月天成人小说网| 久久99久久久久久久噜噜| 婷婷五月天无码| 91久久九色| 婷婷日在线观看| 91精品丝袜久久久久久| 99热综合| 国产精品久久久久久妇女6080| 中文资源在线a| 99欧美| 色欲婷婷夜夜| 9色91视频| 99热这里只有免费| 色玖玖综合| 婷婷精品免费久久| 久久久久久草黄色片AV在线观看| 九月婷婷| 午夜精品777| 亚洲欧洲美女在线观| 99国产视频网| 丁香六月久久| 色伦专区97中文字幕| 蜜桃婷婷丁香| 色播播婷婷| 99精品视频网站| 天天激情夜夜干| 9999热在线| 亚洲性视频| 好好干Av| 色婷婷精品视频在线播放| 另类小说五月天| 7月婷婷六月丁香| 久久五月天激情| 伊人婷婷五月天| 五月丁香六月色婷婷综合五月天| 深爱激情综合| 综合激情深爱| 久久久性爱视频| 99国产精品久久久久久久久久久| 亚洲中字AV电影在线网站| 九九婷婷网五月天| 激情综合播播| 99在线播放| XX色综合| 五月丁香天堂网| 色优久久| 9 1 A v久久久| 天天色视频| 五月激情婷婷六月| 国产韩日亚洲美州欧亚综合在线| 精品婷婷| 五月丁香婷婷AV| 99热99在线| 国产a视频| 日韩婷婷| 开心五月天激情网| 亚洲瑟瑟精品在线| 色综合天堂| 97五月婷| 性爱视频久久| 久色大| 婷婷综合激情五月综合| 色婷丁香| 色丁香五月婷婷综合久久| 久久怡红院| 五月天播播| AⅤ色区| 91精品丝袜久久久久久| 丁香伊人五月色婷婷五十路| 一起草AV| 婷婷性爱网| 天天做天天爱天天要| 伊人大香五月天| 大香蕉婷婷丁香| 日韩三级高清无码| 激情五月综合网| 99亚洲视频| 这里只有精品免费观看网占| 婷婷亚洲激情在线观看视频 | 深爱激情五月天| 99热精品在线在线| 丁香六月亚洲综合| 五月婷婷成人网首页| 97狠狠色| 視频福利乱色| 91色色色视频| 色婷插| 黑人糟蹋人妻HD中文字幕| 五月丁香色色| 天天天在线观看| 性色视频| 人人摸人人干人人做| 婷婷五月天激情在线观看| 久久久999精品| 综合激情专区| 久99久视频精选| 99日热在线视频| 人妻丰满精品一区二区A片| 久久99视频| 色婷婷88| 97五月久久丁香婷婷| 色五月婷婷在线观看| 一区二区三区四区无码| 九九久久99| 九月婷婷综合八月丁香在线观看 | 99精色| 无码字幕中文| 午夜天天精品视频| 丰满少妇乱A片无码| 99在线免费观看| AA丁香综合激情| 综合激情站| 99久久婷婷国产综合精品草原| 丁香五月天在线| 少妇人妻综合色6699| av免费人人| 丁香婷婷十月| 日日噜狠狠色| 五月亭亭狠狠| 99操免费视频| 伊人玖玖精品| www久| 五月综合久久| 五月丁香六月婷婷网| 九九免费视频| 亚洲五月天激情| 久久精品一区二区三区四区| 69超碰在线| 99热午夜精品| 99小视频在线观看| 激情视频91| 久久 婷婷 五月天| 亚洲激情在线| peg 2区三区四区的| 丁香五月六月婷婷自拍| 99热九九在线| 99久久6| 美女精品一级不卡视频| 99欧美| 在线观看国产高清视频免费网站| 99热在线精品观看| 欧美经典片免费观看大全| 亚洲精品白浆高清久久久久久| 亚洲激情五月| 婷婷香草网| 亚洲人人艹| 激情综合五| 天天色一道本综合婷婷| 欧美色色色| 五月天婷婷爱| 国产成人网站在线观看| av中文在线| 久久这里只有精品视频15| 成人AV网站在线| 亚洲精品电影| 国产乱码久久| 超碰精品在线| 激情丁香六月| 噜噜狠狠| 噜噜五月天综合| 婷婷丁香五月综合| 99久久精品视频女神1| 99资源在线视频| 国产FREESEXVIDEOS性中国| 综合激情深爱| 色婷婷丁香| 超碰色热| 色情综合网| 这里只有精彩亚洲视频推荐| 超碰成人电影| 色操综合| 国产精品成人在线| 看片视频在线免费日产在线看| 五月丁香亭亭AV女优| 思思热在线观看| 日本操逼九九九九58日本操逼| 91n啪啪| 丁香五月欧美| 久久九九色| 丁香六月视频| 另类专区在线观看| 91在线看片| 丁香五月天啪啪| 国产毛片精品一区二区色欲黄A片| 狠狠se| 欧美午夜乱妇午夜福利| 久久多色| 成 人 色 色| 小视频aaa久久久| 亚洲AV第二区国产精品| 亚洲AV在线免费看| 人妻精品一区二区三区| 综合网亚洲| 久久99色色| Se.婷婷五月天| 性生活视频98791| 色婷婷亚洲综合网站| 337p大胆噜噜噜噜噜91Av| 九九在线精品| 婷婷激情五月天小说校园| 五月天激情综合网站| 任你搞网站| 五月激情久久| 婷婷操无码| 亚洲视频在线观看| 九九九九这里只有精品| 色婷婷69| 99热亚洲| 99热97| 天天色综合图片| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 嫩草AV久久伊人妇女超级A| 在线不卡中文字幕| 国产精品99久久久久久久女警| 六月丁香激情婷婷| 激情综合网五月天天| 天天日天天做天天舔| 色色色在线观看| 四色五月视频| 日韩AV中文字幕在线| 丁香五月伊人| 午夜丁香久久久久久| 欧州婷婷五月天综合| 色婷婷成人做爰A片免费看网站| 丁香五月婷婷在线观看| 丁香婷婷成人在线播放| 久久婷婷六月综合资源| 99色啊| 加勒比色色| 亚洲视频丁香网va| 色欲丁香久久| 久热a| 亭亭五月激情亚洲在线| 五月婷婷啪啪网| 亚洲狠狠狠| 97色色色色色| 六月婷婷五月丁香| 99热精品观看| 五月婷婷久久综合| 六月婷婷色综合| 操操碰| 成人国产欧美大片一区| 狠狠干最新地址| 99人人爽| 色蜜婷婷| 亚洲操逼网| 秋霞午夜理论| 色 五月婷婷基地| 五月婷婷丁香综合网| se99视频| 亚洲婷婷久久综合| 色色操| 亚洲日韩一页精品发布| 伊人婷婷大香蕉在线| 99热 在线播放| 欧洲色| 色色色地址| 玖玖综合网| 亚洲国产婷婷色五月| 色色色色网站| 97五月天婷婷午夜| 中文字幕乱码亚洲精品一区| 成 久久| 成人五月天。COM| 欧美激情综合五月色丁香| 久久码久久无清| 99亚洲视频| 激情视频网址| 五月天伊人| 久久久99精品| 欧美日韩成人综合9| 婷婷九月色| 69精品人人人人| 色青青视频| 91九九九九九九| 五月天播播| 色婷婷操逼| 婷婷五月综合激情| 互月天综合| 中文字幕成人日韩| 久久综合影院| 91avse| 狠狠干夜夜干| 婷婷另类开心| 九九九干精品| 五月婷综合| 激情婷婷五月天| 亚洲天堂色| 99日在线视频| 丁香婷停五月激情综合深爱| 激情婷婷丁香| 日韩无码专区| 狠狠草在线观看| 激情九月丁香婷婷| 风流少妇A片一区二区蜜桃| 五月天天天色| 色综啪啪| 99丁香五月| 色综合色色| 欧美人妻一区二区| 播播网色播播| 9 1 A v久久久| 婷婷成人av| 少妇搡BBBB搡BBB搡毛茸茸| 婷婷六月综合基地| 天天色天天干天天插| 色噜噜狠狠一区二区三区| 日本人妻A片成人免费看片| 五月丁香色色色| 亚洲一区二区 成人网站戴套| 伊人丁香在线| 99色综合网| 这里只有精品免费观看网占| 97操操| 五月丁香婷婷99| 午夜理论片最新午夜理论剧| www.yw尤物| 激情六月日韩| 乱岳熟女50岁| 婷婷久久五月| 狠狠色成人影片| 亚洲春色奇米影视| 五月丁香激情综合网| 久久婷婷五月天蜜桃| 国产真人做爰视频免费| 亚州操操| 婷婷激情五月天激情| 婷婷五月天小说| 欧洲亚洲免费视频9| 激情五月天婷婷丁香| 中文字幕日产A片在线看| 日产精品一线二线三线芒果| 丁香五月婷婷六月婷婷| 狠狠爱激情网| 五月天激情啪啪| 久久aaaa片一区二区| 蜜臀AV在线观看| 99热大全在线观看| 国产成人网站在线观看| 色婷成人狠干| 热99AV网站| 九月丁香婷婷网| 久热这里只有精品66| 色婷婷狠狠| 九九热这里只有精品7| 久99热在线观看| 久xxxx| 99热资源在线| 色哟哟www| 9久国产精品| 51XX午夜影福利| 色九区| 99这里有精品视频3| 天天天天天天天操| 激情五月四色| 99热视精品| 91日综合欧美| 国精产品一区一区三区有限公司杨 | ai97re99一本| 性天天中文网| 成人网站高清无码| 国产美女视频久| 欧美性爱中文字幕| 久久新地址| 只有精品视频在线观看| 99精彩视频| 天天色伊人| 五月丁香色停停啪啪啪| 天天成人丁香美女AV| 激情综合文学| 狠狠色噜噜狠狠狠狠综合| 久久伦乱| 人人干99| 3www激情| 99久久精品视频女神1| 少妇口诉沐足视频播放器网址| 亚洲无码yw| 六月综合婷婷开心伊人| av人人操| 婷婷五月天综合久久日美女| 日韩人妻AV在线| 免费观看全黄做爰的视频| 婷婷爱五月| 天天综合精品| 五月婷婷影院| 免费无码毛片一区二区A片| 丁香五月性| 婷婷激情四射| 丁香五月影院| 色婷婷影院| CHINESE熟女老女人HD视频| 激情丁香五月| 五月丁香婷婷色| 成人精品视频99在线观看免费| www.91操| 色婷婷电影网| 五月天婷婷基地丁香| 99精品热| 另类的婷婷| 丁香综合伊人| 天天噪夜夜爽| 婷婷色Av| 深爱五月网| 激情五月天婷婷在线网址发给我| 思思热在线精品视频网站| 天插天啪天啪天啪| 亭亭社区五月天| 亚洲第一精品成人999久久精品| 六月伊人婷婷| 亚洲精品另类| 大香蕉99热| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 婷婷五月天AV在线| 午夜少妇在线观看视频| 五月天偷拍| 丁香花五月天| 国产精品视频免费看| 大香蕉久久青青| 亚洲另类婷婷综合| 婷婷五月天美女视频| 婷婷六月色| 久久182| 成人精品视频99在线观看免费| 久99久热只有精品国产99| 激情婷婷久久| 操操综合网婷婷| 99免费在线视频| 久久久久激情网| 五月天激情美女久久| 久久综合99| 久久久久婷| 九九色婷| 亚洲精品字幕在线观看| 情色五月天网站| 人人妻久久妻| 天天cha成人综合网| 大香蕉久久伊人婷婷五月丁香| 黄桃AV无码免费一区二区三区| 操逼棍操逼| 人妻操逼| 另类专区在线观看| www.日本91| 色色综合五月| 丁香五月婷婷欧美性爱| www久久99| 色色五月婷| 色综合大香蕉| 殴美综合激情五月天免费视频| 日本精品在线噜噜噜| 天天摸天天做天天爱天天爽| 99爱视频在线免费观看| 精品色情一区二区三区四区| 婷婷色五月开心五月| 99在线小视频| 婷婷九九色| 伊人网色婷婷五月天| 国产成人精品亚洲线观看| 婷婷五月色播放| 久久婷五月婷| 97操操操| 秋霞性爱AV| 婷婷久久久久| 久久综合影院 | 99热精品9| 超碰在线精品| 久久精彩视频18| 久久婷婷亚洲| 五月天激情AV| 久久五月天婷婷| 99在线综合视频| 欧美亚洲999| 五月丁香色婷婷久久| XX色综合| 中文字幕在线日亚州9| 激情五月深爱婷婷| 99在线精品视频| 久久99大全| 色欲影香| 五月婷久草| 狠狠爱婷婷色| 国产精品操| 久久98| 婷婷五月天激情四射五月天激情| 99热色婷婷| 九洲一级A片| 欧美熟女99| 天天玩天天摸| 襙比视频| 久久加勒比| 碰超99| 五月综合激情久久| 九九热99精品| 婷婷五月亚洲一本在线丁香| 亚洲va成人va成人va在线观看| 久久99久久99精品免观看软件 | 色综合播放| 丁香五月天婷婷中文| 26uuu亚洲精品国产| 色五月五月天色婷婷色五月| 无码啪啪| 操91| 色婷婷91激情小说| 激情五月天啪啪| 久久婷婷五月国产色综合激情| 综合色五月| 新99思思视频| 婷婷激情啪啪| 91大屁股精品| 91操人视频| 人人综合色| 久久精品4| 欧美成人网婷婷综合在线| 深爱激情综合网| 91丨九色丨大屁股| 99riav 亚洲| 久热亚洲| 怡红院院在线导航网| 丁香激情五月少妇| 五月婷婷丁香综合| 9久热精品在线视频| 碰碰碰97免费精彩视频| 丁香五月久久| 五月丁香色婷婷综合| 国产免费一区二区三州老师F1F1| 五月天婷婷网站888| 婷婷丁香六月| 九九人人看| 五月丁香综合网色欲| 人伦30P| 99国产精品白浆在线观看免费| 色五月亚洲| 99re8热精品免费视频| 超碰com| 久久这里99| 五月色网| 欧美A片在线视频免费观看| 九色七七| 五月激情黄色小说| 99久久九九| 91九九九九九九| 久操婷婷| 综合激情视频| av国产精品| 99亚洲视频| 天天碰天天插天天操| 任你爽视频| 天综合日日夜综合7799| 国庆精品久久| 五月色婷婷影院| 五月丁香综合精品欧美| 丁香五月性| 99热手机在线精品| 国产偷人爽久久久久久老妇APP| 五婷婷综合网| 婷婷丁香五月天婷婷| 五月天婷婷视频小说| 欧美成人一区二区三区在线视频| 人人操婷婷| 丁香月五月天婷婷久久| 香蕉国产2013| 91超级碰人人操| 天天干肏夜夜| 久久人妻精品| 亚洲成人高清在线| 五月人妻婷婷视频| 五月婷婷色在线| 思思色播| 九九aV| 大香蕉Av在线| 激情性五月天免费小说视频| 图片区 小说区 区 亚洲五月| 欧美碰碰| 久久久久人妻中文| 欧美大片免费观看| 亚洲 25P| 五月激情天| 97操在线视频| 超碰成人av| 懂色av蜜臀av粉嫩av永陈冠希| 26UUU一区二区| 婷婷综合网| 九九热中文| 啪啪激情综合| 欧美性爱一区| 婷婷五月色情| 亚洲狠狠婷婷| 思思热精品在线| 婷婷丁香五月天操逼| 可以免费看AV网站| 国产乱轮一区二区三区| 色色色色色色色色色999| 99精品国产在热久久| www久久五月com| 婷色五月| 情五月亚洲婷婷| 亚洲无AV在线中文字幕| 久久五月天综合视频网站| 亚洲精品亚洲人成人网| 黄色99视频| 丁香五月性爱| 狠狠肏综合网| 日韩AV在线影片| 99久久久国产精品免费蜜乳tv| 99热精品在这里| 人妻爽爽爽久久久久久久久| 亚洲精品视频在线| 欧美色骚婷婷五月天| 538在线精品|