黑馬面試影片:https://www.bilibili.com/video/BV1yT411H7YK/?p=3&spm_id_from=pageDriver&vd_source=5f1d3bd68827f2b51120309172941a9e
面試大全:https://knife.blog.csdn.net/article/details/121219272
一、JDK8新特性?
介面允許default和static;lambda;stream;時間新API(LocalDateTime等)CompletableFuture等
二、集合
1、常見的集合有哪些?
三、鎖
1、什麼時候會死鎖?
四、多執行緒
多執行緒處理方案案例:https://learn.skyofit.com/archives/481
多執行緒相關面試題:https://blog.csdn.net/weixin_33712987/article/details/89686009
1、執行緒和程序的區別?
2、實現執行緒有哪幾種方式?
3、什麼是死鎖?如何避免死鎖?
4、你遇到過哪些多執行緒的問題?都是如何解決的?
5、執行緒池的使用場景?
五、MySql
1、資料庫最佳化方式
建立索引、欄位冗餘(減少聯表查詢)、使用快取、讀寫分離(寫入主庫 讀從分庫讀 資料庫同步機制)、分庫分表(垂直拆分:不同模組拆分為多個資料庫。水平拆分:當無法垂直拆分且資料量過大時使用。 分庫分表之前,不要為分而分,先盡力去做力所能及的事情,例如:升級硬體、升級網路、讀寫分離、索引最佳化等等。當資料量達到單表的瓶頸時候,再考慮分庫分表。)
2、分庫分表的中介軟體?
Sharding-JDBC、Mycat
六、設計模式
1、專案裡用到了哪些設計模式,怎麼用的?
https://www.bilibili.com/video/BV1hz421S7bC/?spm_id_from=333.337.search-card.all.click&vd_source=5f1d3bd68827f2b51120309172941a9e
https://www.bilibili.com/video/BV1Kt42187t8/?spm_id_from=333.337.search-card.all.click&vd_source=5f1d3bd68827f2b51120309172941a9e
https://blog.csdn.net/weixin_43709538/article/details/135383377
2、單例模式寫法 https://learn.skyofit.com/archives/278
3、手寫雙重檢驗單例(為什麼用volatile,為什麼兩次if判斷)
4、靜態代理與動態代理區別?
七、Spring相關
1、SpringBoot如何向容器註冊bean?
6種方法:https://learn.skyofit.com/archives/2843
2、Spring-bean的生命週期?
簡單來說Spring Bean的生命週期就是bean從被初始化到銷燬的過程。 Spring Bean的生命週期分為五個階段:例項化 Instantiation、屬性賦值 Populate、初始化 Initialization、使用 In use、銷燬 Destruction
八、Redis相關
1、Redis為什麼那麼快?
2、Redis資料型別及其使用場景?
3、Redis持久化AOF,RDB區別?
4、穿透、無底洞、雪崩、擊穿 解決方案?
5、記憶體回收機制是怎樣的?(或者說:淘汰策略)?
6、Redis與資料庫如何同步?各個方式的缺點是什麼?
7、秒殺的時候怎麼使用Redis?
九、微服務相關
分散式事務:https://blog.csdn.net/u011397981/article/details/129829072
1、springcloud常見的元件有哪些?
2、註冊中心eureka和nacos區別?
3、ribbon負載均衡?
十、訊息中介軟體MQ、Kafka
1、
2、集合、鎖、多執行緒相關問題?
4、SQL怎麼最佳化?
5、Redis相關問題(例如:持久化、快取雪崩、穿透、擊穿、雙寫一致性、資料過期、資料淘汰策略、主從、哨兵、分片叢集)
6、微服務相關問題(例如:什麼是分散式事務?使用場景?)
7、Docker容器操作相關命令?
8、ES相關問題
9、MQ相關問題、Kafka的使用?
10、口述一下你做過的專案以及用到的知識點
11、自學的兩個專案相關知識點的複習尤其是SpringCloud專案
12、其它