2020最新版Java面試寶典詳盡講解

基礎篇

1、 Java語言有哪些特點

2、面向對象和麵向過程的區別

3 、八種基本數據類型的大小,以及他們的封裝類

4、標識符的命名規則。

5、instanceof 關鍵字的作用

6、Java自動裝箱與拆箱

7、 重載和重寫的區別

8、 equals與==的區別

9、 Hashcode的作用

10、String、String StringBuffer 和 StringBuilder 的區別是什麼?

11、ArrayList和linkedList的區別

12、 HashMap和HashTable的區別

13、 Collection包結構,與Collections的區別

14、 Java的四種引用,強弱軟虛

15、 泛型常用特點

16、Java創建對象有幾種方式?

17、有沒有可能兩個不相等的對象有相同的hashcode

18、深拷貝和淺拷貝的區別是什麼?

19、final有哪些用法?

20、static都有哪些用法?

21、3*0.1==0.3返回值是什麼

22、a=a+b與a+=b有什麼區別嗎?

23、try catch finally,try裡有return,finally還執行麼?

24、 Excption與Error包結構

25、OOM你遇到過哪些情況,SOF你遇到過哪些情況

26、 簡述線程、程序、進程的基本概念。以及他們之間關係是什麼?

27、線程有哪些基本狀態?

28、Java 序列化中如果有些字段不想進行序列化,怎麼辦?

29、Java 中 IO 流

30、 Java IO與 NIO的區別

31、java反射的作用於原理

32、說說List,Set,Map三者的區別?


2020最新版Java面試寶典詳盡講解


JVM篇

1、知識點彙總

2、知識點詳解:

3、類加載與卸載

4、簡述一下JVM的內存模型 - 線程私有區 - 線程共享區

5、堆和棧的區別

6、 什麼時候會觸發FullGC

7、什麼是Java虛擬機?為什麼Java被稱作是“平臺無關的編程語言”?

8、Java內存結構

9、對象分配規則

10、描述一下JVM加載class文件的原理機制?

11、Java對象創建過程

12、類的生命週期

13、簡述Java的對象結構

14、如何判斷對象可以被回收?

15、JVM的永久代中會發生垃圾回收麼?

16、垃圾收集算法

17、調優命令有哪些?

18、調優工具

19、Minor GC與Full GC分別在什麼時候發生?

20、你知道哪些JVM性能調優


2020最新版Java面試寶典詳盡講解


多線程&併發篇

1、Java中實現多線程有幾種方法

2、如何停止一個正在運行的線程

3、notify()和notifyAll()有什麼區別?

4、sleep()和wait() 有什麼區別?

5、volatile 是什麼?可以保證有序性嗎?

6、Thread 類中的start() 和 run() 方法有什麼區別?

7、為什麼wait, notify 和 notifyAll這些方法不在thread類裡面?

8、為什麼wait和notify方法要在同步塊中調用?

9、Java中interrupted 和 isInterruptedd方法的區別?

10、Java中synchronized 和 ReentrantLock 有什麼不同?

11、有三個線程T1,T2,T3,如何保證順序執行?

12、SynchronizedMap和ConcurrentHashMap有什麼區別?

13、什麼是線程安全

14、Thread類中的yield方法有什麼作用?

15、Java線程池中submit() 和 execute()方法有什麼區別?

16、說一說自己對於 synchronized 關鍵字的瞭解

17、說說自己是怎麼使用 synchronized 關鍵字,在項目中用到了嗎synchronized關鍵字最主要的三種使用方式:

18、什麼是線程安全?Vector是一個線程安全類嗎?

19、 volatile關鍵字的作用?

20、常用的線程池有哪些?

21、簡述一下你對線程池的理解

22、Java程序是如何執行的


2020最新版Java面試寶典詳盡講解


Spring篇

1、 Spring的IOC和AOP機制?

2、 Spring中Autowired和Resource關鍵字的區別?

3、依賴注入的方式有幾種,各是什麼?

4、講一下什麼是Spring

5、Spring MVC流程

6、SpringMVC怎麼樣設定重定向和轉發的?

7、 SpringMVC常用的註解有哪些?

8、 Spring的AOP理解:

9、Spring的IOC理解

10、解釋一下spring bean的生命週期

11、 解釋Spring支持的幾種bean的作用域。

12、 Spring基於xml注入bean的幾種方式:

13、Spring框架中都用到了哪些設計模式?


MyBatis篇

1、什麼是MyBatis

2、MyBatis的優點和缺點

3、#{}和${}的區別是什麼?

4、當實體類中的屬性名和表中的字段名不一樣 ,怎麼辦 ?

5、Mybatis是如何進行分頁的?分頁插件的原理是什麼?

6、Mybatis是如何將sql執行結果封裝為目標對象並返回的?都有哪些映射形式?

7、 如何執行批量插入?

8、Xml映射文件中,除了常見的select|insert|updae|delete標籤之外,還有哪些標籤?

9、MyBatis實現一對一有幾種方式?具體怎麼操作的?

10、Mybatis是否支持延遲加載?如果支持,它的實現原理是什麼?

11、Mybatis的一級、二級緩存。


SpringBoot篇

1、什麼是SpringBoot?為什麼要用SpringBoot

2、Spring Boot 的核心註解是哪個?它主要由哪幾個註解組成的?

3、運行Spring Boot有哪幾種方式?

