后端知识地图
一、文件IO
读写流程
libc读写
sync io / direct io
零拷贝:CPU参与的拷贝次数
https://www.ibm.com/developerworks/cn/linux/1-cn-zerocopy2/index.html
内核缓冲
磁盘 协议引擎
二、Epoll
源码
LT、ET对比
三、并发
多线程
用户线程、内核线程、用户栈、内核栈
应用调用系统调用,会切线程吗?栈呢?
https://juejin.im/entry/5baf503a5188255c960c43b5
条件变量
互斥量:各种锁、原子操作
信号量
锁变量是如何与内核关联起来的,如mutex变量与内核
四、网络
tcp基本流程
正常关闭连接
异常关闭连接
快重传等
udp基本流程
浏览器中敲url过程
tcp server常用设计(webserver, netty, goserv)
[linux kernal理解](http://abcdxyzk.github.io/blog/cats/kernel~net/?opendiv=kernel)
五、缓存
基本如何使用
Redis源码
缓存实践
问题解决方案
六、分布式
CAP
一致性协议: raft
一致性事物:2pc
一致性hash:优缺点
分布式计算系统
分布式存储系统
分布式缓存系统
如何设计一个分布式系统
七、语言
c++基本:构造、析构
java基础
golang
八、容器
docker操作
k8s操作