这份文档集合涵盖了我在多个技术领域的学习和实践过程中整理的核心知识点。主要内容包括以下几个方面:
- Go
- chan底层原理
- Context的使用场景
- CSP并发模型
- dlv分析golang进程
- GC 是怎样监听你的应用的
- GC垃圾回收算法
- go runtime 简析
- gofunc过程
- gopark函数和goready函数原理分析
- Go协程的栈内存管理
- GPM调度模型
- HTTP Client大量长连接保持
- Interface内部实现的理解
- mutex怎么使用,乐观和悲观锁的实现
- slice实践以及底层实现
- Stop the World (STW)
- sync.Pool
- 乐观锁与悲观锁与Golang
- 互斥锁实现原理剖析
- 内存泄露的发现与排查
- 如何回收goroutine
- 常用包
- 特权 Goroutine g0
- 线程的实现模型
- 结构体是否可以比较
- 详解通信数据协议ProtoBuf
- 读写分离 sync.Map
- 读写锁的实现及底层原理
- 长连接和短连接的学习
- Kafka
- Mysql
- binlog、redo log和undo log
- b树与b+树的区别
- MongoDB和MySQL的区别
- MVVC原理
- MyISAM和InnoDB
- MySQL 主从复制原理
- MySQL中高性能索引的策略
- MySQL主从复制
- sql语句性能分析
- 为什么MySQL数据库索引选择使用B+树
- 主键索引和非主键索引的区别
- 二阶段提交
- 什么情况下会导致索引失效
- 什么情况下建立索引,哪些情况不行
- 关于mysql索引最左匹配原则的理解
- 四种事务隔离级别
- 垂直分表和水平分表和分表的跨表查询
- 如何解决幻读的
- 当前读与快照读
- 悲观锁与乐观锁区别及使用场景
- 数据库三范式
- 数据库的垂直切分与水平切分
- 百万到千万级别数据量的优化方案
- 索引失效的几种情况
- 联合索引
- 聚簇索引和非聚簇索引
- 表锁和行锁机制
- 记录锁、间隙锁与临键锁
- 说说脏读、不可重复读、幻读,怎么解决的
- 读写分离,发现读不到数据
- 高并发下怎么做余额扣减
- Network
- ARP协议工作原理
- HTTP 1.0,1.1,2.0 的区别
- HTTP 与 HTTPS 区别
- HTTP 的方法有哪些
- HTTP协议中的OPTIONS
- HTTP状态码
- HTTP的结构
- Linux端口范围
- OSI 七层模型与 TCP&IP 五层模型
- ping协议
- RestFul 与 RPC 的区别
- TCP 三次握手以及四次挥手的流程
- TCP 中常见的拥塞控制算法有哪些
- TCP 半连接发生场景
- TCP 协议的延迟 ACK 和累计应答
- TCP 可靠传输的保证
- TCP 滑动窗口以及重传机制
- TCP 的 keepalive
- TCP 的 TIME_WAIT
- TCP 的报文头部结构
- tcp、udp的区别
- TCP粘包
- udp之http3quic协议
- 一次 HTTP 的请求过程
- 了解网络攻击吗
- 什么是 SYN flood
- 从系统层面上,UDP如何保证尽量可靠
- 图解HTTPS
- 查看服务器是否被攻击的方法
- 网络七层协议
- 限流策略
- Redis
- AOF和RDB的过期删除策略
- AOF文件太大怎么办
- bgsave时数据拷贝过程
- pipeline
- Redis 哈希槽
- Redis 的同步机制
- redis中hash扩容过程
- redis主从复制怎么实现
- redis如何实现延时队列
- Redis布隆过滤器
- redis热点问题怎么解决
- redis的五大数据类型实现原理
- redis缓存为什么要延时双删
- Redlock(redis分布式锁)原理分析
- Sentinel集群选举机制
- String数据结构sds
- 事务及Lua脚本操作
- 假设Redis 的 master 节点宕机了,你会怎么进行数据恢复?
- 关于影响Redis性能的几点因素
- 内存淘汰策略和过期删除策略
- 如何处理网络延迟和网络异常
- 持久化策略RDB和AOF
- 数据结构 Stream
- 缓存穿透、击穿、雪崩、预热、更新、降级
- Theory
- Ctrl C发生了什么
- dns是怎么解析的
- epoll怎么解决io效率问题
- hash冲突
- hash函数
- kill底层发生了什么
- Linux中的零拷贝技术
- linux文件的权限
- Linux系统态与用户态
- LRU 算法及其实现方式
- Protobuf 的底层
- raft算法
- rpc实现原理
- socket 中 select 与 epoll
- 共享内存
- 内核态和用户态
- 分布式id算法
- 堆和栈访问效率哪个更高
- 如何设计一个哈希表
- 孤儿进程和僵尸进程以及僵死进程的解决方案
- 布式系统的一致性模型(CAP 定理和 PAXOS)
- 常见的乐观锁实现方式有几种
- 常见的排序算法
- 指针和引用的区别
- 操作系统中的中断
- 时间和空间复杂度
- 死锁概念,死锁产生的四个必要条件,如何避免和预防死锁
- 物理内存、虚拟内存和共享内存
- 线程间有哪些通信方式
- 网络io模型
- 自旋锁
- 进程和线程之间有什么区别
- 进程和线程的同步方式
- 进程间通信方式
- 通过分析系统,定位服务器问题
- 逻辑地址和物理地址的转化
- Algorithm
- Case
这些文档旨在帮助系统化理解这些关键技术概念,为编程和架构设计提供坚实的理论基础。