前言
根据jwasham在GitHub开源的学习计划,制定了一套适合Golang资深开发工程师的学习计划,学习内容包括计算机基础知识、语言知识、常用中间件使用与原理,以下内容为当今互联网公司常用的技术栈以及面试时常问的问题,要做到的知其然知其所以然,才能面试时游刃有余。后续会不定期的更新学习内容与学习材料,(成为一个优秀的工程师的前提是不断的学习与实践)。
欢迎大家留言补充。
学习目录
- 算法与数据结构
- leetcode 每日一题
- Golang
- 基础语法
- goroutine
- channel原理
- context用法
- GC 原理
- 锁
- sync.map
- Rpcx
- 使用
- 源码
- 调用选择器 selector
- 微服务
- 熔断、限流
- 链路跟踪、监控Metric
- 服务注册与发现
- [ ]
- Redis
- 基础、常用数据结构、底层结构
- 常用的替换模式、LRU、LFU
- 跳跃表
- 持久化方法
- 注意事项
- 集群
- MySql
- CRUD
- 索引、B+Tree、Explain
- 分库分表
- 锁、隔离级别、MVCC
- [ ]
- MQ
- Kafka
- RabbitMQ
- 消息去重
- 消息可靠传输
- 集群、高可用、负载均衡
- ETCD
- Raft
- CAP
- 分布式锁
- Linux
- 常用命令
- 进程调度、上下文切换
- [ ]
- [ ]
- 网络
- TCP 三次握手、4次挥手、滑动窗口、拥塞控制、线端阻塞
- UDP:8字节头、Quic、uTP、KCP
- HTTP
- HTTP2.0
- IO模型、epoll
- 设计模式
- 工厂模式
- 策略模式
- 观察者
- 状态机
- 桥接模式
- 装饰
- Nignx
- 调度算法
- worker 单线程
- [ ]
- LVS
- NAT 修改IP、端口
- DR 通过修改MAC地址实现
- TUN封了一层ip头
- 并发模型
- Reactor
- Actor
- CSP
- Disruptor
- [ ]
- 存储
- FastDFS
- Elastic Search
- docker
- docker file
- kubernetes
- [ ]
Linux学习计划
- 牛客网 每日10题
- 安装Linux虚拟机
- Linux 实际开发
操作系统知识
- 进程与线程
- Eli BenderSky Blog
知识点
- 操作系统原理
- 网络编程