用来记录一些技术相关
工程设计
- mysql mvcc 多版本控制
- mysql binlog, redo log 两阶段提交
- ES 搜索快速,是因为提前把文本做了分词,然后根据分词进行查询
算法细节
- 二叉树的平衡维护,是从最小不平衡树开始计算的lr,ll,rr,rl。问题的入手点很关键。
- 二叉树时刻维护平衡性代价较高,通过2-3树,红黑树可以实现很好的插入查找性能。
- 使用哈夫曼树构造编码,实现存储压缩。
- 红黑树的删除需要删除底层的3-节点
- 红黑树的每一次旋转变换,都不会破坏树的整体平衡性
- 红黑树删除的复杂性在于,遍历过程破坏了一定的规则,需要在递归回去的时候重新修复
- 二叉树的中序遍历,由小到大排序。先序、后序、广度优先和中序遍历确定一棵树的形状,
- 森林可以通过邻接兄弟法,转化为一颗二叉树。右指针指向的节点为原森林的同级
数据库
- 具备了从关系表中选择,投影,笛卡尔乘积,去除和合并的操作就是完备的。
备忘
- 要能够读取第一手的资料,坚定独立思考,敢于质疑,并能证明自己的想法。
- 当你不能够讲清楚一件事情,说明思考存在遗漏的地方。
- 学习新的东西要能够有耐心,要去做去思考。
- 要事第一。
- 不能要自己能做,还能指导别人做。
- 技术工程的最佳实践,需要在实践中不断调整
不常见的bug
- 发送成功了,但是对应的 ack 消息丢失,此时需要做好幂等
其他
- 常用指标的反向指标,是否也有特别好的价值,能反应一些异常是值得思考的问题