第一面純問(wèn)項(xiàng)目,就不分享出來(lái)了。1. GPT功能怎么實(shí)現(xiàn)的?2. 調(diào)用GPT回答要60秒,但是連接超時(shí)時(shí)間只有30秒怎么辦?(websocket)3. Integer a = 127, b = 127; a==b結(jié)果是什么?講下原理。4. ==和equals的區(qū)別。5. ArrayList和HashMap的底層原理。6. HashMap線程安全嗎?如果不,怎么辦?7. jdk1.7的HashMap有個(gè)bug,你了解嗎?8. 介紹一下線程池。9. 進(jìn)程和線程的區(qū)別?10. 多線程在Java中的實(shí)現(xiàn)有幾種?(我回答了Thread,Runnable,Callable,面試官說(shuō)還有兩種)11. 線程有幾種狀態(tài)?(記不清了)12. 希爾排序、插入排序了解嗎?13. 冒泡排序了解嗎?時(shí)間復(fù)雜度?桶排序的過(guò)程?14. 設(shè)計(jì)模式了解嗎?Spring支持多例嗎?15. Spring的生命周期?(居然忘了)16. 對(duì)于接口安全應(yīng)該考慮哪些方面?(我回答了事務(wù)、事務(wù)傳播、https、tls加密,都沒(méi)回答到點(diǎn)子上,最后面試官說(shuō)他的意思是假如一個(gè)接口一秒鐘只能承載500個(gè)請(qǐng)求,有人構(gòu)造了一萬(wàn)個(gè)請(qǐng)求來(lái)攻擊怎么辦?我說(shuō)請(qǐng)求限流,用Redis?Lua腳本做,面試官說(shuō)盡量不要把限流放在應(yīng)用層。沒(méi)有搞懂,感覺(jué)這個(gè)問(wèn)題問(wèn)的很迷糊)17. MQ在項(xiàng)目中怎么用的?如何保證了消息不丟失?如何保證了消息的順序性?(都沒(méi)考慮,需要加強(qiáng))18. Redis和DB的緩存一致性應(yīng)該怎么保證?。雙刪策略為什么不行?19. 索引是如何運(yùn)行的?20. 二叉排序樹的中序遍歷怎么寫?21. 數(shù)組到二叉樹如何轉(zhuǎn)換?22. Redis中的內(nèi)存淘汰機(jī)制?23. 項(xiàng)目有一個(gè)地方查數(shù)據(jù)庫(kù)特別慢,阻塞了怎么辦?24. 怎么去發(fā)現(xiàn)哪里慢?(慢查詢?nèi)罩荆?5. 如果MySQL查到一個(gè)特別大的List,內(nèi)存爆了怎么辦?(把所有的id查出來(lái),然后根據(jù)id一條一條查詢并返回,還可以暴力加內(nèi)存)好消息是面試通過(guò)了,壞消息是還有第三面......小插曲:面試官自己ArrayList記不清了,他說(shuō)我少說(shuō)了一個(gè)loadFactor。我在反問(wèn)環(huán)節(jié)給他提出來(lái)了,給他講清楚了,他說(shuō)他自己再下去好好看看??偟膩?lái)說(shuō)面試官的水平還是很高的,可能只是這些八股他自己也忘記了吧,但是仍然不影響我個(gè)人對(duì)面試官很高的評(píng)價(jià)。