本文最后更新于278 天前,其中的信息可能已经过时,如有错误请发送邮件到2401292661@qq.com
思维导图 点这
计算机基础
计算机组成原理
- 数据在计算机中的表示和运算
- 存储系统
- 指令系统
- 中央处理器
- 总线
- 输入输出系统
数据结构与算法
- 线性表
- 链表
- 数组
- 循环链表
- 栈和队列
- 树和二叉树
- 二叉排序树
- 平衡二叉树
- 哈夫曼树
- B树
- B+树
- Trie树
- 图
- 存储结构
- BFS、DFS
- 最短路径
- 最小生成树
- 拓扑排序
- 关键路径
- 查找算法
- 二分查找
- B树查找
- HASH表
- KMP字符串模式匹配
- 排序算法
- 插入排序
- 冒泡排序
- 归并排序
- 基数排序
- 堆排序
- 贪心算法
- 位运算
- 分治算法
- 动态规划
计算机网络
- 物理层
- 数据链路层
- 网络层
- 传输层
- 应用层
操作系统
- 进程管理
- 内存管理
- 文件管理
- 输入输出管理
编译原理
Linux系统
Linux基础操作
Unix环境高级编程
- Unix系统实现Linux、基本系统数据类型
- 文件操作函数(open、read、close等等)
- 系统编程接口的基本特征和高级特征
- Linux进程环境、如何创建进程、线程、程序,程序的存储空间分配、环境变量
- 进程组、会话以及任务控制、进程优先级和调度
- 动态库和静态库
- 进程间通信:管道和FIFO、消息队列、信号量、共享内存、内存映射
- 套接字和网络编程
网络编程
- 什么是socket套接字
- 套接字选项
- TCP/UDP套接字编程
- Unix domain 协议和编程
- 原始套接字编程
- IO多路复用
- 序列化技术
- 零拷贝技术
- 开源网络库:muduo、libvent
数据库
基础理论
关系型数据库Mysql
- Mysql数据库架构
- Mysql索引使用和优化
- innoDB存储引擎
- 查询性能优化
- 聚集索引、非聚集索引
- 事务隔离、ACID、MVCC
- 锁机制、乐观锁、悲观锁、读锁、写锁、意向锁
- 日志
- 数据备份与恢复
非关系型数据库 NoSQL
- redis基本操作和使用
- redis设计与实现原理
- MongoDB
- memcache
- HBase
- CKV+腾讯自研
高并发
- 多进程
- 多线程
- 协程
- 异步回调
- 容量评估
高性能
- 三高技术架构常见问题
- CDN网络
- 池化技术
- 数据库连接池
- 线程池
- 集群化
- 缓存
高可用
- 硬件负载均衡
- 软件负载均衡
- 隔流隔离
- 应用层容灾
- 异地多活
- 容灾演练流程
设计模式
- 设计模式六大原则
- 23种常见设计模式
- 应用场景
- 单例模式
- 责任链模式
- MVC
- UML
分布式
- 分布式一致性算法
- PAXOS、Raft、Zab
- 分布式事务
- 2PC
- 3PC
- TCC
- 唯一ID生成
- 雪花算法、UUID
- 一致性Hash算法
- 微服务
- 服务注册
- 服务发现
- 服务路由
- 扩展性设计
- 分布式文件系统
- HDFS
- FastDFS
安全
- web安全
- CSRF、SQL注入、XSS
- 加密解密
- 对称加密、哈希算法、非对称加密
- 服务器安全
- 网络隔离
- 内外网分离、跳板机
- 授权、认证
- Oayth2.0、OIDC、2FA、单点登陆SSO
监控与统计
- 监控
- 追踪管理APM
- 统计埋点
搜索引擎
- 搜索引擎原理
- Lucene
- Elasticsearch
- Solr
大数据
数据存储
- Hadoop框架
- Hbase
- HDFS
- YARN架构
- Apache Kudu
离线分析
- Hive
- MapReduce
- Spark
流式计算
- Flink
- Storm
- Kafka Stream
- Spark Streaming
虚拟化
- KVM
- Xen
- OpenVZ
- NFV
- Docker
- OpenStack管理VM的工具
- Kubernetes管理container的工具
中间件
- Web Server
- Nginx、OpenResty、tomcat
- 缓存
- Redis、Memcached
- 消息队列
- Kafka、RabbitMQ、ActiveMQ
- RPC框架
- Tars
- Dubbo
- gRPC
- Thrift
- 数据库中间件
- Sharding jdbc
- 日志系统
- ELKB解决方案
- Elasticsearch
- Logstash
- Kibana
- Beats
- ELKB解决方案
- 配置中心
- Apollo、zookeeper统一配置管理
- API网关
版本控制
- git
- svn
测试
- TDD 理论
- 单元测试
- 压力测试
- 全链路压测
- A/B、灰度、蓝绿测试