2020 年 Java 面試題集錦(金九銀十)

2020-09-05 Java大型網際網路架構

馬上到今年的金九銀十了,又是跳槽的好季節,準備跳槽的同學都摩拳擦掌準備大面好幾場, 為大家準備了精選的面試題。


本套Java面試題大全總共分為以下這六個模塊:

  • Java基礎面試題
  • 多線程面試題
  • Redis面試題
  • 數據結構與算法
  • Java異常面試題
  • JVM面試題

一、Java基礎面試題

1、&和&&的區別?

2、int和 Integer 有什麼區別?(基本數據類型有哪些?)(String不是基本數據類型)

3、String、StringBuffer、 StringBuilder 的區別?

4、String 類的常用方法都有那些?

5、String 字符串修改實現的原理?

6、兩個對象的 hashCode() 相同,則 equals() 也一定為 true 嗎?

7、解釋下什麼是面向對象?面向對象和面向過程的區別?

8、Java 是否支持多繼承?

9、什麼是構造函數?什麼是構造函數重載?

10、Java 的泛型是如何工作的 ? 什麼是類型擦除 ?

11、什麼是泛型中的限定通配符和非限定通配符 ?

12、Java 中的 IO 流的分類?

二、多線程面試題

1、並發編程三要素?

2、實現可見性的方法有哪些?

3、多線程的價值?

4、創建線程的有哪些方式?

5、創建線程的三種方式的對比?

6、線程的狀態流轉圖

7、Java線程具有五中基本狀態

8、什麼是線程池?有哪幾種創建方式?

9、四種線程池的創建

10、線程池的優點?

11、常用的並發工具類有哪些?

12、CyclicBarrier和CountDownLatch的區別

13、synchronized的作用?

14、volatile關鍵字的作用

15、什麼是CAS

16、CAS的問題

17、什麼是Future?

18、什麼是AQS

19、AQS支持兩種同步方式:

20、ReadWriteLock是什麼

21、FutureTask是什麼

22、synchronized和ReentrantLock的區別

23、什麼是樂觀鎖和悲觀鎖

24、線程B怎麼知道線程A修改了變量

25、synchronized、volatile、CAS比較

26、sleep方法和wait方法有什麼區別?

27、ThreadLocal是什麼?有什麼用?

28、為什麼wait()方法和notify()/notifyAll()方法要在同步塊中被調用

29、多線程同步有哪幾種方法?

30、線程的調度策略

32、Linux環境下如何查找哪個線程使用CPU最長

33、Java死鎖以及如何避免?

34、死鎖的原因

35、怎麼喚醒一個阻塞的線程

36、不可變對象對多線程有什麼幫助

37、什麼是多線程的上下文切換

38、如果你提交任務時,線程池隊列已滿,這時會發生什麼

39、Java中用到的線程調度算法是什麼

40、什麼是線程調度器(Thread Scheduler)和時間分片(Time Slicing)?

41、什麼是自旋

42、線程類的構造方法、靜態塊是被哪個線程調用的

43、同步方法和同步塊,哪個是更好的選擇?

44、Java線程數過多會造成什麼異常?


三、Redis面試題

1、redis常見性能問題和解決方案:

2、mySQL裡有2000w數據,redis中只存20w的數據,如何保證redis中的數據都是熱點數據

3、請用Redis和任意語言實現一段惡意登錄保護的代碼,限制1小時內每用戶Id最多只能登錄5次。具體登錄函數或功能用空函數即可,不用詳細寫出。

4、為什麼redis需要把所有數據放到內存中?

5、redis的並發競爭問題如何解決?

6、redis事物的了解CAS(check-and-set 操作實現樂觀鎖 )?

7、redis持久化的幾種方式

8、redis的緩存失效策略和主鍵失效機制

9、Redis集群方案什麼情況下會導致整個集群不可用?

10、說說Redis哈希槽的概念?

四、數據結構與算法:

1、常見的幾大排序及查找算法及其時間複雜度?

2、求數組中最長連續序列長度

3、在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序, 請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。

4、兩個棧實現一個隊列。(美團、小米) 擴展:兩個隊列如何實現一個棧?

5、鍊表反轉(單項鍊表的反轉和雙向鍊表的反轉)

