本课程来自GoCN社区原价3499元,是一门学习Go高级开发的视频教程,本视频教程围绕三大高阶内容板块带你深入分析理解Go核心技术,培养对标P6+ /D7级Gopher,让你快速提升四大核心能力。
讲师:曹春晖(Xargin)
前蚂蚁金服技术专家,Go语言contributor
谢孟军(Asta)
GoCN社区创始人,世界知名Go技术专家
哪些人适合学习Go高级工程师实战营?
2年以上工作经验,具有一定的Go语言基础和工作基础,但在理论和技术上寻求突破的Go语言工程师
从其他语言(如Java,PHP)转Go,具有一定项目经验,用Go写过简单的项目,但不知道怎样利用Go的优势应对更为复杂的大型项目的工程师
一. Go 程序是怎么跑起来的
教学目标:理解 Go 进程的启动过程,以调度循环串联相关的知识,理解 GPM 架构以及相关模型设计在不同阶段的问题及发展历史。
工作痛点:看着源代码,迷失在茫茫的数据结构和字段中;面试总是被人考调度循环,只是了解一些概念,无法融会贯通
详细内容:
Go 程序的启动过程
GPM 模型与调度循环
全局队列与局部队列
调度模型的发展历史
二. 语法背后的秘密
教学目标:通过学习 Go 内置的工具,了解如何将应用代码与底层代码做好对应;能够通过内置工具、调试器、源代码阅读对底层简单数据结构进行分析;
工作痛点:学会了语法,但是找不到实现代码,看别人的 blog 云里雾里;自己翻代码经常发现找不到实现部分,然后放弃。
详细内容:
学习基本的编译原理知识,了解基本的词法分析、语法分析、编译、链接流程
了解 Go 内置的编译/反编译工具:compile -S / objdump / SSAFUNC
使用工具分析 slice 的 append 实现
学习函数调用规约,Go 语言为什么可以实现多个返回值
其它语法糖分析:go func,select,channel send/recv
三. 神奇的内置数据结构
教学目标:学习 hashtable,timer 等复杂的数据结构实现;了解这些结构的进化历史和相关的优缺点;了解基本的 CSP 编程理念。
工作痛点:内置数据结构只会使用 api,碰到了相关的问题不知道该从何下手,对相关数据结构的设计缺乏宏观认识。
详细内容:
Go 语言的 hash 表实现:map 解析
Go 语言的 timer 实现演进
channel 的实现,CSP 理论基础
四. 编程语言与操作系统的桥梁
教学目标:了解基础操作系统接口知识,知道随着计算机体系结构的发展,系统调用是如何迭代进化的;知道如何去查询 syscall 的实现。
工作痛点:代码的行为和操作系统的关联关系难以理解,我写的 make 怎么就变成了 OS 的内存分配?
详细内容:
了解 linux syscall 的原理
理解 Go 语言是如何封装 syscall 的,哪些是 blocking syscall,哪些是 non blocking syscall
一些常见的 syscall 科普:clone,tgkill,futex,madvise
五. Go 的内存管理与垃圾回收
教学目标:理解基本的内存分配器原理;了解 tcmalloc 的设计理念;了解垃圾回收的繁多概念,建立相关的内存管理知识体系。
为什么内存分配要设计成多级结构?为啥 GC 的 stw 都已经 1ms 以下了,我的应用延迟还是这么高?
详细内容:
内存分配原理讲解
GC 设计讲解
memory barrier 讲解
GC 调步讲解
真实场景下的一些 GC 问题
六. Go 并发编程最佳实践
教学目标:理解常见并发编程模型:包括 fanin,fanout,or channel 等;知道常见的并发 bug;学会避免或排查线上的并发导致的 bug;
工作痛点:为什么给 string 变量赋值会 panic,难以理解;社区里的人对哪些操作是原子性的说法不一,令人困惑,我到底该相信谁。
详细内容:Go 语言常见并发模式一览(参考 concurrency in go)
常见的并发 bug
如何尽量避免并发 bug 被带到线上系统
如何排查线上的并发 bug(如死锁、data race,map con write fatal等)
Go程序是怎么跑起来的
语法背后的秘密
神奇的内置数据结构
编程语言与操作系统的桥梁
Go的内存管理与垃圾回收
Go并发编程最佳实践
netpoll与抢占式调度
答疑
Go人才培养体系和招聘
社区优秀开源框架对比
深入框架原理与实现
框架之上的业务分层
优雅的Go代码
知识落地-设计互联网高并发数据中台
服务.上线后-成为Go语言性能调优专家
答疑
如何参与Go开源项目
微服务在复杂业务场景的拆分难题
- -线互联网公司持续集成与持续部署实践
微服务的监控与可观测性
微服务基础设施-服务发现、检索、定时任务、MQ
大型互联网公司的稳定性密码(高可用、高并发背后的密码)
Cloud Native Go
Go语言前沿解析(泛型、modules)
Go语言与未来架构探索
答疑
实战营比赛学员分享会
GoCN社区Go高级工程师实战营课程视频随机截图: