由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
诺森Go程序员面试笔试宝典猿媛之家9787111702429机械工业出版社
¥ ×1
前言
部分 语 言 基 础
章 逃逸分析/2
1.1 逃逸分析是什么/2
1.2 逃逸分析有什么作用/3
1.3 逃逸分析是怎么完成的/3
1.4 如何确定发生逃逸/4
1.5 Go与C/C++中的堆和栈是同一个概念吗/5
第2章 延迟语句/6
2.1 延迟语句是什么/6
2.2 延迟语句的执行顺序是什么/7
. 如何拆解延迟语句/9
2.4 如何确定延迟语句的参数/10
2.5 闭包是什么/11
2.6 延迟语句如何配合恢复语句/11
2.7 defer链如何被遍历执行/13
2.8 为什么无法从父goroutine恢复子goroutine的panic/18
第3章 数据容器/20
3.1 数组与切片/20
3.1.1 数组和切片有何异同/20
3.1.2 切片如何被截取/20
3.1.3 切片的容量是怎样增长的/
3.1.4 切片作为函数参数会被改变吗/27
3.1.5 内建函数make和new的区别是什么/28
3.2 散列表map/29
3.2.1 map 是什么/29
3.2.2 map 的底层实现原理是什么/30
3.. map 中的 key 为什么是无序的/50
3.2.4 map 是线程安全的吗/50
3.2.5 float类型可以作为map的key吗/50
3.2.6 map 如何实现两种 get 操作/52
3.2.7 如何比较两个 map 相等/53
3.2.8 可以对 map 的元素取地址吗/54
3.2.9 可以边遍历边删除吗/54
第4章 通道/55
4.1 CSP是什么/55
4.2 通道有哪些应用/56
4.3 通道的底结构/57
4.3.1 数据结构/57
4.3.2 创建过程/58
4.3.3 接收过程/60
4.3.4 发送过程/67
4.3.5 收发数据的本质/72
4.4 通道的关闭过程发生了什么/74
4.5 从一个关闭的通道里仍然能读出数据吗/75
4.6 如何优雅地关闭通道/76
4.7 关于通道的happens-before有哪些/79
4.8 通道在什么情况下会引起资源泄漏/81
4.9 通道操作的情况总结/81
第5章 接口/82
5.1 Go接口与C++接口有何异同/82
5.2 Go语言与“鸭子类型”的关系/82
5.3 iface和eface的区别是什么/84
5.4 值接收者和指针接收者的区别/86
5.4.1 方法/86
5.4.2 值接收者和指针接收者/87
5.4.3 两者分别在何时使用/89
5.5 如何用interface实现多态/89
5.6 接口的动态类型和动态值是什么/91
5.7 接口转换的原理是什么/93
5.8 类型转换和断言的区别是什么/96
5.9 如何让编译器自动检测类型实现了接口/101
第2部分 语 言 类 库
第6章 unsafe/104
6.1 如何利用unsafe包修改私有成员/104
6.2 如何利用unsafe获取slice和map的长度/105
6.3 如何实现字符串和byte切片的零复制转换/106
第7章 context/108
7.1 context是什么/108
7.2 context有什么作用/108
7.3 如何使用context/109
7.3.1 传递共享的数据/109
7.3.2 定时取消/111
7.3.3 防止 goroutine 泄漏/111
7.4 context底层原理是什么/112
7.4.1 接口/113
7.4.2 结构体/114
第8章 错误/124
8.1 接口error是什么/124
8.2 接口error有什么问题/125
8.3 如何理解关于error的三句谚语/126
8.3.1 视错误为值/126
8.3.2 检查并优雅地处理错误/128
8.3.3 只处理错误一次/130
8.4 错误处理的改进/131
第9章 计时器/133
9.1 Timer底层数据结构为什么用四叉堆而非二叉堆/133
9.2 Timer曾做过哪些重大的改进/134
9.3 定时器的使用场景有哪些/134
9.4 Timer/Ticker 的计时功能有多准确/134
9.5 定时器的实现还有哪些方式/137
0章 反/140
10.1 反是什么/140
10.2 什么情况下需要使用反/140
10.3 Go语言如何实现反/140
10.3.1 types 和 interface/141
10.3.2 反的基本函数/144
10.3.3 反的三大定律/149
10.4 如何比较两个对象完全相同/149
10.5 如何利用反实现深度拷贝/151
1章 同步模式/154
11.1 等待组 sync.WaitGroup 的原理是什么/154
11.2 缓存池 sync.Pol/57
11.2.1 如何使用sync.Pol/57
11.2.2 sync.Pool 是如何实现的/162
11.3 并发安全散列表 sync.Map/174
11.3.1 如何使用 sync.Map/175
11.3.2 sync.Map 底层如何实现/176
第3部分 高 级 特
2章 调度机制/184
12.1 goroutine 和线程有什么区别/184
12.2 Go sheduler 是什么/184
1. goroutine 的调度时机有哪些/186
12.4 M:N模型是什么/187
12.5 工作窃取是什么/187
12.6 GPM底层数据结构是怎样的/188
12.7 scheduler 的初始化过程是怎样的/193
12.8 主 goroutine 如何被创建/207
12.9 g0栈和用户栈如何被切换/212
12.10 Go schedule循环如何启动/217
12.11 goroutine如何退出/2
1.饶全成,计算所,国内知名互联网大厂后端不错研发,Go语言爱好者,公众号“码农桃花源”作者,Go夜读核心成员,golang.design核心成员。2.欧长坤,现为德国慕尼黑大学博士研究员,Go语言组织成员,Go语言中国贡献者俱乐部成员,Go夜读核心成员,golang.design创建者之一,业余活跃在开源社区。
Go语言资深研发带你轻松搞定笔试面试那些事儿
Go语言是一门既年轻、简捷,又强大、高效、充满潜力的服务器语言。《Go程序员面试笔试宝典》使用浅显易懂的语言与大量流程图,深入介绍了Go语言。全书分为三大部分:部分(1~5章)为Go语言基础。介绍了Go 语言中*基础、*常见的逃逸分析、defer 延迟语句、切片、数组、散列表、通道和接口。第2部分(6~11章)为Go语言类库。介绍了Go语言自身的类库,如unsafe、context、错误、计时器、反和sync包。第3部分(12~14章)为Go语言高级特。介绍了调度、内存分配、GC,从原理到源码分析,逐渐深入。这三大部分是runtime 中*重要、*核心的内容,理解了这三者的原理,才算是对Go语言有了一个比较深入的理解和掌握。
《Go程序员面试笔试宝典》是一本计算机相关专业生面试笔试求职参考书,同时也适合有一定工作经验的开发进一步提升自身水平。
1. 内容精良:系统覆盖Go语言基础、语言类库和不错特三大技术主题,精准定位Go语言学习痛点,系统化提升求职效率。2. 资源丰富:提供780分钟Go语言核心知识点学习视频。3. 重点剖析:涵盖Go调度器源码分析、顺序进程间通信(CSP)原理、泛型的历史及实战、可靠测试等高频考点。
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格