2022年JVAV大廠面試真題_第1頁
2022年JVAV大廠面試真題_第2頁
2022年JVAV大廠面試真題_第3頁
2022年JVAV大廠面試真題_第4頁
2022年JVAV大廠面試真題_第5頁
已閱讀5頁,還剩248頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2022年JAVA大廠面試真題

目錄

.........................................................................................................................................................................................1

大廠面試的基本流程.................................................................................16

字節(jié)跳動.........................................................................................16

阿里..............................................................................................16

騰訊..............................................................................................16

網(wǎng)易游戲.........................................................................................17

面試前需要準備:........................................................-...........................17

JAVA進階訓(xùn)練營...................................................................................18

2021【美團】面試真題:............................................................................22

1、SPRINGAOP底層原理..........................................................................22

2、HASHMAP的底層數(shù)據(jù)結(jié)構(gòu)是怎樣

的?............................................................22

3、HASHMAP的擴容機制是怎樣

的?..................................................................23

4、CONCURRENTHASHMAP的存儲結(jié)構(gòu)是怎樣的?......................................................

23

5、線程池大小如何設(shè)置?.........................................................................24

6、IO密集=NCPU*2是怎么計算出來?..............................................................24

7、G1收集器有哪些特點?........................................................................24

8、你有哪些手段來排查OOM的問題?.............................................................25

9、請你談?wù)凪YSQL事務(wù)隔離級別,MYSQL的默認隔離級別是什么?.................................

25

10、可重復(fù)讀解決了哪些問題?....................................................................25

11、對SQL慢查詢會考慮哪些優(yōu)化?.............................................................25

12、談一談緩存穿透、緩存擊穿和緩存雪崩,以及解決辦法?.........................................26

13、LRU是什么?如何實現(xiàn)?......................................................................27

14、什么是堆內(nèi)存?參數(shù)如何設(shè)置?................................................................27

15、棧和隊列,舉個使用場景例子?................................................................27

16、MYSQL為什么INNODB是默認引擎?...........................................................

27

17、MYSQL索引底層結(jié)構(gòu)為什么使用E+樹?.......................................................28

18、B+樹的葉子節(jié)點鏈表是單向還是雙向?.........................................................28

19、MVCC是什么?它的底層原理是什么?.........................................................28

20、UNDOLOG具體怎么回滾事務(wù)?................................................................28

21、如何查詢慢SQL產(chǎn)生的原因..................................................................29

22、索引失效的情況有哪些?......................................................................29

23、一個REDIS實例最多能存放多少的KEYS?LIST、SET、SORTEDSET他們最多能存放多少元素?.........

29

24、REDIS數(shù)據(jù)結(jié)構(gòu)壓縮列表和跳躍表的區(qū)別........................................................29

25、為什么數(shù)據(jù)量小的時候用壓縮列表?............................................................30

26、REDIS主從同步是怎么實現(xiàn)的?.................................................................30

27、REDIS持久化RDB和AOF優(yōu)缺點..............................................................

30

28、談?wù)勛约簩τ赟PRINGAOP的了解?...........................................................

31

29、SPRINGBEAN容器的生命周期是什么樣的?......................................................

31

30、RABBITMQ如何保證消息不丟失?..............................................................32

2021【阿里】面試真題:...........................................................................32

1、TCP和UDP區(qū)別?............................................................................32

2、TCP/IP協(xié)議涉及哪幾層架構(gòu)?.................................................................32

3、描述下TCP連接4次揮手的過程?為什么要4筆手?...........................................33

4、計算機插上電源操作系統(tǒng)做了什么?............................................................33

5、LINUX操作系統(tǒng)設(shè)備文件有哪些?................................................................33

6、多線程同步有哪些方法?.......................................................................33

7、一個對象的兩個方法加SYNCHRONIZED,一個線程進去SLEEP,另一個線程可以進入到另一個方法嗎?..……

33

8、什么是可重入鎖(REENTRANTLOCK)?..........................................................................................................33

3

9、創(chuàng)建線程的三個方法是什么?...................................................................34

10、JAVA怎么獲取多線程的返回值?...............................................................34

11、線程池有哪幾種創(chuàng)建方式?....................................................................34

12、線程池參數(shù)有哪些?...........................................................................35