4、如何理解 Spring Boot 中的 Starters?

5、 如何在Spring Boot啟動的時候運行一些特定的代碼?

6、 Spring Boot 需要獨立的容器運行嗎?

7、 Spring Boot中的監視器是什麼?

8、 如何使用Spring Boot實現異常處理?

9、 你如何理解 Spring Boot 中的 Starters?

10、 springboot常用的starter有哪些

11、 SpringBoot 實現熱部署有哪幾種方式?

12、 如何理解 Spring Boot 配置加載順序?

13、 Spring Boot 的核心配置文件有哪幾個?它們的區別是什麼?

14、如何集成 Spring Boot 和 ActiveMQ?

15、如何重新加載Spring Boot上的更改,而無需重新啟動服務器?

16、 Spring Boot、Spring MVC 和 Spring 有什麼區別?

17、 能否舉一個例子來解釋更多 Staters 的內容?

18、 Spring Boot 還提供了其它的哪些 Starter Project Options?


MySQL篇

1、數據庫的三範式是什麼

2、數據庫引擎有哪些

3、InnoDB與MyISAM的區別

4、數據庫的事務

5、索引問題

6、SQL優化

7、簡單說一說drop、delete與truncate的區別

8、什麼是視圖

9、 什麼是內聯接、左外聯接、右外聯接?

10、併發事務帶來哪些問題?

11、事務隔離級別有哪些?MySQL的默認隔離級別是?

12、大表如何優化?

1. 限定數據的範圍

2. 讀/寫分離

3. 垂直分區

4. 水平分區

13、分庫分表之後,id 主鍵如何處理?

14、mysql有關權限的表都有哪幾個

15、mysql有哪些數據類型

16、創建索引的三種方式,刪除索引


Redis篇

1、Redis持久化機制

2、緩存雪崩、緩存穿透、緩存預熱、緩存更新、緩存降級等問題

3、熱點數據和冷數據是什麼

4、Memcache與Redis的區別都有哪些?

5、單線程的redis為什麼這麼快

6、redis的數據類型,以及每種數據類型的使用場景

7、redis的過期策略以及內存淘汰機制

8、Redis 為什麼是單線程的

9、Redis 常見性能問題和解決方案?

10、為什麼Redis的操作是原子性的,怎麼保證原子性的?

11、Redis事務


SpringCloud篇

1、什麼是SpringCloud

2、什麼是微服務

3、SpringCloud有什麼優勢

4、 什麼是服務熔斷?什麼是服務降級?

5、 Eureka和zookeeper都可以提供服務註冊與發現的功能,請說說兩個的區別?

6、SpringBoot和SpringCloud的區別?

7、負載平衡的意義什麼?

8、什麼是Hystrix?它如何實現容錯?

9、什麼是Hystrix斷路器?我們需要它嗎?

10、說說 RPC 的實現原理


Nginx篇

1、簡述一下什麼是Nginx,它有什麼優勢和功能?

2、Nginx是如何處理一個HTTP請求的呢?

3、列舉一些Nginx的特性

4、請列舉Nginx和Apache 之間的不同點

5、在Nginx中,如何使用未定義的服務器名稱來阻止處理請求?

6、請解釋Nginx服務器上的Master和Worker進程分別是什麼?

7、請解釋代理中的正向代理和反向代理

8、解釋Nginx用途


MQ篇

1、為什麼使用MQ

2、MQ優缺點

3、Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什麼區別?

4、如何保證高可用的?

5、如何保證消息的可靠傳輸?如果消息丟了怎麼辦

6、如何保證消息的順序性

7、 如何解決消息隊列的延時以及過期失效問題?消息隊列滿了以後該怎麼處理?有幾百萬消息持續積壓幾小時,說說怎麼解決?

8、設計MQ的思路


數據結構與算法篇

1、常用的數據結構 - 1. 數組 - 2. 棧 - 3. 隊列 - 4. 鏈表 - 5. 圖 - 6. 樹 - 7. 前綴樹 - 8. 哈希表

2、 數據裡有{1,2,3,4,5,6,7,8,9},請隨機打亂順序,生成一個新的數組(請以代碼實現)

3、 寫出代碼判斷一個整數是不是2的階次方(請代碼實現,謝絕調用API方法)

4、 假設今日是2015年3月1日,星期日,請算出13個月零6天后是星期幾,距離現在多少天(請用代碼實現,謝絕調用API方法)

5、 有兩個籃子,分別為A 和 B,籃子A裡裝有雞蛋,籃子B裡裝有蘋果,請用面向對象的思想實現兩個籃子裡的物品交換(請用代碼實現)

6、更多算法練習


Linux篇

1、 絕對路徑用什麼符號表示?當前目錄、上層目錄用什麼表示?主目錄用什麼表示? 切換目錄用什麼命令?

2、 怎麼查看當前進程?怎麼執行退出?怎麼查看當前路徑?

3、查看文件有哪些命令

4、列舉幾個常用的Linux命令

5、你平時是怎麼查看日誌的?


簡歷篇

  • 為什麼說簡歷很重要?
  • 先從面試來說
  • 再從面試說起
  • 必知必會的幾點
  • 必須瞭解的兩大法則
  • 項目經歷怎麼寫
  • 專業技能怎麼寫
  • 排版注意事項
  • 其他一些小tips


獲取面試寶典

關注並私信關鍵字“面試寶典”獲取。


分享到:


相關文章: