集合
- 集合分爲兩大塊:java.util包下的非線程安全集合和java.util.concurrent下的線程安全集合。
List
- ArrayList與LinkedList的實現和區別
- 參考:https://blog.csdn.net/luyuqin0115/article/details/80395694
Map
-
HashMap:瞭解其數據結構、hash衝突如何解決(鏈表和紅黑樹)、擴容時機、擴容時避免rehash的優化
-
2、參考:https://blog.csdn.net/zj20165149/article/details/104325073/
-
3.參考:https://blog.csdn.net/u014532901/article/details/78936283
-
LinkedHashMap:瞭解基本原理、哪兩種有序、如何用它實現LRU
-
2、參考:https://blog.csdn.net/qq_35811626/article/details/88312644
-
TreeMap:瞭解數據結構、瞭解其key對象爲什麼必須要實現Compare接口、如何用它實現一致性哈希
-
3、參考:https://blog.csdn.net/xjzd3317/article/details/55211568
Set
- Set基本上都是由對應的map實現,簡單看看就好
- 1、參考:https://www.cnblogs.com/zhuyeshen/p/12675150.html
常見問題
- hashmap如何解決hash衝突,爲什麼hashmap中的鏈表需要轉成紅黑樹?
- 1、參考:https://blog.csdn.net/weixin_41163113/article/details/84974414
- 2、參考:https://www.cnblogs.com/rgever/p/9643872.html
- hashmap什麼時候會觸發擴容?
- 1、參考:https://blog.csdn.net/qq_41706675/article/details/82503533
- jdk1.8之前併發操作hashmap時爲什麼會有死循環的問題?
- 1、參考:https://blog.csdn.net/hupoling/article/details/80614858
- hashmap的數組長度爲什麼要保證是2的冪?
- 1參考:https://blog.csdn.net/Tane_1018/article/details/103392267
- 如何用LinkedHashMap實現LRU?
- 1、參考:參考:https://www.cnblogs.com/mengheng/p/3683137.html
- 如何用TreeMap實現一致性hash?
- 1、參考:https://blog.csdn.net/xjzd3317/article/details/55211568
中間件、存儲、以及其他框架
Spring
- bean的生命週期、循環依賴問題、spring cloud(如項目中有用過)、AOP的實現、spring事務傳播
常見問題
- java動態代理和cglib動態代理的區別(經常結合spring一起問所以就放這裏了)
- 1、參考:https://blog.csdn.net/weixin_38327420/article/details/85068641
- spring中bean的生命週期是怎樣的?
- 參考:https://www.cnblogs.com/lichangyun/p/10720207.html
- 屬性注入和構造器注入哪種會有循環依賴的問題?
- 參考:https://blog.csdn.net/qq_37464248/article/details/82463889
- spring事務傳播
- 參考:https://blog.csdn.net/weixin_39625809/article/details/80707695
Dubbo(或其他Rpc框架)
瞭解一個常用RPC框架如Dubbo的實現:服務發現、路由、異步調用、限流降級、失敗重試
常見問題
- Dubbo如何做負載均衡?
- Dubbo如何做限流降級?
- Dubbo如何優雅的下線服務?
- Dubbo如何實現異步調用的?
RocketMq(或其他消息中間件)
- 瞭解一個常用消息中間件如RocketMq的實現:如何保證高可用和高吞吐、消息順序、重複消費、事務消息、延遲消息、死信隊列
常見問題
- RocketMq如何保證高可用的?
- 參考:https://blog.csdn.net/yueloveme/article/details/98493896
- RocketMq如何保證高吞吐的?
- 參考:https://blog.csdn.net/hosaos/article/details/105204922
- RocketMq的消息是有序的嗎?
- 參考:https://blog.csdn.net/alex_xfboy/article/details/84943022
- RocketMq的消息局部順序是如何保證的?
- 參考:https://blog.csdn.net/zhaoming19870124/article/details/90900808
- RocketMq事務消息的實現機制?
- 參考:https://www.cnblogs.com/hzmark/p/rocket_txn.html
- RocketMq會有重複消費的問題嗎?如何解決?
- 參考:https://blog.csdn.net/weixin_41047933/article/details/87865920
- RocketMq支持什麼級別的延遲消息?如何實現的?
- RocketMq是推模型還是拉模型?
- Consumer的負載均衡是怎麼樣的?
Redis(或其他緩存系統)
- redis工作模型、redis持久化、redis過期淘汰機制、redis分佈式集羣的常見形式、分佈式鎖、緩存擊穿、緩存雪崩、緩存一致性問題
常見問題
- redis性能爲什麼高?
- 單線程的redis如何利用多核cpu機器?
- redis的緩存淘汰策略?
- redis如何持久化數據?
- redis有哪幾種數據結構?
- redis集羣有哪幾種形式?
- 有海量key和value都比較小的數據,在redis中如何存儲才更省內存?
- 如何保證redis和DB中的數據一致性?
- 如何解決緩存穿透和緩存雪崩?
- 如何用redis實現分佈式鎖?
Mysql
- 事務隔離級別、鎖、索引的數據結構、聚簇索引和非聚簇索引、最左匹配原則、查詢優化(explain等命令)
- 推薦文章:
- https://tech.meituan.com/2014/06/30/mysql-index.html
- http://hbasefly.com/2017/08/19/mysql-transaction/
常見問題
- Mysql(innondb 下同) 有哪幾種事務隔離級別?
- 不同事務隔離級別分別會加哪些鎖?
- mysql的行鎖、表鎖、間隙鎖、意向鎖分別是做什麼的?
- 說說什麼是最左匹配?
- 如何優化慢查詢?
- mysql索引爲什麼用的是b+ tree而不是b tree、紅黑樹
- 分庫分表如何選擇分表鍵
- 分庫分表的情況下,查詢時一般是如何做排序的?
zk
- zk大致原理(可以瞭解下原理相近的Raft算法)、zk實現分佈式鎖、zk做集羣master選舉
常見問題
- 如何用zk實現分佈式鎖,與redis分佈式鎖有和優缺點
參考:https://www.cnblogs.com/look-look/p/11770285.html