文章目錄
- 前言
- 一、Java基礎
- 二、架構
- 三、資料庫
- 四、中間件
- 五、 計算機網絡,作業系統
- 六、 資料結構(算法)
- 七、 項目經驗
- 八、 其他
- 面試資料
- 親身面試題目總彙
前言
JAVA開發工程師面試總結,主要分為幾個子產品:
- Java基礎(集合,JVM,線程,設計模式等)
- 架構(Spring,SpringCloud,SpringBoot,Mybatis等)
- 資料庫(Mysql)
- 中間件(Es,Redis,Kafka,ZK等)
- 計算機網絡,作業系統
- 資料結構(算法)
- 項目經驗
一、Java基礎
主要包括集合,JVM,線程,鎖,設計模式等
推薦書籍
《深入了解Java虛拟機》
二、架構
主要包括Spring,SpringCloud,SpringBoot,Mybatis等
推薦書籍
《深入了解SpringCloud與微服務建構》
《SpringCloud微服務實戰》
三、資料庫
主要是mysql,索引原理,sql優化,執行計劃等
四、中間件
包括Es,Redis,Kafka,Zk等,看你的項目中用到哪個就深入問哪個
一些基本原理,使用場景等
推薦書籍
《Elasticsearch源碼解析與優化實踐》
《Kafka入門與實踐》
《Redis開發與運維》
《從Paxos到Zookeeper》
《Kafka權威指南》
五、 計算機網絡,作業系統
問的公司46開吧,除非騰訊,其他涉及網絡的研發組會問。大多數公司不會深問,問的很基礎,HTTP相關,TCP三次連接配接,四次揮手等。
六、 資料結構(算法)
10個公司有4個會考察吧,基本很基礎。例如:二分查找算法等,還有一些給你個場景條件,讓你解。
何棄療
七、 項目經驗
重要!!!重要!!!重要!!!
做的項目架構,原理研究明白,你參與的子產品說的通透
八、 其他
- 自我介紹準備好,簡單工作經曆和項目經曆就行,如果有亮點也加上,控制時間。
- 離職原因,一定要提前想好,組織好語言,很重要,很重要,很重要
- 面試後不要影響心情,會的就會,不會的就說出來,“沒接觸過”。如果你本來應該會的卻不會的,記下來之後複習。如果面試問一些你沒接觸過,沒做過而不會的,不要氣餒,不要影響心情,面試是互相選擇的過程,說明這個公司這個項目組也不适合你。你是最棒的!
- 面試結束後會讓你提出有什麼問題需要問的,提前想好問面試官的兩個問題,兩個就好,不多不少
面試資料
親驗,親自整理,必看!!!
Java面試資料總彙(親驗)
親身面試題目總彙
- 線程上下文切換,存儲什麼,性能為啥
- 異常分類,什麼時候出現檢查
- 自己建立線程池
- 隊列
- 事物注解失效
- Threadlocal
- Arraylist ,linked list原理
- 實作注解
- Nio. Bio場景用
- nio原理
- Jdk動态代理
- Hashmap不安全原因
- Array list是線程安全的嗎
- 攔截feign
- Es加快查詢
- Es叢集
- Full Gc頻繁,怎麼找問題
- Springboot starter原理
- 建立線程方式
- 網絡通,自己可以通路,其他人通路不了,怎麼排查
- Mysql. Explain執行計劃
- 鎖
- 資料庫隔離級别
- 不可重複讀解決的問題
- 幻讀 解決辦法
- 死鎖
- Redis cluster擴容優化
- Kafka消息方式,解決了什麼問題
- 線上cpu高解決思路
- SQL優化
- Tcp三次握手為什麼
- 為什麼4次揮手
- 流量控制
- 一個http請求過程
- EsSegment作用
- Es 資料查詢,更新過程
- redis rdb存儲的是什麼
- Redis設定資料的過程
- Es反向索引結構,多了會慢嗎,cat api等
- Mysql Explain. 字段 索引
- 線程池隊列
- ES主副分片資料同步
- JVM區域
- GC
- 鎖-synchronized原理
- G1,cms垃圾收集器差別
- 二分查找算法
- 海量資料topk問題
- Kafka好處
- mysql分庫分表
- 分布式事務
- volatile
- IOC,AOP
- SQL注入
- ConCurrentHashMap原理
- 設計模式
- hytrixs斷路器原理
- eureka注冊中心原理
- springcloud常用元件
- java線程池
- http,tcp
- mysql 自增id和UUID做主鍵性能分析,及最優方案
- 一緻性HASH,解決什麼問題
- 設計原則
- 業務幂等
- 限流方案
- Mq重複消息處理
- 資料庫鎖,悲觀鎖,樂觀鎖模型
- quartz原理
- 實作@trsantional
- 分布式鎖實作方式
未完待續。。。