一、java基礎
1.集合部分
hashmap 底層數據結構
我們知道在Java中最常用的兩種結構是數組和模擬指針(引用),幾乎所有的數據結構都可以利用這兩種來組合實現,HashMap也是如此。實際上HashMap是一個“鏈表散列”,如下是它數據結構:
hashmap 線程不安全
https://www.jianshu.com/p/e2f75c8cce01
treemap
Collections.sort(new ArrayList<T>());
二、tcp、Ip、http、https
tcp/ip 協議層淺析
https://www.cnblogs.com/onepixel/p/7092302.html
tcp握手斷開機制
https://www.cnblogs.com/zmlctt/p/3690998.html
https 流程機制
http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html
三、spring
三、mysql
索引的數據結構(主要是innodb)
https://www.cnblogs.com/shijingxiang/articles/4743324.html
B+樹的子節點存放數據,並且也是有序的。
mysql int(5) 可以存放超過5長度的int值 不夠5長度的,在數據庫的體現是00123(前面補0)
哪些會導致索引失效?
https://www.cnblogs.com/wuchanming/p/8075840.html
組合索引是否使用索引情況?
https://blog.csdn.net/wdjxxl/article/details/79790421
做索引優化時候explain關注的幾個字段
http://www.cnitblog.com/aliyiyi08/archive/2008/09/09/48878.html
爲什麼主鍵索引使用uuid不太合適
mysql 的事務級別
事務隔離級別 |
髒讀 |
不可重複讀 |
幻讀 |
讀未提交(read-uncommitted) |
是 |
是 |
是 |
不可重複讀(read-committed) |
否 |
是 |
是 |
可重複讀(repeatable-read) |
否 |
否 |
是 |
串行化(serializable) |
否 |
否 |
否 |
mysql默認的事務隔離級別爲repeatable-read
mysql是如何防止幻讀的?mysql的mvcc機制?
https://www.jianshu.com/p/2953c64761aa
mysql的悲觀鎖和樂觀鎖?
https://www.cnblogs.com/zhiqian-ali/p/6200874.html
select ..... for update 鎖表還是鎖行?innodb 和 myasim 引擎不同
https://blog.csdn.net/u012888052/article/details/54895704
mysql(innodb)的表鎖和行鎖、還有一些死鎖的情況
https://www.aneasystone.com/archives/2017/11/solving-dead-locks-two.html
這篇文中介紹的鎖非常詳細,要仔細看看。
這個是亞盟整理的,別人發版的他的
mysql的平滑擴容方案
https://blog.csdn.net/kefengwang/article/details/81213050
這其中包含分庫分表用的一些東西,比如分佈式唯一鍵生成方法,平滑擴容方案等
mysql的災備 http://bigdata.51cto.com/art/201809/583073.htm
異地雙活 知道大概的架構和難點以及解決方案
http://www.360doc.com/content/17/0730/14/44946832_675334210.shtml
redis
redis的持久化機制,各自的特點
https://www.cnblogs.com/xingzc/p/5988080.html
redis的數據結構
https://blog.csdn.net/zhaoliang831214/article/details/82051449
redis的 sortset 原理
https://blog.csdn.net/linyu19872008/article/details/72403962
redis 的緩存穿透 雪崩 數據庫緩存一致性
https://www.cnblogs.com/wangzhuxing/p/8331765.html
MQ、kafka、zk
如何保證消息的可靠性、一致性?
消息的重發、怎麼防止重複消費(做冪等處理)
當多個微服務之間有先後調用順序,彼此依賴時(分佈式事務)可以採用廣播的形式多個系統同時回滾。
kafka的zab協議,選舉過程
zab和rafr的協議 https://niceaz.com/2018/11/03/raft-and-zab/