面試總結-java工程師面試大綱

java工程師面試大綱

除了java的基礎知識還包括以下幾個內容:

  • JVM

    - JVM內存區域:重點注意堆棧的區別
    - JVM運行時內存(新生代、老年代、永久代)注意jdk7/8的區別
    - 如何進行確定垃圾回收(引用計數法、可達性分析)
    - 垃圾回收算法(複製算法、標記清除算法、標記整理算法、分代收集)
    - java中四大引用類型(強/軟/弱/虛引用)
    - GC垃圾收集器
    - 內存溢出/內存泄漏
    - 如何進行jvm調優
    - jvm類加載機制/類加載器(注意雙親委派)
    
  • Java IO/NIO

  • 容器(集合)

   - list/set/map集合,他們之間的區別(底層數據結構,線程安全,是否爲空,擴容)
   - 重點關注hashmap的底層實現原理,以及與courrentHashMap的區別,注意比較jdk1.7與1.8的不同
   - hashMap/hashtable區別
  • 併發編程
   - java內存模型、JMM三大特性、線程安全級別
   - 併發知識庫
   - 線程的實現方式(某些公司面試會手寫多線程)
   - 線程的生命週期(注意start與run的區別、sleep與run的區別)
   - 終止線程的方式
   - 線程與進程的區別、通信方式
   - 多線程的基本實現原理、線程池參數、拒絕策略、線程池工作過程
   - 四種線程池
   - java阻塞隊列(原理、隊列)
   - synchronized、ReentrantLock、Semaphore、AtomicInteger、volatile、ThreadLocal作用、應用場景、基本原理
   - 重點關注synchronized作用範圍、底層原理、鎖的升級原理、基本特性、與ReentrantLock/volatile的區別
   - java鎖  重點關注CAS原理
  • 反射
  • 異常
  • 泛型
  • 框架
  -Spring IOC/DI/AOP原理  注入方式 
  - Spring事務傳播行爲、隔離級別
  - 常用註解
  - IOC容器的實現原理
  - springbean的生命週期
  - spring中用到的設計模式
  - springMVC實現原理
  - Mybatis緩存
 
  • 數據庫
    - 存儲引擎(InnoDB、MyIASM)區別
    - 聚簇索引、非聚簇索引、覆蓋索引的概念
    - 什麼是索引、有哪些索引、什麼情況下建立索引、哪些情況下索引失效、索引如何提高查詢效率、索引的數據結構
    - 什麼是死鎖、死鎖的表現方式、怎麼解決死鎖
    - 數據庫三範式
    - 數據庫事務
    - 一條sql語句執行很慢的原因
    - 怎麼進行sql調優
    - 主從複製原理
  • 計算機網絡
     - 網絡的七層架構、五層模型
     - TCP/UDP的區別
     - TCP的三次握手、四次揮手過程,爲什麼不能改成兩次握手
     - TCP流量控制、阻塞控制、粘包
     - HTTP原理、狀態、https區別、請求方法
     - 在瀏覽器中輸入URL到顯示頁面的整個過程,以及使用的協議
     - socket通信
  • 設計模式
 - 設計原則
 - 設計模式 單例模式懶漢餓漢要會寫
  • 其他
 - Redis
 - kafka
 - Linux基本命令
 - 其他消息隊列了解即可
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章