# GO工程师面试与技能提升专题课程：最新版GO面试宝典，助力快速斩获offer

*Published:* 2024-05-31
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2024年12月29日，已超过 180天没有更新



**最新版GO面试宝典，助力快速斩获offer**

**全面覆盖GO核心要点，提升面试、跳槽加薪通过率**

本课程系统梳理GO语言核心，后端开发通用核心技术及高通过率面试经验与技巧，可以有效帮助大家全面扫清面试与知识盲区，大大提高面试通过率和技术理解力，助力从容应对各种面试与晋升场景，轻松拿下心仪Offer。

[![](https://www.xarjtc.com/wp-content/uploads/2024/05/09e9921b40d705e.webp)](https://www.xarjtc.com/wp-content/uploads/2024/05/09e9921b40d705e.webp)

**适合人群**

1至5年开发经验的后端开发者

接触过后端开发的应届毕业生

**技术储备**

具备GO语言基础

1年左右的后端开发经验

**环境参数**

Go 1.20

Ubuntu 22.04.2

MySQL 8.0.33

Redis 5.0.14

Elasticsearch 8.9

**章节目录：**

第1章 课程介绍及学习指南2 节 | 12分钟

本章节主要对课程整体进行介绍，包括：课程目标、优势、课程安排、技术要求、学习建议等。

收起列表

图文：

1-1 课前必读（不读错过一个亿）

视频：

1-2 课程导学 (11:46)

试看

第2章 为什么选择GO?大佬传授GO面试成功秘笈，助力你稳拿offer9 节 | 89分钟

本章首先介绍了Go 语言的一些特性及发展趋势，然后重点介绍了一些实用的面试技巧，从面试官的视角带小伙伴们破解面试套路。

收起列表

视频：

2-1 GO语言在开发领域中越来越流行并且成为主流，还有理由不选择GO (09:09)

视频：

2-2 GO语言与生俱来的那些特性，听完这节课让你盆满钵满 (03:53)

视频：

2-3 我到底该不该换工作？ (09:22)

视频：

2-4 知己知彼，教你如何从面试官的角度来看面试（一） (16:34)

视频：

2-5 知己知彼，教你如何从面试官的角度来看面试（二） (10:41)

视频：

2-6 掌握这3个技巧，你的面试已经成功了一半了 (08:31)

试看

视频：

2-7 怎样才能给考官留下好的印象呢？ (08:25)

视频：

2-8 带你认识冰山模型 (06:10)

视频：

2-9 资深GO面试官传授一套面试成功秘笈 (15:55)

第3章 好的简历应该这样写，面试技巧干货在这里10 节 | 64分钟

本章节主要介绍了如何写出一份大厂青睐的简历，围绕简历的可读性及如何凸显亮点展开。此外还介绍了电话面试的一些注意事项以及HR可能会问到的一些高频问题？怎么给HR留下好印象？我们应该问面试官哪些问题？如何克服面试紧张？如何规划自己的职业等。...

收起列表

视频：

3-1 你的简历写的有针对性吗？ (03:49)

视频：

3-2 大厂眼中的好简历是什么样的？ (09:58)

视频：

3-3 你的简历有亮点吗？确定你的简历阅读性会很高吗？ (08:06)

视频：

3-4 接到面试电话，这样回答最合适 (05:14)

视频：

3-5 如果你不确定给HR留下的印象好坏，不妨学学这几种方法 (03:39)

视频：

3-6 HR的这些问题你回答对了吗？细节很重要 (07:27)

视频：

3-7 面试过程中如何表现自己的沟通能力？ (05:04)

视频：

3-8 面试容易紧张怎么办？ (04:28)

视频：

3-9 你应该问面试官哪些问题？ (04:30)

视频：

3-10 你的职业规划应付得了面试官，应付得了你的人生吗？ (11:08)

第4章 Go语言基础篇（一）21 节 | 266分钟

本章主要带领小伙伴们夯实Go语言基础，从实际开发过程中一些容易出错的知识点出发，带领小伙伴们夯实Go开发的功底，轻松应该Go语言的初中级面试。主要涉及Go语言的包管理，工作区模式，数据类型想关的知识点，包括类型内嵌，类型比较，类型转换，值移除，浮点，组合字面量以及字符串的处理等等。...

收起列表

视频：

4-1 为什么基础类面试题是必问的？ (03:02)

视频：

4-2 怎么准备技术面试才能事半功倍？ (06:17)

视频：

4-3 如何回答基础类面试题才能“打动”面试官？ (02:04)

视频：

4-4 Go包管理的方式有哪些？（一） (17:08)

视频：

4-5 Go包管理的方式有哪些？（二） (22:29)

视频：

4-6 如何使用内部包？（一） (15:12)

视频：

4-7 如何使用内部包？（二） (14:06)

视频：

4-8 Go 工作区模式 (04:56)

视频：

4-9 init() 函数是什么时候执行的？ (14:55)

视频：

4-10 Go语言中如何获取项目的根目录？ (22:32)

视频：

4-11 Go输出时 %v %+v %#v 有什么区别？（一） (15:36)

视频：

4-12 Go输出时 %v %+v %#v 有什么区别？（二） (18:57)

视频：

4-13 Go语言中new和make有什么区别？ (07:58)

试看

视频：

4-14 数组和切片有什么区别？（一） (13:05)

视频：

4-15 数组和切片有什么区别？（二） (22:18)

视频：

4-16 Go语言中双引号和反引号有什么区别？ (11:17)

视频：

4-17 strings.TrimRight和strings.TrimSuffix有什么区别？ (03:10)

视频：

4-18 数值类型运算后值溢出会发生什么？（一） (14:43)

视频：

4-19 数值类型运算后值溢出会发生什么？（二） (17:38)

视频：

4-20 Go语言中每个值在内存中只分布在一个内存块上的类型有哪些？ (11:10)

视频：

4-21 Go语言中哪些类型可以被内嵌？ (06:36)

第5章 GO语言基础篇（二）16 节 | 122分钟

本章主要带领小伙伴们夯实Go语言基础，从实际开发过程中一些容易出错的知识点出发，带领小伙伴们夯实Go开发的功底，轻松应该Go语言的初中级面试。主要涉及Go语言的包管理，工作区模式，数据类型想关的知识点，包括类型内嵌，类型比较，类型转换，值移除，浮点，组合字面量以及字符串的处理等等。...

收起列表

视频：

5-1 Go语言中哪些类型可以使用len？哪些类型可以使用cap？ (04:31)

视频：

5-2 Go语言中哪些类型的值可以用组合字面量表示？ (06:42)

视频：

5-3 Go语言的指针有哪些限制？ (19:00)

视频：

5-4 Go语言中哪些类型的零值可以用nil来表示？ (04:42)

视频：

5-5 Go语言中如何实现任意数值转换？ (04:34)

视频：

5-6 float或切片可以作为map类型的key吗？ (08:37)

视频：

5-7 Go 语言怎么使用变长参数函数？ (07:05)

视频：

5-8 调用函数传入结构体时，是传值还是传指针？ (15:36)

视频：

5-9 interface 可以比较吗 (10:36)

视频：

5-10 如何使一个结构体不能被比较？ (05:44)

视频：

5-11 DeepEqual()与bytes.Equal()比较切片时有何区别？ (03:50)

视频：

5-12 空 struct{} 有什么用？ (04:16)

视频：

5-13 处理Go语言中的错误，怎么才算最优雅？ (08:22)

视频：

5-14 如何判断两个对象是否完全相同？ (07:51)

视频：

5-15 使用两种方式判断一个对象是否拥有某个方法 (02:42)

视频：

5-16 大佬传授几招for range闭坑秘笈 (07:08)

第6章 Go语言高级特性篇16 节 | 181分钟

本节主要介绍了Go语言的一些高级特性。主要包含context的一些细节知识点，defer、channel底层结构和细节，还介绍了Go语言中的interface与面向对象编程。

收起列表

视频：

6-1 从容应对面试不得不掌握的Go 语言的高级特性 (06:03)

视频：

6-2 Go 语言 context 最佳实践 (22:14)

视频：

6-3 你在面试时，switch这些细节是不是被忽视了 (11:27)

视频：

6-4 defer底层数据结构是什么？ (11:54)

视频：

6-5 多个defer执行顺序是怎样的？在哪些场景使用？ (06:32)

视频：

6-6 打开10万个文件，如何使用defer关闭资源？ (04:36)

视频：

6-7 你需要了解的关于defer容易踩坑的地方 (21:37)

视频：

6-8 最容易被忽略的panic和recover的一些细节问题 (23:47)

视频：

6-9 channel 底层的数据结构是什么？ (16:14)

视频：

6-10 有缓冲的channel和无缓冲的channel有何区别 (17:14)

视频：

6-11 nil的channel发送和接收数据会发生什么？ (06:32)

视频：

6-12 关闭的channel发送和接收数据会发生什么？ (11:57)

视频：

6-13 如何通过interface实现鸭子类型？ (06:02)

视频：

6-14 Go语言支持重载吗？如何实现重写？ (03:52)

视频：

6-15 Go语言中如何实现继承？ (07:10)

视频：

6-16 Go语言中如何实现多态？ (03:02)

第7章 库与框架篇15 节 | 226分钟

本章节综合讲解一些Go语言中的一些实用的库和框架，包括http sever的执行过程及结合web服务的一些实际运用。还会介绍一些主流框架的特点，重点介介绍gin框架的一些实现原理。以及如何管理协程池。在一些细节点上会带着小伙们追一追源码。...

收起列表

视频：

7-1 那么多库和框架，这些才是我们需要重点掌握的 (06:38)

视频：

7-2 net／http启动http server的执行过程是怎样的？ (09:19)

视频：

7-3 go http server如何处理表单输入的？ (13:17)

视频：

7-4 go http server如何防止表单重复提交？ (04:39)

视频：

7-5 你用过哪些web框架，都有什么特点？ (08:37)

视频：

7-6 Gin中间件的实现原理 (24:04)

视频：

7-7 Gin是如何实现参数校验的？ (24:23)

视频：

7-8 Gin 如何加载静态资源？ (26:12)

视频：

7-9 如何使用cron实现定时任务？ (20:35)

视频：

7-10 如何使用mergo实现map与struct的互转？ (25:59)

视频：

7-11 如何使用ants管理 goroutine ？（二） (17:56)

视频：

7-12 如何使用ants管理 goroutine ？(一) (13:57)

视频：

7-13 如何优雅的关闭服务？ (09:07)

视频：

7-14 Go ORM中如何进行事务操作？ (07:38)

视频：

7-15 如何使用viper实现配置的动态监听？ (12:50)

第8章 Go runtime篇20 节 | 275分钟

7\. golang runtime是golang语言的核心特性之一，也是golang的优势之一.理解了golang的runtime可以更好地理解golang的内部工作原理和机制。而对golang runtime的理解和应用能力的考察可以在很大程度上衡量应聘者对golang的掌握程度，所以golang runtime在面试过程中出现的概率是很高的，我们应该重点准备。本章会重点介...

收起列表

视频：

8-1 为什么面试官那么喜欢问runtime类型的问题？ (02:59)

视频：

8-2 面对Go runtime类问题，教你几招轻松应对 (06:35)

视频：

8-3 Go编译过程是怎样的？（一） (16:49)

视频：

8-4 Go编译过程是怎样的？（二） (17:26)

视频：

8-5 Go 程序启动过程是怎样的？ (18:29)

视频：

8-6 常见的 GC 实现方式有哪些？ (11:11)

视频：

8-7 Go语言中的GC流程（一） (11:00)

视频：

8-8 Go语言中的GC流程（二） (14:55)

视频：

8-9 Go中并发的三色标记法具体是怎么实现的？ (11:22)

视频：

8-10 哪些情况下会触发GC？ (07:33)

视频：

8-11 哪些情况下容易发生内存泄漏？（一） (19:56)

视频：

8-12 哪些情况下容易发生内存泄漏？（二） (17:48)

视频：

8-13 GMP底层数据结构是怎样的？（一） (24:24)

视频：

8-14 GMP底层数据结构是怎样的？（二） (25:01)

视频：

8-15 GMP底层数据结构是怎样的？（三） (22:30)

视频：

8-16 GMP 调度流程是怎样的？ (26:07)

视频：

8-17 Gorutine的调度时机出现在哪些情况？ (05:53)

视频：

8-18 Go调度过程中的工作窃取分析 (06:08)

视频：

8-19 GMP 调度过程中哪些情况会出现阻塞？ (03:14)

视频：

8-20 time.Sleep(d)与←time.After(d)有何区别？ (05:07)

第9章 GO底层原理篇25 节 | 198分钟

8\. 本章主要带小伙伴们掌握Go语言本身的一些数据类型的底层实现的一些底层原理，主要针对高级Go开发者。主要包括Golang字符串的底层实现；字符串拼接的性能问题，字符串与byte之间的零拷贝转换以及字符串的内存泄露问题；切片的底层数据实现及扩容；map的底层数据实现及扩容；map的取址问题，空map和nil map的区别？并发...

收起列表

视频：

9-1 问得最多的底层原理是这些，大佬教你有针对性的去备战（加片头） (03:21)

视频：

9-2 怎样回答底层原理类问题才能证明自己真正掌握了？ (03:44)

视频：

9-3 String的底层存储结构 (12:31)

视频：

9-4 不同String拼接方式的性能分析 (11:43)

视频：

9-5 字符串切片导致的内存泄露分析 (11:58)

视频：

9-6 字符串转成 byte 切片，会发生内存拷贝吗？ (05:41)

视频：

9-7 slice 底层数据结构是什么？有什么特性？ (14:25)

视频：

9-8 slice是如何扩容的？ (07:24)

视频：

9-9 select 底层数据结构是什么?有什么特性? (08:35)

视频：

9-10 Go struct字段对齐 (08:24)

视频：

9-11 channel的底层实现原理是什么？ (09:21)

视频：

9-12 Goroutine与进程线程有何区别？ (06:08)

视频：

9-13 waitgroup实现原理是什么？ (08:24)

视频：

9-14 map的底层实现是什么？ (10:05)

视频：

9-15 map是如何扩容的？ (04:50)

视频：

9-16 map 中的 key 为什么是无序的？ (03:25)

视频：

9-17 为什么不能对map的元素取地址？ (01:23)

视频：

9-18 nil map 和空 map 有何不同？ (04:47)

视频：

9-19 map 中删除一个 key，它的内存会释放么？ (01:37)

视频：

9-20 map为什么会内存泄露？ (02:03)

视频：

9-21 如何在不加锁的情况下更新map的数据？ (01:57)

视频：

9-22 sync.Map的实现原理 (11:39)

视频：

9-23 Map、Slice作为参数传递会遇到什么问题？ (15:52)

视频：

9-24 揭开time.Duration的真实面目 (04:41)

视频：

9-25 sync 包的读写锁和互斥锁是怎么实现的？ (23:54)

第10章 GO并发编程篇25 节 | 275分钟

由于Go语言本身的特性，Go在并发编程上有着天然的优势。本章围绕工作中常用，面试中必考的协程和并发知识，原理和实操相辅相成，让小伙伴们掌握goroutine的原理，以及在并发编程过程中容易出现的一些误区。

收起列表

视频：

10-1 为什么并发编程是每个后端开发必须要掌握的？ (10:16)

视频：

10-2 Go的并发编程真的那么简单吗？ (09:44)

视频：

10-3 应该怎么回答并发编程类问题？ (06:09)

视频：

10-4 Go是怎么实现原子操作的？ (10:35)

视频：

10-5 原子操作和锁有什么区别？ (21:14)

视频：

10-6 Go可以限制运行时操作系统线程的数量吗？ (07:24)

视频：

10-7 如何避免Map的并发问题？ (11:40)

视频：

10-8 Golang如何控制并发数？ (09:25)

视频：

10-9 切片类型Slice是并发安全的吗？ (08:49)

视频：

10-10 如何实现整数类型的原子操作？ (05:29)

视频：

10-11 如何实现指针值的原子操作？ (18:44)

视频：

10-12 自旋锁是怎么实现的？ (07:17)

视频：

10-13 Mutex 是悲观锁还是乐观锁？ (10:34)

视频：

10-14 sync.Mutex 正常模式和饥饿模式有啥区别 (06:08)

视频：

10-15 如何使用channel实现互斥锁？ (12:56)

视频：

10-16 如何使用通道实现对http请求的限速？ (08:33)

视频：

10-17 Goroutine中闭包也有很多的“坑”，你平时注意到了吗 (21:02)

视频：

10-18 for循环中goroutine“坑”都在这里 (10:50)

视频：

10-19 并发编程误区之（一） (17:49)

视频：

10-20 并发编程误区（二） (06:29)

视频：

10-21 如何优雅的关闭通道？ (16:18)

视频：

10-22 什么是协程泄露？怎么预防？ (09:46)

视频：

10-23 Go 中主协程如何等待其他协程退出 (06:38)

视频：

10-24 Go中如何实现主协程永不退出？ (06:44)

视频：

10-25 Singleflight的实现原理和使用场景 (13:48)

第11章 Go性能优化篇15 节 | 167分钟

中高级程序员不仅要减少Bug的覆盖率，还要掌握高并发场景下的性能调优的手段和方法，性能优化是任何一个业务的核心开发都会遇到的问题，也是面试过程中大概率会被问到的问题，同时也是我们凸显自己实力的问题。本章节主要针对Go语言程序性能进行分析定位，同时也会综合介绍后端场景下的一些优化技巧。...

收起列表

视频：

11-1 性能优化是区分“小白”和“大佬”的分水岭 (05:18)

视频：

11-2 应对性能优化类面试题，应该这样做 (08:26)

视频：

11-3 如何使用benchmark进行性能测试？ (13:17)

视频：

11-4 如何使用pprof来定位性能问题？ (17:58)

视频：

11-5 如何使用Trace定位性能问题？ (10:23)

视频：

11-6 如何通过GODEBUG分析go schedule？ (04:51)

视频：

11-7 如何分析go代码的GC情况？ (06:27)

视频：

11-8 如何做内存逃逸分析？（一） (17:02)

视频：

11-9 如何做内存逃逸分析？（二） (16:12)

视频：

11-10 如何最高效率的克隆一个切片？ (15:48)

视频：

11-11 如何优化切片元素的删除？ (17:01)

视频：

11-12 降低值复制成本优化Go代码性能 (10:05)

视频：

11-13 如何实现字符串和byte切片的零拷贝转换？ (07:34)

视频：

11-14 如何优化json序列化的性能？ (09:19)

视频：

11-15 如何优化api接口的性能？ (06:42)

第12章 数据库与缓存篇64 节 | 731分钟

mysql和redis几乎是任何技术面试都会涉及的部分，一般会进行深入考察。 本章节以非关系型数据库/缓存数据库Redis为核心，主要从mysql的索引，锁，事务，隔离级别，redis集群及相关原理和实现细节等重难点出发，通过大量的图片讲解其中的原理，带领小伙伴们攻克这部分的核心知识点。...

收起列表

视频：

12-1 为什么数据库类的面试题是面试过程中的必考题？ (02:37)

视频：

12-2 应该怎么准备数据库类型的面试题？ (04:18)

视频：

12-3 MySQL 的 redo log 和 binlog有何 区别？（一） (16:28)

视频：

12-4 MySQL 的 redo log 和 binlog有何 区别？（二） (16:51)

视频：

12-5 redo log 写满会发生什么？（一） (13:41)

视频：

12-6 redo log 写满会发生什么？（二） (14:03)

视频：

12-7 binlog 什么时候刷盘？（一） (17:48)

视频：

12-8 binlog 什么时候刷盘？（二） (16:41)

视频：

12-9 为什么mysql8.0移除了查询缓存（一） (16:42)

视频：

12-10 为什么mysql8.0移除了查询缓存（二） (12:23)

视频：

12-11 索引的底层存储结构（一） (16:22)

视频：

12-12 索引的底层存储结构（二） (11:42)

视频：

12-13 索引的底层存储结构（六） (08:42)

视频：

12-14 索引的底层存储结构（三） (09:17)

视频：

12-15 索引的底层存储结构（四） (15:24)

视频：

12-16 索引的底层存储结构（五） (10:31)

视频：

12-17 聚集索引与辅助索引有什么区别？ (12:54)

视频：

12-18 为什么 MySQL InnoDB采用 B+ 树作为索引？ (15:21)

视频：

12-19 Mysql索引为什么是最左前缀原则？ (07:05)

视频：

12-20 索引覆盖和索引下推有什么区别？ (03:58)

视频：

12-21 哪些情况下会导致索引失效？ (12:00)

视频：

12-22 MySQL 使用 like “%x“，索引一定会失效吗？ (15:22)

视频：

12-23 唯一索引的数据就一定不会重复吗？ (05:52)

视频：

12-24 唯一索引一定比普通索引快吗？ (04:34)

视频：

12-25 为什么 MySQL 自增主键 ID 不连续？ (16:49)

视频：

12-26 count() ， count(1)和count(字段名)到底有什么区别？ (10:37)

视频：

12-27 char和varchar有什么区别（一） (14:42)

视频：

12-28 char和varchar有什么区别（二） (07:56)

视频：

12-29 事务的隔离级别有哪些？（一） (11:02)

视频：

12-30 事务的隔离级别有哪些？（二） (13:44)

视频：

12-31 事务的隔离级别有哪些？（三） (14:32)

视频：

12-32 彻底搞懂MySQL中的锁（一） (13:11)

视频：

12-33 彻底搞懂MySQL中的锁（二） (16:29)

视频：

12-34 彻底搞懂MySQL中的锁（三） (15:54)

视频：

12-35 彻底搞懂MySQL中的锁（四） (16:15)

视频：

12-36 彻底搞懂MySQL中的锁（五） (16:10)

视频：

12-37 彻底搞懂MySQL中的锁（六） (14:31)

视频：

12-38 彻底搞懂MySQL中的锁（七） (12:08)

视频：

12-39 彻底搞懂MySQL中的锁（八） (11:52)

视频：

12-40 彻底搞懂MySQL中的锁（九） (11:37)

视频：

12-41 更新数据时没加索引会锁全表吗？ (07:02)

视频：

12-42 什么情况下会出现幻读？ (09:18)

视频：

12-43 explain详解（一） (15:45)

视频：

12-44 explain详解（二） (15:32)

视频：

12-45 explain详解（三） (14:30)

视频：

12-46 千万级的数据表如何优化深度分页？（一） (11:53)

视频：

12-47 千万级的数据表如何优化深度分页？（二） (08:39)

视频：

12-48 谈谈SQL优化的经验（一） (09:36)

视频：

12-49 谈谈SQL优化的经验（二） (08:02)

视频：

12-50 面试必备的SQL语句（一） (09:08)

视频：

12-51 面试必备的SQL语句（二） (08:37)

视频：

12-52 面试必备的SQL语句（三） (06:16)

视频：

12-53 Redis有哪些持久化的方式，实现过程是怎样的？ (15:35)

视频：

12-54 如何避免缓存穿透，缓存雪崩和缓存击穿？.mp4 (09:51)

视频：

12-55 Redis 过期删除策略和内存淘汰策略有什么区别？.mp4 (04:17)

视频：

12-56 Redis 的过期数据会被立马删除吗？ (04:18)

视频：

12-57 Redis 内存满了，会发生什么？.mp4 (06:29)

视频：

12-58 Redis 持久化时，对过期键会如何处理的？.mp4 (03:23)

视频：

12-59 LRU 算法和 LFU 算法有什么区别？ (05:38)

视频：

12-60 Redis的大Key有什么影响？如何处理大 key？ (10:38)

视频：

12-61 Redis如何保证与数据库的双写一致性？ (12:06)

视频：

12-62 Redis 如何实现服务高可用？(一) (13:53)

视频：

12-63 Redis 如何实现服务高可用？（二） (08:31)

视频：

12-64 Redis 如何实现服务高可用？（三） (13:19)

第13章 Elasticsearch搜索篇16 节 | 186分钟

有应用的地方就有搜索，搜索的使用场景非常广泛。本节主要以Elasticsearch搜索引擎为基础，讲解Elasticsearch的原理以及在实际应用过程中的一些细节点。

收起列表

视频：

13-1 Elasticsearch是如何实现master选举的？（一） (12:39)

视频：

13-2 Elasticsearch是如何实现master选举的？（二） (13:53)

视频：

13-3 Elasticsearch是如何实现master选举的？（三） (12:56)

视频：

13-4 谈谈你对倒排索引的理解？ (11:54)

视频：

13-5 Elasticsearch是如何写入数据的？(一) (10:17)

视频：

13-6 Elasticsearch是如何写入数据的？（二） (10:16)

视频：

13-7 segment段为什么是不可变的？ (14:30)

视频：

13-8 term，match，match\_phrase查询有什么区别？ (15:10)

视频：

13-9 已索引的数据，使用match查不到可能原因有哪些？ (06:12)

视频：

13-10 ElasticSearch是如何实现高可用的？ (09:42)

视频：

13-11 ElasticSearch如何解决深分页问题？ (13:35)

视频：

13-12 ElasticSearch如何解决并发冲突问题？ (06:54)

视频：

13-13 部署ElasticSearch过程中需要对操作系统进行哪些配置？ (08:48)

视频：

13-14 如何使用Go操作Elasticsearch？(一) (15:36)

视频：

13-15 如何使用Go操作Elasticsearch？(二) (06:52)

视频：

13-16 怎么优化ElasticSearch性能？ (16:09)

第14章 消息中间件篇20 节 | 146分钟

kafka作为当下最受欢迎的消息中间件，面试中出现的频率非常高，特别是大厂，而且面试题越来越有深度。本章从日常使用过程中遇到的具有代表性的一些问题出发，深入kafka的底层原理，让小伙伴们收获知识的同时更好的应对面试。...

收起列表

视频：

14-1 为什么后端面试中消息中间件的出现频率越来越高？ (03:26)

视频：

14-2 怎么回答消息中间类型的面试题？ (03:00)

视频：

14-3 哪些场景下需要考虑引入消息中间件？各种消息中间件应该怎么选？ (14:32)

视频：

14-4 kafka 为什么会有很高的吞吐性能？ (11:01)

视频：

14-5 Kafka为什么使用page cache管理缓存数据而不是自己管理？ (04:43)

视频：

14-6 kafka的数据是如何存储的？ (12:18)

视频：

14-7 kafka是如何写入数据的？ (12:13)

视频：

14-8 消费组的重平衡的过程是怎样的？ (04:07)

视频：

14-9 如何避免消费组的重平衡？ (03:54)

视频：

14-10 kafka topic删除的流程是怎样的？ (05:15)

视频：

14-11 什么是位移主题，有什么用？ (04:37)

视频：

14-12 位移提交有哪些方式？ (03:29)

视频：

14-13 幂等生产者和事务生产者有什么区别？ (06:34)

视频：

14-14 如何做到消息的有序性？ (03:49)

视频：

14-15 kafka发送消息的方式有哪些？ (04:57)

视频：

14-16 kafka是如何实现高可用的？ (02:51)

视频：

14-17 Kafka 到底会不会丢数据？ (12:55)

视频：

14-18 kafka 如何避免重复消费？ (08:48)

视频：

14-19 kafka出现消息堆积应该怎么办？ (11:42)

视频：

14-20 使用Go操作Kafka有哪些需要注意的地方？ (11:15)

第15章 微服务篇 19 节 | 110分钟

微服务已然成为大厂主流，作为简历上的亮点和加分项，让小伙伴们掌握作为后端开发者需要掌握的微服务的核心知识，体现我们作为后端开发的额外价值。

收起列表

视频：

15-1 微服务面试中有哪些要点是必须掌握的？ (06:04)

视频：

15-2 微服务的优缺点分别是什么？ (14:48)

视频：

15-3 SOA和微服务架构有什么区别？ (03:59)

视频：

15-4 如何确定微服务架构的拆分粒度？ (08:24)

视频：

15-5 微服务有哪些设计原则？ (05:05)

视频：

15-6 微服务化过程中有哪些注意点？ (06:43)

视频：

15-7 微服务治理的手段有哪些？ (07:26)

视频：

15-8 微服务的容错设计 (09:42)

视频：

15-9 限流有哪些实现方式？ (02:54)

视频：

15-10 如何对整个调用链做超时控制？ (05:00)

视频：

15-11 Prometheus的四种指标类型 (08:19)

视频：

15-12 Docker的底层原理 (03:38)

视频：

15-13 Docker 与 LXC有何不同？ (05:38)

视频：

15-14 Docker Image 和 Docker Layer （层) 有什么不同？ (02:01)

视频：

15-15 简述 K8s 的优势、使⽤场景及其特点？ (08:25)

视频：

15-16 简述 K8s 创建⼀个 Pod 的主要流程？ (04:06)

视频：

15-17 K8s中pod的状态有哪些？怎么查看？ (02:33)

视频：

15-18 K8s中什么是静态 Pod？ (02:40)

视频：

15-19 简述 K8s中 Pod 的健康检查⽅式？ (02:21)

第16章 GO语言设计模式篇内容更新中

设计模式主要用来考察求职者面向对象的编程思想，对于经常“搬砖”的业务型开发者，很容易忽视这部分的知识。本章从实际的使用场景出发，让小伙伴们能掌握Go语言中常见的一些设计模式。

第17章 GO语言数据结构与算法篇内容更新中

数据结构与算法是编程领域的基石，它的稳定与否直接决定了大楼的高度。同时也是大厂面试的必备部分。而算法想关的面试也是技术面试的重灾区。本章主要是带领小伙伴们理清数据结构与算法面试的一些出题规律，掌握应对这类面试题的技巧。...

第18章 Linux、操作系统与网络篇内容更新中

linux是任何技术面试都会涉及的部分，也是大部分后端业务开发同学的弱项。本章主要从实用的角度来讲解开发中涉及到的技能，同时穿插大厂高频考点及各种“变种”题型，带领小伙伴们增长技能的同时对操作系统和网络有更加深入的理解。...

第19章 基于GO语言的多种场景项目案例篇内容更新中

本节从实际项目案例出发，通过剖析互联网真实案例：电商、企业网盘、微博等，讲解一些典型的海量数据和高并发场景下的系统设计，让项目经历比较少的学员能积累更多的项目经验 ，有效提高面试通过率。

第20章 突破层层关卡，做正确的判断与选择内容更新中

从简历到入职，全流程备战面试，让学员更高效的准备技术面试，重点掌握面试技巧以及对学员冰山以下部分素质的考察。

第21章 GO面试课程总结内容更新中

本章节主要对课程全部内容进行串讲，梳理重、难点等。

本课程持续更新中