Java面試難嗎?這些面試題幫你直接錄取哦!



上周五,知乎粉絲在后臺(tái)留言,他最近去大廠面試Java工作,第一輪就被刷掉,原因是沒(méi)寫(xiě)出來(lái)用哪些命令解決cpu占用率高的問(wèn)題,我問(wèn)他是不會(huì)嗎?他說(shuō):“一著急,就沒(méi)寫(xiě)出來(lái),尷尬”!今天呢,小編整理一下Java相關(guān)面試題,希望能幫助面試超級(jí)緊張的你哦!

image.png

1. cas是什么?給你筆畫(huà)一下具體的實(shí)現(xiàn)過(guò)程?cas什么時(shí)候結(jié)束?

2. java的鎖存儲(chǔ)在哪?占幾個(gè)比特位?鎖是如何升級(jí)的?

3. redis的緩存淘汰策略有哪些?LRU和LFU區(qū)別,手寫(xiě)一個(gè)LRU

4. 寫(xiě)出線程池的核心參數(shù),并解釋,然后說(shuō)明線程池是有哪些放棄策略?

5.  http屬于什么層協(xié)議?與https的區(qū)別是什么?Tcp協(xié)議屬于那一層?OSI七層網(wǎng)絡(luò)模型有哪些?三次握手和四次揮手的過(guò)程?為什么握手要三次,揮手要四次?

6.  線上cpu占用率高怎么辦?如何排查這個(gè)問(wèn)題,用哪些命令

7. spring使用了哪些設(shè)計(jì)模式?BeanFactory和Factory的區(qū)別是什么?

8. 策略模式的使用場(chǎng)景?說(shuō)一下它的優(yōu)點(diǎn)和缺點(diǎn)?

9. 給你一個(gè)秒殺場(chǎng)景,如何應(yīng)對(duì)短時(shí)間的高峰請(qǐng)求問(wèn)題?數(shù)據(jù)庫(kù)如何防止并發(fā)問(wèn)題?秒殺如何實(shí)現(xiàn)不同的客戶端的時(shí)間一致性?

10. redis的基本數(shù)據(jù)類型有哪些?hash的使用場(chǎng)景?如何通過(guò)redis實(shí)現(xiàn)一個(gè)阻塞隊(duì)列?

11. 畫(huà)出dubbo的調(diào)用關(guān)系圖?并舉例說(shuō)明調(diào)用鏈

12. cas是什么?解釋一下cas的原理。并用筆畫(huà)出來(lái),aba問(wèn)題怎么解決?

13. 你們的線程池是如何配比的?默認(rèn)的線程數(shù)是多少?寫(xiě)出線程池的幾個(gè)參數(shù),并結(jié)合你們的項(xiàng)目解釋一下是如何調(diào)優(yōu)的?

14. sring的事務(wù)用過(guò)嗎?簡(jiǎn)述一下如何使用?當(dāng)方法A使用了事務(wù),方法B也使用了事務(wù),他們的事務(wù)策略都是:如果沒(méi)有新的事務(wù)就開(kāi)啟一個(gè)事務(wù),問(wèn)調(diào)用過(guò)程中事務(wù)是如何傳播的? 給你一串連續(xù)的數(shù)字,1到10000,隨機(jī)除去兩個(gè)數(shù),怎樣快速找到這兩個(gè)數(shù)?

15. tomcat的IO框架經(jīng)歷了怎樣的變化?談?wù)勀銓?duì)NIO流的理解?

16. redis的緩存策略有哪些?手動(dòng)寫(xiě)一下LRU的實(shí)現(xiàn)方法,并介紹一下LFU

17. redis的集群是如何找到具體的key的?你們的集群采用哪種持久化策略?為什么?集群搭建模式是什么?

18. 方法前如果不聲明private、public,那么是什么?它的級(jí)別是什么?

19. 有沒(méi)有線上調(diào)優(yōu)JVM的經(jīng)驗(yàn)?如何打印gc細(xì)節(jié)?

20. 把你知道的GC算法都說(shuō)一下,虛擬機(jī)經(jīng)歷了怎樣的變化才發(fā)展到今天?

21. 你做了什么項(xiàng)目?有哪些功能?有什么優(yōu)勢(shì)?解決了什么問(wèn)題?你認(rèn)為還有那些優(yōu)化的點(diǎn)?

22. 手寫(xiě)一個(gè)單例模式(雙重檢查鎖機(jī)制)

23. volatile是如何實(shí)現(xiàn)變量可見(jiàn)的?用到了哪些指令?工作內(nèi)存和主內(nèi)存解決了什么問(wèn)題?以及他們之間的交互過(guò)程

24. jvm如何調(diào)優(yōu)?寫(xiě)幾個(gè)參數(shù)出來(lái)?嘗試設(shè)計(jì)一個(gè)自己的JVM,你會(huì)如何設(shè)計(jì)?

25. dubbo的group怎么用?超時(shí)時(shí)間設(shè)置的作用域有哪些??jī)?yōu)先級(jí)是什么?

26. ThreadLocal底層如何實(shí)現(xiàn)?map中的key是什么?vlaue是什么?需要解決什么問(wèn)題?哪個(gè)方法可以防止內(nèi)存泄露

27.  講一下currentHashMap的get方法過(guò)程,如何鏈表轉(zhuǎn)紅黑樹(shù)?

28.  有一個(gè)表t1,列為ABC,索引為AC,現(xiàn)在select xx from table where c=xx a =xx有沒(méi)有用到索引?

29. 什么是可重入鎖?假如我一個(gè)線程申請(qǐng)了可重入鎖,那么子線程可以再次用到可重入鎖嗎?

30.  jvm的內(nèi)存結(jié)構(gòu)是什么樣的?請(qǐng)畫(huà)出來(lái)并且是哪些是線程共享的?哪些是線程私有的?

31.  雙向升序鏈表的插入和刪除(筆試)

32.  二維數(shù)組的遍歷和賦值(筆試)

33.  算法:一個(gè)公司找獵頭拿簡(jiǎn)歷 1000份,每個(gè)獵頭需要的傭金一樣,但每個(gè)獵頭擁有的簡(jiǎn)歷數(shù)不相同(可能重復(fù)) ,問(wèn)公司如何能雇傭最少的獵頭找到更多的簡(jiǎn)歷

34.  接口限流策略有哪些

35.  微服務(wù)雪崩后怎么處理的?

36. 多線程環(huán)境,線程如何同步?

37. 用多線程統(tǒng)計(jì)1到1000000之間有多少個(gè)素?cái)?shù),并輸出素?cái)?shù)(假設(shè)cpu有四核)(機(jī)試)

38. 用java實(shí)現(xiàn)各訂單生成器,需要考慮可讀、并發(fā)、不可重復(fù)(機(jī)試)

39.  歸并排序(機(jī)試)

以上,就是小編幫助大家整理的Java相關(guān)面試題,愿你們都能披荊斬棘!

北大青鳥(niǎo)網(wǎng)上報(bào)名
北大青鳥(niǎo)招生簡(jiǎn)章