一、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/