Ezreal 书架 Ezreal 书架
Home
  • 《Go程序员面试笔试宝典》
  • 《RabbitMQ 实战指南》
  • 《深入理解kafka》
  • MySQL45讲
  • 透视HTTP协议
  • 结构化数据的分布式存储系统
  • Raft 共识算法
Home
  • 《Go程序员面试笔试宝典》
  • 《RabbitMQ 实战指南》
  • 《深入理解kafka》
  • MySQL45讲
  • 透视HTTP协议
  • 结构化数据的分布式存储系统
  • Raft 共识算法
  • 逃逸分析

    • 逃逸分析是什么
    • 逃逸分析有什么作用
    • 逃逸分析是怎么完成的
    • 如何确定是否发生逃逸
    • Go与其他语言的堆和栈是同一个概念吗
  • 延迟语句

  • 数据容器

  • 通道

  • 接口

  • unsafe

  • context

《Go程序员面试笔试宝典》
Go程序员面试笔试宝典
目录
# 1. 逃逸分析
1-1. 逃逸分析是什么 1-2. 逃逸分析有什么作用 1-3. 逃逸分析是怎么完成的 1-4. 如何确定是否发生逃逸 1-5. Go与其他语言的堆和栈是同一个概念吗
# 2. 延迟语句
2-1. 延迟语句是什么 2-2. 延迟语句的执行顺序是什么 2-3. 如何拆解延迟语句 2-4. 如何确定延迟语句的参数 2-5. 闭包是什么 2-6. 延迟语句如何配合恢复语句 2-7. defer 链如何被遍历执行 2-8. 为什么无法从父 goroutine 恢复子 goroutine 的 panic
# 3. 数据容器
3-1. 数组与切片 3-2. 散列表map
# 4. 通道
4-1. CSP是什么 4-2. 通道有哪些应用 4-3. 通道的底结构 4-4. 通道的关闭过程发生了什么 4-5. 从一个关闭的通道里仍然能读出数据吗 4-6. 如何优雅地关闭通道 4-7. 关于通道的 happens-before 有哪些 4-8. 通道在什么情况下会引起资源泄漏 4-9. 通道操作的情况总结
# 5. 接口
5-1. Go 接口与 C++接口有何异同 5-2. Go 语言与“鸭子类型”的关系 5-3. iface 和 eface 的区别是什么 5-4. 值接收者和指针接收者的区别 5-5. 如何用 interface 实现多态 5-6. 接口的动态类型和动态值是什么 5-7. 接口转换的原理是什么 5-8. 类型转换和断言的区别是什么 5-9. 如何让编译器自动检测类型是否实现了接口
# 6. unsafe
6-1. 如何利用 unsafe 包修改私有成员 6-2. 如何利用 unsafe 获取 slice 和 map 的长度 6-3. 如何实现字符串和 byte 切片的零复制转换
# 7. context
7-1. context 是什么 7-2. context 有什么作用 7-3. 如何使用 context 7-4. context 底层原理是什么
目录

Go 语言是一门既年轻、简捷,又强大、高效、充满潜力的服务器语言。 本书使用浅显易懂的语言与大量流程图,深入介绍了 Go 语言。全书分为三 大部分:第 1 部分(1~5 章)为 Go 语言基础。介绍了 Go 语言中最基础、 最常见的逃逸分析、defer 延迟语句、切片、数组、散列表、通道和接口。 第 2 部分(6~11 章)为 Go 语言类库。介绍了 Go 语言自身的类库,如 unsafe、 context、错误、计时器、反射和 sync 包。第 3 部分(12~14 章)为 Go 语言高级特性。介绍了调度、内存分配、GC,从原理到源码分析,逐渐深入。 这三大部分是 runtime 中最重要、最核心的内容,理解了这三者的原理,才算是对 Go 语言有了一个比较深入的理解和掌握。

本书是一本计算机相关专业毕业生面试笔试求职参考书,同时也适合有一定工作经验的开发工程师进一步提升自身水平。

# 作者的其他技术分享视频

主题 作者 观看链接
Go defer 和逃逸分析 (opens new window) 饶全成 YouTuBe (opens new window), Bilibili (opens new window)
Go map 源码阅读 (opens new window) 饶全成 YouTuBe (opens new window), Bilibili (opens new window)
Go Scheduler 源码阅读 (opens new window) 饶全成 YouTuBe (opens new window), Bilibili (opens new window)
Go channel & select 源码阅读 (opens new window) 欧长坤 YouTuBe (opens new window), Bilibili (opens new window)
CSP 理解顺序进程间通信 (opens new window) 欧长坤 YouTuBe (opens new window), Bilibili (opens new window)
真实世界中的 Go 程序并发错误 (opens new window) 欧长坤 YouTuBe (opens new window), Bilibili (opens new window)
Go 1.14 time.Timer 源码分析 (opens new window) 欧长坤 YouTuBe (opens new window), Bilibili (opens new window)
Go 2 泛型预览 (opens new window) 欧长坤 YouTuBe (opens new window), Bilibili (opens new window)
对 Go 程序进行可靠的性能测试 (opens new window) 欧长坤 YouTuBe (opens new window), Bilibili (opens new window)
Go 1.18 的泛型 (opens new window) 欧长坤 YouTuBe (opens new window), Bilibili (opens new window)
#Golang
上次更新: 6/2/2023, 3:13:22 PM
最近更新
01
为什么我的MySQL会抖一下
07-15
02
HTTP 性能优化面面观
07-12
03
WebSocket:沙盒里的 TCP
07-12
更多文章>
Theme by Vdoing | Copyright © 2022-2024 Ezreal Rao | CC BY-NC-SA 4.0
豫ICP备2023001810号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式