8月26日,一面問項目(他們組是大模型文心一言相關智能體問答)● 工廠模式+策略模式對接ChatGPT和ChatGLM大模型● 工廠模式+責任鏈模式實現規(guī)則規(guī)則過濾引擎● 未登錄用戶的免費額度的扣減:未登錄用戶如何判斷用戶的狀態(tài)?● 用戶掃碼下單購買訪問額度流程介紹下● 生成支付單是HTTP調用,這個藍兔支付生成支付單的請求有QPS限制嗎?如果有的話,你這邊怎么設計的?八股● 悲觀鎖,樂觀鎖● AQS原理● Reentrantlock與synchronized● 兩個線程交替打印1~10如何實現手撕● 第k大元素8月30日,二面八股含量最高的面試● Spring @ Transactional 原理,事務失效● HashMap底層數據結構,擴容原理 線程安全? ConcurrentHashMap● synchronized和volatile比較● JVM對synchronized做了哪些優(yōu)化● 線上CPU使用率突增,可能的原因?如何排查?● 線程池有哪些好處,他是怎么工作的?● 我想并發(fā)執(zhí)行 ABC 三個任務,然后執(zhí)行后要獲取他們的結果,假設 ABC 三個任務,然后假設 ABC 他們可能是調第三方的接口耗時,他需要一定的耗時,等待 1 秒以后,來取他們三個的執(zhí)行結果,如果 a 執(zhí)行失敗,比如說 a 執(zhí)行失敗了, BC 成功了,就把 BC 的結果取出來,繼續(xù)往下執(zhí)行就行。就是相當等一秒,然后取結果的話,你如果用線程池的話會怎么實現?(最多等1s,沒有查詢出來的就不等了)● Spring的@ Transactional的原理? Spring事務失效的情況● Service中的一些接口是調用第三方接口查數據,數據是有時效時間的,如果可能是每天更新一次數據,那我我就可以上個緩存,不用每次都非得調用接口獲取數據,如何用AOP來實現對這一堆接口統(tǒng)一的實現先讀緩存,如何緩存沒有再調用實際接口,把數據寫到緩存? 不同的方法緩存的key不同,如何實現?● MySQL事務隔離級別,分別解決什么問題?● 介紹MVCC● MySQL中有一張數據量比較大的表,進行分頁查詢的時候,select from table limie m,n。觀察往后翻頁時查詢性能有所下降,什么原因?怎么優(yōu)化?● 介紹一下Redis的數據類型,項目中用到了哪些?怎么用的?● Redis當緩存的時候如何保證和DB中的數據的一致性● Linux分析日志的常用命令: 如何status=500的錯誤日志記錄中的所有userid取出來手撕:給若干正整數,如何求出所能拼接的最大數。[16,5,782,58]9月6日,三面● 對DDD的了解? ○ 我回答了三個方面 ○ 通過DDD的戰(zhàn)略設計創(chuàng)建領域模型,領域模型和微服務的邊界對應,通過戰(zhàn)術設計進行領域模型的落地 ○ DDD合理的包結構可以避免MVC結構容易造成的腐化 ○ DDD的充血模型 vs MVC 的貧血模型● MySQL Innodb 存儲引擎 在可重復讀的隔離級別下解決部分幻讀問題MySQL的Innodb存儲引擎可重復度的隔離級別下有A,B兩個事務A先進行普通的select,查詢出6條語句然后Binsert一條記錄A再次進行普通的select,能查詢出幾條記錄?為什么?然后Aupdate了剛剛insert的記錄,隨后A再進行一次普通的select語句,能查詢幾條記錄?為什么?感覺整體發(fā)揮的還不錯,9月8日顯示簡歷共享中,g。#百度##百度秋招提前批進度##Java校招#