JAVA高級-面試題總結

最近面試了一些公司,針對面試中遇到的問題在此記錄,提高本身,造福你們

1、java源碼相關

  1.  ArrayList建立和add等各類api使用原理  

  2. HashMap 的建立,put原理,和HashTable的區別,resize的原理

  3. HashMap和HashTable在1.7版本以後的區別,針對建立時和put時處理的方式不一樣(紅黑樹,CAS、ABA處理)

  4. 各類IO交互(AIO/ NIO/ BIO)

2、 JVM相關

  (bookname:深刻理解java虛擬機)

  1. jvm分區

  2. java文件加載到gc全流程

  3. gc收集算法(標記計數算法,可達性算法)gc清理邏輯

  4. G1/CMS收集器

  5. 堆棧溢出緣由,處理

  6. 內存分配和回收策略

  7. 虛擬機賤蟲和故障處理工具

  8. jvm調優

  9. web容器加載器架構實現(tomcat,jetty……)

  10. 線程安全,鎖優化

3、多線程

  1. 線程池的建立有幾種方式

  2. submit和excute使用的區別,怎樣避免死鎖

  3. 線程的鎖機制(lock和synchronized)

  4. 線程調度相關

4、數據庫

  1. mysql中innodb myisam 兩種引擎區別,是否支持事物,索引實現(B+,Hash)複合索引/二叉樹

  2. group by和order by

  3. 數據庫調優

  4. 大量數據下分庫分表處理

  5. 跨多數據庫查詢

  6. cap,CAP即,一致性(Consistency), 可用性(Availability), 分區容忍性(Partition tolerance);

  7. redis有什麼優勢(單線程,分佈式,持久化,事務,原子性)

  8. redis的主從 、哨兵的實現原理

  9. redis支持的數據操做類型,發佈訂閱,計數器

  10. redis做爲註冊中心的優勢,和zk的區別

5、Spring框架相關

  1. ioc實現原理

  2. aop具體實現,動態代理

  3. 工廠bean和bean工廠

  4. 反射使用

  5. 註解實現

6、分佈式

  1. dubbo具體調用原理(消費者&服務者)

  2. 多註冊中心的使用場景

  3. 負載均衡策略

  4. 註冊中心的註冊原理(zk和redis註冊中心有什麼區別)

目前遇到的問題是這些,歡迎各位看官留言補充。BX

相關文章
相關標籤/搜索