全程50+min1.自我介紹2.先做題lc56.合并區(qū)間,最開(kāi)心的一集3.在本地ide上用的AI代碼助手是哪家的,你還用過(guò)哪些相關(guān)產(chǎn)品,相比之下有什么優(yōu)點(diǎn)(我用的是通義靈碼,狠狠地舔了一波)4.先拷打一下項(xiàng)目(我做的是尚硅谷的樂(lè)尚代駕),問(wèn)的問(wèn)題沒(méi)有那么深入 a)司機(jī)搶單分布式鎖的實(shí)現(xiàn)? b)如果司機(jī)取消搶到的訂單,整體業(yè)務(wù)會(huì)有什么變化? c)怎么使用drools編寫(xiě)規(guī)則的,為什么要用(大致是這個(gè)意思)? d)分布式事務(wù)不用Seata的@GlobalTransactional注解的話,你會(huì)如何實(shí)現(xiàn)?5.Java基礎(chǔ) a)反射為什么要比普通調(diào)用速度慢?(沒(méi)答出來(lái)) b)枚舉類(lèi)是可繼承的嗎?為什么?(忘記了,我跟面試官說(shuō)我猜是用final修飾的) c)創(chuàng)建對(duì)象的方法有哪些? d)ConcurrentHashMap是線程安全的嗎,原理是什么 e)介紹線程池的corePoolSize, maximumPoolSize, workQueue以及他們之間如何相互作用的? f)兩個(gè)線程同時(shí)執(zhí)行++i操作,為什么會(huì)發(fā)生問(wèn)題? g)兩個(gè)線程同時(shí)對(duì)一個(gè)volatile修飾的變量進(jìn)行修改,會(huì)發(fā)生這種問(wèn)題嗎 h)Synchronized和Reentrantlock的區(qū)別? i)ThreadLocal原理? j)講一下強(qiáng)引用和弱引用? k)用過(guò)哪些多線程編程的相關(guān)類(lèi)?(沒(méi)想起來(lái),只答了CompletableFuture還有相關(guān)使用)6.Redis a)關(guān)于磁盤(pán)IO(我說(shuō)了持久化機(jī)制,應(yīng)該……可以吧) b)Hash數(shù)據(jù)結(jié)構(gòu)的rehash,主要細(xì)問(wèn)了漸進(jìn)式hash。 c)Redis是單線程嗎?為什么會(huì)有這么高的性能?7.Mysql a)Mysql使用的存儲(chǔ)引擎中什么是支持事務(wù)的? b)InnoDB用的什么數(shù)據(jù)結(jié)構(gòu)?B+樹(shù)相比B樹(shù)的優(yōu)點(diǎn)是什么? c)可重復(fù)讀和讀已提交是如何實(shí)現(xiàn)的? d)Undolog鏈?zhǔn)裁磿r(shí)候會(huì)刪除?(沒(méi)有關(guān)注過(guò)這個(gè),沒(méi)答出來(lái)) e)索引相關(guān),學(xué)生表查詢name和score,你會(huì)如何設(shè)計(jì)索引?8.Spring a)Spring AOP原理? b)Transactional注解的原理是什么? c)關(guān)于Bean的作用域相關(guān)的問(wèn)題,使用什么注解來(lái)設(shè)置作用域?(真忘了) d)Spring是如何解決循環(huán)依賴的?大致就記得這么多……目前面試表現(xiàn)最好的一次,也是八股問(wèn)的最多的一次