面試常問的知識點?
1)集合相關問題(必問):
- HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底層實作,
- HashMap和Hashtable的區別,
- ArrayList、LinkedList、Vector的區別,
- HashMap和ConcurrentHashMap的區別,
- HashMap和LinkedHashMap的區別,
- HashMap是執行緒安全的嗎,
- ConcurrentHashMap是怎么實作執行緒安全的,
2)多執行緒并發相關問題(必問):
- 創建執行緒的3種方式,
- 什么是執行緒安全,
- Runnable介面和Callable介面的區別,
- wait方法和sleep方法的區別,
- synchronized、Lock、ReentrantLock、ReadWriteLock,
- 介紹下CAS(無鎖技術),
- volatile關鍵字的作用和原理,
- 什么是ThreadLocal,
- 創建執行緒池的4種方式,
- ThreadPoolExecutor的內部作業原理,
- 分布式環境下,怎么保證執行緒安全,
3)JVM相關問題:
- 介紹下垃圾收集機制(在什么時候,對什么,做了什么),
- 垃圾收集有哪些演算法,各自的特點,
- 類加載的程序,
- 雙親委派模型,
- 有哪些類加載器,
- 能不能自己寫一個類叫java.lang.String,
4)設計模式相關問題(必問):
- 先問你熟悉哪些設計模式
- 然后再具體問你某個設計模式具體實作和相關擴展問題,
5)資料庫相關問題,針對Mysql(必問):
- 給題目讓你手寫SQL,
- 有沒有SQL優化經驗,
- Mysql索引的資料結構,
- SQL怎么進行優化,
- SQL關鍵字的執行順序,
- 有哪幾種索引,
- 什么時候該(不該)建索引,
- Explain包含哪些列,
- Explain的Type列有哪幾種值,
6)框架相關問題:
- Hibernate和Mybatis的區別,
- Spring MVC和Struts2的區別,
- Spring用了哪些設計模式,
- Spring中AOP主要用來做什么,
- Spring注入bean的方式,
- 什么是IOC,什么是依賴注入,
- Spring是單例還是多例,怎么修改,
- Spring事務隔離級別和傳播性,
- 介紹下Mybatis/Hibernate的快取機制,
- Mybatis的mapper檔案中#和$的區別,
- Mybatis的mapper檔案中resultType和resultMap的區別,
- Mybatis中DAO層介面沒有寫實作類,Mapper中的方法和DAO介面方法是怎么系結到一起的,其內部是怎么實作的,
7)其他遇到問題:
- 介紹下堆疊和佇列,
- IO和NIO的區別,
- 介面和抽象類的區別,
- int和Integer的自動拆箱/裝箱相關問題,
- 常量池相關問題,
- ==和equals的區別,
- 多載和重寫的區別,
- String和StringBuilder、StringBuffer的區別,
- 靜態變數、實體變數、區域變數執行緒安全嗎,為什么,
- try、catch、finally都有return陳述句時執行哪個,
- 介紹下B樹、二叉樹,
- ajax的4個字母分別是什么意思,
- xml全稱是什么,
- 分布式鎖的實作,
- 分布式session存盤解決方案,
- 常用的linux命令,
第一部分:Java基礎-中級-高級

第二部分:開源框架(SSM:Spring+SpringMVC+MyBatis)

第三部分:性能調優(JVM+MySQL+Tomcat)

第四部分:分布式(限流:ZK+Nginx;快取:Redis+MongoDB+Memcached;通訊:MQ+kafka)

第五部分:微服務(SpringBoot+SpringCloud+Dubbo)

第六部分:其他:并發編程+設計模式+資料結構與演算法+網路

有想獲取文中面試總結的朋友,一鍵三連后,見下圖:

筆記決議
Java架構進階之架構筑基篇(Java基礎+并發編程+JVM+MySQL+Tomcat+網路+資料結構與演算法)

Java架構進階之開源框架篇(設計模式+Spring+SpringMVC+MyBatis)

Java架構進階之分布式架構篇 (限流(ZK/Nginx)+快取(Redis/MongoDB/Memcached)+通訊(MQ/kafka))

Java架構進階之微服務架構篇(RPC+SpringBoot+SpringCloud+Dubbo+K8s)

有想獲取筆記決議的朋友,一鍵三連后,見下圖:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/226203.html
標籤:java
上一篇:雜談JVM(萬字手打)