13、線程池拒絕策略有哪些?.......................................................................35

14、你認為對線程池的核心參數(shù)實現(xiàn)自定義可配置,三個核心參數(shù)是?.................................35

15、THREADPOOLEXECUTOR線程池,COREPOOLSIZE=5,MAXIMUMPOOLSIZE=10,QUEUECAPACITY=10,有20個

耗時任務(wù)

交給這個線程池執(zhí)行,線程池會如何執(zhí)行這20個任務(wù)?..............................................35

16、給用戶發(fā)消息任務(wù)超出隊列,你用哪個拒絕策略?有其他方法嗎?...............................36

17、JAVA8新特性有哪些了解?.....................................................................36

18、什么時候用多線程、為什么要設(shè)計多線程?.....................................................36

19、多線程越多效率越高嗎?......................................................................36

20、多線程會產(chǎn)生哪些并發(fā)問題?..................................................................37

21、MYBATIS如何將對象轉(zhuǎn)換成SQL?..........................................................37

22、虛擬內(nèi)存是什么,虛擬內(nèi)存的原理是什么?......................................................37

23、棧會溢出嗎?什么時候溢出?方法區(qū)會溢出嗎?..................................................37

24、JVM如何加載類的?..........................................................................38

25、自己寫過STRING類能加載嗎,之前的STRING是什么時候加載進去的?.............................39

26、描述THREADLOCAL(線程本地變量)的底層實現(xiàn)原理及常用場景?.................................39

27、什么是微服務(wù)架構(gòu)?..........................................................................39

28、微服務(wù)有哪些特點?..........................................................................40

29>LAMBDA表達式是啥?優(yōu)缺點?.................................................................40

30、講一下LAMBDA的表達式作用域(LAMBDASCOPES).....................................................................................

40

31、MYSQL事務(wù)的特性有什么,說一下分別是什么意思?.............................................41

2021【京東】面試真題:............................................................................41

1、哪些情況下的對象會被垃圾回收機制處理掉?.....................................................41

2、講一下常見編碼方式?..........................................................................41

3、UTF-8編碼中的中文占幾個字節(jié);INT型幾個字節(jié)?................................................42

4、靜態(tài)代理和動態(tài)代理的區(qū)別,什么場景使用?.....................................................42

5、簡述下JAVA的異常體系。.....................................................................42

6、談?wù)勀銓馕雠c分派的認識。...................................................................43

7、修改對象A的EQUALS方法的簽名,那么使用HASHMAP存放這個對象實例的時候,會用哪個EQUALS

法?.............................................................................................43

8、JAVA中實現(xiàn)多態(tài)的機制是什么?................................................................43

9、如何將一個JAVA對象序列化到文件里?.........................................................43

10、說說你對JAVA反射的理解。..................................................................44

11、說說你對JAVA注解的理解。..................................................................44

12、說一下泛型原理,并舉例說明。................................................................45

13、談?wù)勀銓AVA中STRING的了解。.................................45

14、STRING為什么要設(shè)計成不可變的?..............................................................46

15、REDIS常見的幾種數(shù)據(jù)結(jié)構(gòu)說一下?各自的使用場景?.............................................46

16、談一談緩存穿透、緩存擊穿和緩存雪崩,以及各自的解決方案?...................................47

17、講下KAFKA、RABBITMQ.ROCKETMQ之間的區(qū)別是什么?..........................................

48

18、KAFKA的架構(gòu)說一下?.........................................................................48

19、KAFKA怎么保證消息是有序的?................................................................49

20、KAFKA怎么保證消息不丟失?..................................................................49

21、KAFKA怎么解決重復(fù)消費?.....................................................................49

22、介紹下MYSQL聚簇索引與非聚簇索引的區(qū)別(INNODB與MYISAM引擎)?........................

50

23、然后給一個聯(lián)合索引(A,B)和一個語句,SELECT*FROMTABLEWHEREB='XXX',判斷是否能命中索引?

為什

么?50

24、JAVA多線程有哪幾種實現(xiàn)方式?..........................-50

25、用過CONCURRENTHASHMAP,講一下他和HASHTABLE的不同之

處?..................................................................51

26、JAVA怎么實現(xiàn)線程安全?51

5

27、描述THREADLOCAL(線程本地變量〉的底層實現(xiàn)原理及常用場景。.................................51

28、介紹下SPRINGBEAN都有哪些作用域?.........................................................52

29、注解@AUTOWIRED和(?RESOURCE有什么區(qū)別?..................................................

52

30、RPC的實現(xiàn)基礎(chǔ)?.............................................................................52

31、CMS,G1垃圾回收器中的三色標記了解嗎?.....................................................53

2021【騰訊】面試真題:............................................................................54

1、KAFKA是什么?主要應(yīng)用場景有哪些?...........................................................54

2、KAFKA為什么有TOPIC還要用PATITI0N?................................................................................................................

54

3、客戶端和服務(wù)器之間最多能建立多少個連接?....................................................55

4、HASHMAP結(jié)構(gòu),線程不安全舉個例子?...........................................................55

5、MYSQL索引分類?............................................................................55

6、了解線程&進程的區(qū)別嗎?....................................................................55

7、JAVA進程間的幾種通信方式?..................................................................56

8、多臺服務(wù)器同時對一個數(shù)據(jù)定時任務(wù),怎么處理?................................................56

9、常見分布式鎖的兒種實現(xiàn)方式?.................................................................57

10、REDIS分布式鎖實現(xiàn)原理?.....................................................................57

11、REDIS的數(shù)據(jù)類型及它們的使用場景?...........................................................57

12、信號量與信號的區(qū)別?..........................................................................57

13、SELECT和EPOLL的底層結(jié)構(gòu)是什么原理..........................................................58

14、場景題:1億個數(shù)據(jù)取出最大前100個有什么方法?..............................................58

15、KAFKA如何保證消息可靠?......................................................................59

16、消息隊列的使用場景?.........................................................................60

17、樂觀鎖和悲觀鎖的理解及如何實現(xiàn),有哪些實現(xiàn)方式?...........................................60

18、ARRAYLIST和LINKEDLIST的區(qū)別在哪里?........................................................

60

19、談?wù)勀銓QL注入式攻擊的理解?............................................................61

20、數(shù)據(jù)庫事務(wù)的特性?...........................................................................61

21、REDIS如何做內(nèi)存優(yōu)化?.......................................................................61

22、緩存穿透,緩存擊穿,緩存雪崩都是咋回事?解決辦法?.........................................62

23、數(shù)組和鏈表的區(qū)別?當數(shù)組內(nèi)存過大時會出現(xiàn)什么問題?鏈表增刪過多會出現(xiàn)的什么問題?..........62

24、常見排序算法和分別的復(fù)雜度?................................................................63

25、JDK1.8的JVM內(nèi)存劃分模型,堆和棧的區(qū)別.................................................63

26、簡單描述MYSQL中,索引,主鍵,唯一索引,聯(lián)合索引的區(qū)別,對數(shù)據(jù)庫的性能有什么影響(從讀寫兩

方面)?.........................................................................................64

27、I/O模型有哪幾種?...........................................................................64

28、當你用瀏覽器打開一個鏈接的時候,計算機做了哪些工作步驟?...................................64

29、虛擬DOM的優(yōu)劣如何?........................................................................64

30、幻讀是什么,用什么隔離級別可以防止幻讀?....................................................65

2021【百度】面試真題:............................................................................65

1、SPINGBOOT也有定時任務(wù)?是什么注解?.........................................................65

2、請描述線程的生命周期,它們之間如何切換?....................................................65

3、什么情況線程會進入WAITING狀態(tài)?..........................................................65

4、簡述多進程開發(fā)中JOIN和DEAMON的區(qū)別?......................................................66

5、異步和同步、阻塞和非阻塞之間的區(qū)別?........................................................66

6、為什么要分內(nèi)核態(tài)和用戶態(tài)?....................................................................66

7、說下類加載器與類加載?加載的類信息放在哪個區(qū)域?............................................67

8、UDP協(xié)議和TCP協(xié)議的區(qū)別?.................................................................67

9、UMIT1000000加我很慢的話,你是怎么解決的呢?...............................................67

10、MYSQL的索引分類是什么?...................................................................68

11、什么是散列表?SELECT*和SELECT1?..........................................................................................................68

12、MYSQL的主從復(fù)制了解嗎?...................................................................68

13、SPRING框架事務(wù)注解用什么注解?使用該注解的轟效場景?.......................................68

14、FINAL、FINALLY>FINALLIZE?FINALLY是在RETURN之前執(zhí)行還是之后?FINALLY塊里的代碼一定會執(zhí)行

嗎?...69

7

15、I/O多路復(fù)用實現(xiàn)方式有哪些?................................................................69

16、SELECT,POLL、EPOLL區(qū)別有哪些?..............................................................69

17、哈希算法解決哈希沖突方式有哪些?............................................................70

18、如何保證REDIS中的數(shù)據(jù)不丟失?..............................................................70

19、如何保證REDIS中的數(shù)據(jù)都是熱點數(shù)據(jù)?........................................................70

20、REDIS持久化機制是如何做的?.................................................................71

21、REDIS為什么在使用RDB進行快照時會通過子進程的方式進行實現(xiàn)?...............................

72

22、介紹下MYSQL的主從復(fù)制原理?產(chǎn)生主從延遲的原因?.........................................72

23、父進程如果宕掉,子進程會怎樣?..............................................................72

24、孤兒進程和僵尸進程有什么區(qū)別?..............................................................72

25、MYSQL中有哪幾種鎖?........................................................................73

26、互斥鎖(MUTEX)和自旋鎖(SPINLOCK)分別在什么場景使用?.....................................73

27、描述SYNCHRONIZED、REENTRANTLOCK的區(qū)別?....................................................

73

28、HASHMAP擴容操作是怎么實現(xiàn)

的?...............................................................73

29、CONCURRENTHASHMAP1.7與1.8區(qū)別?...........................................................

73

30、如何使用JAVA的反射?......................................................................74

2021【華為】面試真題:............................................................................74

1、JAVA常用集合及特點?........................................................................74

2、開啟一個線程的方法?..........................................................................75

3、JAVA面向?qū)ο蟀男┨匦?,怎么理解的?.....................................................75

