学习之路

118 阅读2分钟

前言

根据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学习计划

  1. 牛客网 每日10题
  2. 安装Linux虚拟机
  3. Linux 实际开发

操作系统知识

知识点
  • 操作系统原理
  • 网络编程