JAVA高級-面試題總結
最近面試了一些公司,針對面試中遇到的問題在此記錄,提高本身,造福你們
1、java源碼相關
-
ArrayList建立和add等各類api使用原理
-
HashMap 的建立,put原理,和HashTable的區別,resize的原理
-
HashMap和HashTable在1.7版本以後的區別,針對建立時和put時處理的方式不一樣(紅黑樹,CAS、ABA處理)
-
各類IO交互(AIO/ NIO/ BIO)
2、 JVM相關
(bookname:深刻理解java虛擬機)
-
jvm分區
-
java文件加載到gc全流程
-
gc收集算法(標記計數算法,可達性算法)gc清理邏輯
-
G1/CMS收集器
-
堆棧溢出緣由,處理
-
內存分配和回收策略
-
虛擬機賤蟲和故障處理工具
-
jvm調優
-
web容器加載器架構實現(tomcat,jetty……)
-
線程安全,鎖優化
3、多線程
-
線程池的建立有幾種方式
-
submit和excute使用的區別,怎樣避免死鎖
-
線程的鎖機制(lock和synchronized)
-
線程調度相關
4、數據庫
-
mysql中innodb myisam 兩種引擎區別,是否支持事物,索引實現(B+,Hash)複合索引/二叉樹
-
group by和order by
-
數據庫調優
-
大量數據下分庫分表處理
-
跨多數據庫查詢
-
cap,CAP即,一致性(Consistency), 可用性(Availability), 分區容忍性(Partition tolerance);
-
redis有什麼優勢(單線程,分佈式,持久化,事務,原子性)
-
redis的主從 、哨兵的實現原理
-
redis支持的數據操做類型,發佈訂閱,計數器
-
redis做爲註冊中心的優勢,和zk的區別
5、Spring框架相關
-
ioc實現原理
-
aop具體實現,動態代理
-
工廠bean和bean工廠
-
反射使用
-
註解實現
6、分佈式
-
dubbo具體調用原理(消費者&服務者)
-
多註冊中心的使用場景
-
負載均衡策略
-
註冊中心的註冊原理(zk和redis註冊中心有什麼區別)
目前遇到的問題是這些,歡迎各位看官留言補充。BX
歡迎關注本站公眾號,獲取更多信息