4、JAVA如何保證線程安全?......................................................................76

5、介紹SPRINGMVC的工作流程?...............................................................

76

6、SPRING框架中用到了哪些設(shè)計模式?.............................................................76

7、REDIS的特點是什么?..........................................................................77

8、為什么使用REDIS,有什么好處?................................................................77

9、REDIS雪崩和擊穿了解嗎?......................................................................77

10、什么是面向?qū)ο螅務(wù)勀愕睦斫猓?............................................................78

11、訪問數(shù)據(jù)庫除了JDBC還有什么?..............................................................78

12、你知道有哪些設(shè)計原則?......................................................................78

13、在生產(chǎn)環(huán)境LINUX服務(wù)器匕發(fā)現(xiàn)某臺運行JAVA服務(wù)的服務(wù)器的CPU100%,不借助任何可視化工具,怎

進行問題的定位?................................................................................78

14、JDK里面帶的工具你知道哪些?................................................................79

15、基本數(shù)據(jù)類型BIT長度?......................................................................79

16、CHAR能不能存中文?..........................................................................79

17、談?wù)勀銓Ψ盒偷睦斫猓?.......................................................................79

18、JAVA程序是怎樣運行的?.....................................................................79

19、GCROOT有哪些?............................................................................80

20、棧幀的大小什么時候確定?....................................................................80

21、靜態(tài)FILED聲明和構(gòu)造器哪個先執(zhí)行?..........................................................80

22、線程創(chuàng)建方式是什么?........................................................................80

23、傳統(tǒng)I/O跟NI0的區(qū)別?....................................................................81

24、消息隊列的在各種場景下如何選型?...........................................................81

25、JAVA的安全性體現(xiàn)在哪里?...................................................................83

26、STATIC方法怎么訪問非STATIC變量?..........................................................83

27、講下你理解的JAVA多繼承?...................................................................83

28、JAVA基本類型有哪些?.......................................................................83

29、線程池如果滿了會怎么樣?....................................................................83

30、什么是雙親委派機制,它有什么作用?.........................................................84

JAVAI/O......................................4..............................................84

1、I/O流的分類..................................................................................84

2、字節(jié)流如何轉(zhuǎn)為字符流?.......................................................................85

3、字節(jié)流和字符流,你更喜歡使用哪一個?.........................................................85

9

4、SYSTEM.OUT.PRINTLN是什么?........................................85

5、什么是FILTER流?.............................................................................85

5、有哪些可用的FILTER流?.......................................................................85

6、有哪些FILTER流的子類?.......................................................................85

7、NIO和I/O的主要區(qū)別........................................................................86

8、BIO、NIO、AIO有什么區(qū)別?....................................................................86

9、NIO有哪些核心組件?.........................................................................87

10、SELECT、POLL和EPOLL什么區(qū)別.................................................................87

11、什么是JAVA序列化,如何實現(xiàn)JAVA序列化?..................................................88

12、如何實現(xiàn)對象克???..........................................................................88

13、什么是緩沖區(qū)?有什么作用?..................................................................88

14、什么是阻塞IO?什么是非阻塞IO?...................................................................................................................88

15、請說一下PRINTSTREAMBUFFEREDWRITERPRINTWRITER有什么不同?...................................

89

KAFKA...................................................................................................................................................................................89

1、KAFKA是什么?主要應(yīng)用場景有哪些?...........................................................89

2、和其他消息隊列相比,KAFKA的優(yōu)勢在哪里?.......................................................89

3、什么是PRODUCER、CONSUMER>BROKER.TOPIC、PARTITION?......................................

90

4、KAFKA的多副本機制了解嗎?...................................................................90

5、KAFKA的多分區(qū)(PARTITION)以及多副本(REPLICA)機制有什么好處呢?............................

90

6、ZOOKEEPER在KAFKA中的作用知道嗎?...........................................................91

7、KAFKA如何保證消息的消費順序?...............................................................91

8、KAFKA如何保證消息不丟失?...................................................................92

9、KAFKA判斷一個節(jié)點是否還活著有那兩個條件?...................................................92

10,PRODUCER是否直接將數(shù)據(jù)發(fā)送到BROKER的LEADER(主節(jié)

點)?.......................................92

11、KAFACONSUMER是否可以消費指定分區(qū)消息嗎?..................................................92

12、KAFKA高效文件存儲設(shè)計特點是什么?..........................................................93

13、PARTITION的數(shù)據(jù)如何保存到硬盤?.............................................................93

14、KAFAKA生產(chǎn)數(shù)據(jù)時數(shù)據(jù)的分組策略是怎樣的?...................................................93

15、CONSUMER是推還是拉?........................................................................93

16、KAFKA維護消費狀態(tài)跟蹤的方法有什么?........................................................93

MYSQL...................................................................................................................................................................................94

1、據(jù)庫三大范式是什么...........................................................................94

2、MYSQL有關(guān)權(quán)限的表都有哪幾個?..............................................................94

3、MYSQL的BINLOG有有幾種錄入格式?分別有什么區(qū)別?...........................................94

4、MYSQL存儲引擎MYISAM與INNODB區(qū)

別........................................................94

5、MYISAM索引與INNODB索引的區(qū)別?............................................................95

6、什么是索引?..................................................................................95

7、索引有哪些優(yōu)缺點?............................................................................95

利喉....................................................................................S5

就做點....................................................................................25

8、索引有哪幾種類型?............................................................................95

9、MYSQL中有哪幾種鎖?.........................................................................96

10、MYSQL中INNODB支持的四種事務(wù)隔離級別名稱,以及逐級之間的區(qū)別?..........................96

11、CHAR和VARCHAR的區(qū)別?..................................................................

96

12、主鍵和候選鍵有什么區(qū)別?....................................................................96

13、如何在UNIX和MYSQL時間戳之間進行轉(zhuǎn)

換?...................................................96

14、MYISAM表類型將在哪里存儲,并且還提供其存儲格式?.........................................97

15、MYSQL里記錄貨幣用什么字段類型好...........................................................97

16、創(chuàng)建索引時需要注意什么?....................................................................97

17、使用索引查詢一定能提高查詢的性能嗎?為什么..................................................97

18、百萬級別或以上的數(shù)據(jù)如何刪除................................................................98

19、什么是最左前綴原則?什么是最左匹配原則....2...................................................................................98

20、什么是聚簇索引?何時使用聚簇索引與非聚簇索引................................................98

21、MYSQL連接器................................................................................98

22、MYS

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論