6、給Map排序---按照key的字母後按照格式[k1=v1:k2=v2]輸出(阿里旅行)

五、Java異常面試題:

1、Error 和 Exception 區別是什麼?

2、運行時異常和一般異常(受檢異常)區別是什麼?

3、JVM 是如何處理異常的?

4、throw 和 throws 的區別是什麼?

5、final、finally、finalize 有什麼區別?

6、NoClassDefFoundError 和 ClassNotFoundException 區別?

7、try-catch-finally 中哪個部分可以省略?

8、try-catch-finally 中,如果 catch 中 return 了,finally 還會執行嗎?

9、類 ExampleA 繼承 Exception,類 ExampleB 繼承ExampleA?

10、常見的 RuntimeException 有哪些?

11、Java常見異常有哪些?


六、JVM面試題:

1、Java內存區域

  • 說一下 JVM 的主要組成部分及其作用?
  • 說一下 JVM 運行時數據區?
  • 深拷貝和淺拷貝?
  • 說一下堆棧的區別?
  • 隊列和棧是什麼?有什麼區別?

2、HotSpot虛擬機對象探秘

  • 對象的創建
  • 為對象分配內存
  • 處理並發安全問題
  • 對象的訪問定位

3、內存溢出異常

Java會存在內存洩漏嗎?請簡單描述

4、垃圾收集器

  • 簡述Java垃圾回收機制
  • GC是什麼?為什麼要GC
  • 垃圾回收的優點和原理。並考慮2種回收機制
  • 垃圾回收器的基本原理是什麼?垃圾回收器可以馬上回收內存嗎?有什麼辦法主動通知虛擬機進行垃圾回收?
  • Java 中都有哪些引用類型?
  • 怎麼判斷對象是否可以被回收?
  • 在Java中,對象什麼時候可以被垃圾回收
  • JVM中的永久代中會發生垃圾回收嗎
  • 說一下 JVM 有哪些垃圾回收算法?
  • 說一下 JVM 有哪些垃圾回收器?
  • 詳細介紹一下 CMS 垃圾回收器?
  • 新生代垃圾回收器和老年代垃圾回收器都有哪些?有什麼區別?
  • 簡述分代垃圾回收器是怎麼工作的?

5、內存分配策略

簡述java內存分配與回收策率以及Minor GC和Major GC

  • 對象優先在 Eden 區分配
  • 大對象直接進入老年代
  • 長期存活對象將進入老年代

6、虛擬機類加載機制

  • 簡述java類加載機制?
  • 描述一下JVM加載Class文件的原理機制
  • 什麼是類加載器,類加載器有哪些?
  • 說一下類裝載的執行過程?
  • 什麼是雙親委派模型?

7、JVM調優

  • 說一下 JVM 調優的工具?
  • 常用的 JVM 調優的參數都有哪些?

總結

上述問到的面試題答案&最新2020整理收集的一些面試題(都整理成文檔),有需要的可以私信回覆:「2020」 即可免費領取。
希望對大家有所幫助,有用的話點讚給我支持!

