阅读路径

16 篇文章

Go

Go 语言

围绕 Go 语言核心数据结构、runtime 机制、并发模型和工程面试高频问题做系统化整理。

开始阅读

目录

按顺序读下去,会从模型原理一路走到 Agent 与 Harness 的工程视角。

  1. 01 第 1 章:Go 类型系统、常量、Struct、方法集与嵌入 导读 从 defined type、alias、underlying type、type identity、assignability、convertibility、untyped constant、iota、struct 内存布局、方法集、嵌入与复制锁问题,系统梳理 Go 类型系统的面试知识链。
  2. 02 第 2 章:函数、闭包、defer、panic/recover 与 errors 从函数一等值、Method Value、闭包捕获、逃逸分析、defer 参数求值与执行顺序、panic 栈展开、recover 生效条件,到 errors 包装树、errors.Is/As/Join、typed nil error 与工程错误边界设计,系统梳理 Go 函数和错误处理的面试知识链。
  3. 03 第 3 章:String、byte、rune 与 Unicode 从 string 语言语义、byte/rune/Unicode/UTF-8、len/index/range、字符串底层表示、转换与拼接、strings.Builder、子字符串持有大对象、unsafe 零拷贝、map key、哈希与比较,到生产内存和性能问题,系统梳理 Go 字符串面试知识链。
  4. 04 第 4 章:Slice 从 Slice 描述符、底层数组共享、append 扩容、copy/clear、range 语义到并发安全,系统梳理 Go Slice 的语言语义、runtime 实现和面试回答方式。
  5. 05 第 5 章:Map 从 Map 语言语义、Key 可比较性、遍历规则、Swiss Table 实现、扩容与 split、并发安全到 sync.Map 选型,系统梳理 Go Map 的面试知识链。
  6. 06 第 6 章:Go 内存管理、逃逸分析与垃圾回收 从栈堆边界、逃逸分析、new/make、mcache/mcentral/mheap、mspan 与 size class、并发 GC、Green Tea GC、GOGC/GOMEMLIMIT 到内存故障排查,系统梳理 Go 内存管理的面试知识链。
  7. 07 第 7 章:接口、反射与泛型:抽象机制导论 从方法集、隐式实现、接口动态类型、typed nil、ITab、接口装箱与逃逸,到 reflect.Type/Value、可寻址性、可设置性、泛型类型集、约束、shape、字典和性能边界,系统梳理 Go 接口、反射与泛型的面试知识链。
  8. 08 第 8 章:Go Interface 底层实现与设计 从 Interface 语言语义、nil interface 与 typed nil、method set、eface/iface、ITab、interface conversion、type assertion、boxing、escape、interface equality 到 API 设计取舍,系统梳理 Go Interface 底层实现与面试知识链。
  9. 09 第 9 章:泛型、类型集合与迭代器 从类型参数、约束、类型集合、~T、Union、comparable、类型推断、泛型函数与泛型类型,到 slices/maps/cmp/iter、range-over-function、Pull Iterator、Shape、Dictionary、实例化、内联和工程性能验证,系统梳理 Go 泛型与迭代器的面试知识链。
  10. 10 第 10 章:Reflection、unsafe 与 Go 内存布局 从 reflect.Type/Value、Type 与 Kind、可寻址/可设置/可 Interface、DeepEqual、反射调用与构造,到 unsafe.Pointer、uintptr、Sizeof/Alignof/Offsetof、GC 可达性、checkptr、cgo 指针规则和生产故障排查,系统梳理 Go 反射、unsafe 与内存布局的面试知识链。
  11. 11 第 11 章:并发基础、Goroutine 生命周期与 Go 内存模型 从并发与并行、Goroutine 生命周期、GMP 调度、Context、WaitGroup、Happens-Before、DRF-SC 到泄漏治理和并发测试,重写 Go 并发基础与内存模型的完整知识链。
  12. 12 第 12 章:Channel、Select、并发模式与运行时实现 从 Channel 状态机、发送接收关闭语义、select、多路复用、Pipeline、Worker Pool、背压、hchan、sudog、gopark/goready 到泄漏和死锁排查,重写 Go Channel 的完整工程知识链。
  13. 13 第 13 章:Mutex、RWMutex 与 sync 工具箱 从共享不变量、Mutex/RWMutex、WaitGroup、Once、Cond、sync.Map、sync.Pool、锁竞争、profile、Benchmark 到分片缓存项目,重写 Go sync 工具箱的工程与面试知识链。
  14. 14 第 14 章:Context、取消传播与生命周期管理 从 Context 接口语义、取消树、WithCancel/WithTimeout/WithDeadline、Cause 系列 API、AfterFunc、WithoutCancel,到 HTTP、DB、RPC、Worker Pool、Pipeline 的生命周期管理与泄漏排查,系统梳理 Go Context 的面试知识链。
  15. 15 第 15 章:Atomic、CAS、内存语义与无锁思想 从 sync/atomic、CAS 线性化点、顺序一致性、atomic.Pointer、不可变快照、ABA、热点争用、无锁思想到 Mutex 回退边界,系统整理 Go Atomic 的工程与面试知识链。
  16. 16 第 16 章:生产级高并发架构、性能诊断与面试体系 把 Goroutine 生命周期、Channel、锁、Atomic、Context、测试、pprof、trace、容量规划、过载控制和中高级面试题组合成生产级 Go 高并发架构体系。