一面
1.自我介紹
2.談一個你覺得你學到最多的專案,使用了什麼技術,挑戰在哪裡
3.Spring的bean的作用域?(比如:singleton,prototype等)
4.Spring的IOC實現原理?沒有無參建構函式能例項化嗎?有參建構函式注入?(xml配置)
5.通過反射,談到了方法區,然後,類載入機制?
6.synchronized的實現原理?Volatile能保證原子性嗎?為什麼?
7.hashmap和concurrenthashmap的size方法怎麼實現的
8.JVM的調優引數?(-Xmn,-Xms等具體引數設定)
9.執行緒池優點,引數,如果我想實現newSingleThreadPoll,應該怎麼配置,構造方法傳什麼引數
10.mysql死鎖,怎麼解決,如果不要求執行順序,死鎖怎麼解決
11.ioc和aop原理
12.執行緒的五態?轉化過程?
13.TCP三次握手,為什麼三次握手?
14.JVM記憶體分割槽?(主存,工作記憶體,堆,棧。。。。)
15.講一下GC?
16.為什麼要用老年代和新生代?
17.新生代進入老生代的情況?
18.新生代的分割槽?
二面
- 變著法的問了一大堆執行緒池的知識 (主要考對應的引數)
- java記憶體模型
- lock和synchronized的區別
- reentrantlock的實現
- hashmap和concurrenthashmap
- B+樹和B-樹的區別
- 複合索引
- 聚集索引和非聚集索引的區別?
- 資料庫索引 主鍵和唯一索引有什麼區別
- 索引失效條件,什麼時候該建立索引
- innDB和MyISAM的區別?
- 執行緒安全(阻塞同步,非阻塞同步,無同步)
三面
主要高併發和分散式架構設計
- 伺服器模型以及之間的區別
- 執行緒池的設計
- 執行緒池如何做負載均衡
- 如何實現執行緒排程演算法
- 複合索引是如何實現的?
- 如何設計單點登入,單點登入的原理
- redis快取和memcached快取的區別,以及各自的優劣勢
- 大型高併發網站如何做效能優化:Web效能、資料庫效能、應用伺服器效能等。
- 實踐中如何優化MySQL:SQL語句及索引的優化、資料庫表結構的優化、系統配置的優化、硬體的優化
- 分庫分表和讀寫分離如何設計
- 微服務架構:dubbo和springcloud的區別,以及各自對應的使用場景。
以上是阿里最新技術三面題目,以下是最新總結出的阿里等BAT面試java必考題目和答案。
2019最新BAT高階java面試68題和答案
領取方法:
加群獲取面試資料以及答案,程式設計師交流群:833145934 ( 點選群號直接加群,進群記得備註好訊息 )