前言
为了准备全栈秋招,还是得准备一下 Go 后端相关项目以及八股,因此开此贴
我自己用AI 瞎写了一些代码,但还是依旧不如人意,我依旧不能将一个需求给拆分成一个个小的步骤再分步执行,因此我得先修炼一下 Go 的相关内容,再读一读元点这个仓库,最后再做自己的一个项目
资料
- Go 设计模式
- Go 后端模版
- 从零开始实现系列
- 这个系列的刷的优先级为:GeeCache、GeeRPC、Gee、GeeORm
- 橙子老师的 Go 相关笔记
- Go 一站式学习平台
- Go 八股
八股
Go 语言
调度与 Goroutine
- GPM调度模型
- 特权 Goroutine g0
- gofunc过程
- gopark函数和goready函数原理分析
- goroutine什么情况下会阻塞
- 如何回收goroutine
- Go协程的栈内存管理
- 线程的实现模型
- go runtime 简析
- GMP 模型
并发原语与通信
锁与同步
GC 与内存
数据结构与语法
网络与框架
调试工具
Kafka
MySQL
索引
- b树与b+树的区别
- 为什么MySQL数据库索引选择使用B+树
- Mysql有哪几种索引
- mysql索引数据结构及优化
- 聚簇索引和非聚簇索引
- 主键索引和非主键索引的区别
- 联合索引
- 关于mysql索引最左匹配原则的理解
- 什么情况下建立索引,哪些情况不行
- 什么情况下会导致索引失效
- 索引失效的几种情况
- MySQL中高性能索引的策略
事务与锁
- 事务特性
- 四种事务隔离级别
- 原子性与一致性
- 事务什么场景下会失效
- 说说脏读、不可重复读、幻读,怎么解决的
- 如何解决幻读的
- 当前读与快照读
- MVVC原理
- 表锁和行锁机制
- 记录锁、间隙锁与临键锁
- 悲观锁与乐观锁区别及使用场景
- 二阶段提交
- mysql事务是怎么保证最终一致性
日志与主从复制
SQL 执行与调优
分库分表与高并发
其他
MongoDB
网络
网络模型
HTTP 与 HTTPS
- 一次 HTTP 的请求过程
- HTTP的结构
- HTTP 的方法有哪些
- HTTP状态码
- HTTP协议中的OPTIONS
- HTTP 1.0,1.1,2.0 的区别
- HTTP 和 HTTPS 的区别
- 图解HTTPS
TCP
- TCP 三次握手以及四次挥手的流程
- TCP 的报文头部结构
- TCP 可靠传输的保证
- TCP 滑动窗口以及重传机制
- TCP 中常见的拥塞控制算法有哪些
- TCP 协议的延迟 ACK 和累计应答
- TCP 的 keepalive
- TCP 的 TIME_WAIT
- TCP 半连接发生场景
UDP 与 QUIC
应用层与架构
安全
Redis
基础与数据结构
- redis的五大数据类型实现原理
- 基本数据类型,以及底层数据结构
- String数据结构sds
- redis中hash扩容过程
- redis扩容方式和触发方式
- redis如何判断Key是否存在
- 数据结构 Stream
- pipeline
持久化
主从与高可用
缓存问题
分布式与进阶
计算机基础
进程与线程
- 进程和线程之间有什么区别
- 协程和线程的区别
- 进程间通信方式
- 线程间有哪些通信方式
- 进程和线程的同步方式
- 孤儿进程和僵尸进程以及僵死进程的解决方案
- linux进程调度算法
- Ctrl C发生了什么
- kill底层发生了什么
- 操作系统中的中断
内存管理
网络 IO
锁与并发控制
数据结构与算法
分布式理论
Linux 基础
算法
场景题
秒杀与高并发
数据与缓存
手写题
源码分析
面经
项目参考
https://github.com/charlesAcmen/live-stream-danmaku