相關焦點

  • 最新金九銀十JAVA面試合集:大廠面試題合集
    前言金九銀十的面試旺季即將到來,大家準備的怎麼樣了呢?今年的處境大家都挺難的,但是也不要因此而放棄,如果有空閒就多刷題多實踐。於是小編在小夥伴的請求下四處搜集知識點以及經驗講解,最後出現了本文的主體內容在此,整理了下金九銀十的面試知識點(附答案),分享出來給各位朋友看下。感興趣的朋友可以領取哦。當然這只是部分資料,大家可以稍微借鑑下,希望可以幫助大家順利通過面試,成功進入大廠!
  • 「金九銀十面試季」百度-阿里-優酷-58-搜狐面試題集錦
    金九銀十跳槽面試季已經到來。面試題,阿里巴巴、百度、網易等名企面試題可以關注我,私信【面試題】即可免費領取。面試題,阿里巴巴、百度、網易等名企面試題可以關注我,私信【面試題】即可免費領取。面試題,阿里巴巴、百度、網易等名企面試題可以關注我,私信【面試題】即可免費領取。
  • 2020最新金九銀十JAVA面試總結
    金九銀十的面試旺季即將到來,大家準備的怎麼樣了?在此,整理了下金九銀十的面試知識點(Java+並發+Spring+MySQL+分布式+Redis+算法+JVM等,附答案),分享出來給各位朋友看下,當然這只是部分資料,大家可以稍微借鑑下。
  • 花了5天整理的Java常問面試題,助你金九銀十衝大廠
    想到自己也是從最開始一點一點往上面爬的,同時也經歷了很多的心酸磨難,於是我放假連夜根據自己的經驗並結合網上最新的面試題,整理出來給大傢伙分享一下,幫助大家在這次金九銀十的好機會中順利拿下offer。Java面試常問的問題(部分)簡述
  • 金九銀十,靠這份價值3W的Java面試寶典拿下阿里offer
    金九銀十面試跳槽季,小編來晚了,錯過了金九,但是希望能助力你們銀十,整理了一些大廠面試題,以及 Java 系列面試題答案、及各大網際網路公司的面試經驗,會從以下幾個方面匯總。頭條篇騰訊篇美團篇京東篇滴滴篇2020年Java各知識點綜合多家公司常見面試題最新BATJ經典面試題java核心知識點頭條篇
  • 金九銀十Java面試結束了,我把所有大廠的面試題都總結了個遍
    金九銀十眼看就要結束了,馬上就要進入雙十一的網際網路奮戰期,不知道你收穫到心儀的offer了嗎?今天為大家總結下大家在各個大廠遇到的面試題,並在文章末尾為大家準備好了面試學習資料java的內存分區?java對象的回收方式,回收算法?CMS和G1了解嗎?CMS解決什麼問題,說一下回收的過程?CMS回收停頓了幾次?java棧什麼時候會內存溢出,java堆呢,說一種場景?集合類如何解決這個問題(軟引用和弱引用),講下這個兩個引用的區別?
  • Java面試題詳解,突圍2020金九銀十面試季(附答案)
    金九銀十,目前正值招聘求職旺季,很多同學對一些新技術名詞都能侃侃而談,但對一些核心原理理解的不夠透徹,特別是對 Java的一些核心基礎知識點掌握的不夠,例如JVM、常用的算法和數據結構等。正所謂萬丈高樓平地起,只有把基礎掌握的牢固,才能走的更遠,面對不斷更新的技術才能快速掌握,同時在面試、工作中也更能脫穎而出!
  • 高頻面試必備(Java研發崗):問到懷疑人生的BATJ面試題分享
    金九銀十馬上就要來到了趁著這幾天,小編為大夥新整理了一份面試複習資料,希望可以幫到你們哦~包括:JVM、Redis、Spring、Kafka 、資料庫、設計模式等知識點話不多說,這些都是這幾年來BATJ面試問的最多關於
  • 備戰金九銀十,阿里,騰訊秋招面試題解析,含Java崗988道題分享
    最後通過一段時間的備戰,面試,拿了幾家offer ,最終我入職了阿里。而如今金九銀十即將到來,想要跳槽的小夥伴,和想要在金九銀十中大放異彩的朋友們如何才能做得更好呢?不要想著現在還不到八月份還處在懶惰的狀態,不要想著臨時抱佛腳想著面試前的狂補, 這樣想的話你就大錯特錯了。
  • Java程式設計師怎樣抓住金九銀十的小尾巴,坐上通向大廠的直通車
    前言現在已經是金九銀十的小尾巴了,還沒有抓住這次跳槽漲薪機會的朋友們注意了。在這最後的時間裡,讓我們拼搏一下,坐上通往大廠高薪的直通車!送大家1000+最新整理的Java 技術考題及解答,搶先直通TMDBATJW拿高薪。
  • 備戰金九銀十,騰訊T4梳理2020年最全999道Java崗必備面試題答案
    前言今年並沒有「金三銀四」,但是馬上又準備迎接金九銀十了,你是否還在尋找沒有「996」的公司,或者你在面試上面摘了跟頭?準備了體體面面的自我介紹,敗在了技術深度上;又或者技術知識背得完完全全,卻輸在了面試技巧。
  • 金九銀十準備季:Java異常+Java IO與NIO面試題(含答案)
    再過半月,就是金九銀十了,今年行情很不好,但是該來的還是要來,該面對還是要面對,小編準備搞個金九銀十面試篇,把手頭上有的面試題及答案分享給大家,如果閱讀還可以,會持續更……Java異常面試篇1、Java中異常分為哪兩種?
  • Java經典面試題詳解,突圍金九銀十面試季(附詳細答案)
    金九銀十,目前正值招聘求職旺季,很多同學對一些新技術名詞都能侃侃而談,但對一些核心原理理解的不夠透徹,特別是對 Java的一些核心基礎知識點掌握的不夠,例如JVM、常用的算法和數據結構等。正所謂萬丈高樓平地起,只有把基礎掌握的牢固,才能走的更遠,面對不斷更新的技術才能快速掌握,同時在面試、工作中也更能脫穎而出!
  • 2020最新分布式、MySQL、JVM調優指南,備戰金九銀十,直通大廠!
    寫在前邊馬上就要進入傳統的「金九銀十」招聘季了,不知道朋友們的備戰情況如何?眾所周知,現在越來越多的大廠,對分布式架構和性能調優的要求越來越高,相應的,對分布式架構和性能調優方面熟練掌握的人才,成了市場上最炙手可熱的選擇。
  • 2020最新大廠Java高頻面試題集錦,面試抱佛腳也夠了
    前言金九銀十,金三銀四確實是跳槽旺季,但是拋除這個之外,每天都有人在面試,有些人迷茫,有些人躊躇滿志,可能人們總在想,如果能知道面試內容就好了,其實我們可以從網上找到80%的面試題,自己去提前準備。有準備的面試總是讓人信心滿滿的。
  • 讀完這份Java面試題合集,金九銀十就不怕找不到工作了
    又到了金九銀十,許多小夥伴也面臨找工作的問題了,為此,我特意準備了一份面試題合集,希望幫助大家在秋招找到一份不錯的工作~本次準備的面試題,適合想找實習工作的應屆生以及想通過自學從事Java開發的朋友,話不多說,看圖!
  • 金九銀十 1000道網際網路工程師面試題 漲薪9K的跳槽秘籍
    前言想必很多人在為接下來的金九銀十做準備,或許你只是想找到一份工作,亦或許你希望通過今年最後這波拿到一個理想的工作和薪酬。不管是哪一種情況,你都需要提前做好準備,而不是臨時抱佛腳。LZ為大家分享的這些面試真題一定要基於自己的技術棧來思考,而不是背一下就覺得這個我會了。試想一下,如果面試官接著往深處問,你能保證自己回答的上來嗎?這樣的跳槽方式在以前或許還比較適用,但是在今年一定是沒有效果的,沒有意義的。
  • 精選2020年大廠高頻Java面試真題集錦(含答案),面試一路開掛
    本文涵蓋了阿里巴巴、騰訊、字節跳動、京東、華為等大廠的Java面試真題,不管你是要面試大廠還是普通的網際網路公司,這些面試題對你肯定是有幫助的,畢竟大廠一定是行業的發展方向標杆,很多公司的面試官同樣會研究大廠的面試題。
  • 跳槽季,這些Java崗必考面試題,你碰到過麼?(建議收藏)
    最近金九銀十,跳槽的好季節,但是時間過得好快,時間一不留神就過去大半,就只剩下了10月,現在正值國慶期間,小夥伴們也不知道過得如何,也許出去旅遊,也許打算跳槽在刷面試題,小編這裡整理了一份最最最常見的面試題,已經面試過的小夥伴,看看裡面的面試題有沒有你們遇到的吧,沒有面試準備面試的也可以看看,沒準兒你也會碰到喲,小編這只是抽取了其中一部分呢!
  • 為Java程式設計師金九銀十挑選的300餘道Java面試題與答案
    為Java程式設計師金三銀四精心挑選的300餘道Java面試題與答案,歡迎大家向我推薦你在面試過程中遇到的問題,我會把大家推薦的問題添加到下面的常用面試題清單中供大家參考。前兩天寫的以下博客,大家比較認可,熱度不錯,希望可以幫到準備或者正在參加Java面試的朋友們!