万本电子书0元读

万本电子书0元读

顶部广告

Go程序员面试笔试宝典电子书

内容精良:系统覆盖Go语言基础、语言类库和高级特性三大技术主题,精准定位Go语言学习痛,系统化提升求职效率。 资源丰富:提供780分钟Go语言核心知识学习视频。 重剖析:涵盖Go调度器源码分析、顺序程间通信(CSP)原理、泛型的历史及实战、可靠性测试等高频考。

售       价:¥

纸质售价:¥71.50购买纸书

199人正在读 | 0人评论 6.6

作       者:猿媛之家

出  版  社:机械工业出版社

出版时间:2022-05-17

字       数:16.9万

所属分类: 科技 > 计算机/网络 > 软件系统

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Go语言是一门既年轻、简捷,又强大、高效、充满潜力的服务器语言。《Go程序员面试笔试宝典》使用浅显易懂的语言与大量流程图,深介绍了Go语言。全书分为三大部分:第1部分(1~5章)为Go语言基础。介绍了Go 语言中基础、常见的逃逸分析、defer 延迟语句、切片、数组、散列表、通道和口。第2部分(6~11章)为Go语言类库。介绍了Go语言自身的类库,如unsafe、context、错误、计时器、反射和sync包。第3部分(12~14章)为Go语言高级特性。介绍了调度、内存分配、GC,从原理到源码分析,逐渐深。这三大部分是runtime 中重要、核心的内容,理解了这三者的原理,才算是对Go语言有了一个比较深的理解和掌握。    《Go程序员面试笔试宝典》是一本计算机相关专业毕业生面试笔试求职参考书,同时也适合有一定工作经验的发工程师一步提升自身水平。<br/>【推荐语】<br/>内容精良:系统覆盖Go语言基础、语言类库和高级特性三大技术主题,精准定位Go语言学习痛,系统化提升求职效率。 资源丰富:提供780分钟Go语言核心知识学习视频。 重剖析:涵盖Go调度器源码分析、顺序程间通信(CSP)原理、泛型的历史及实战、可靠性测试等高频考。<br/>【作者】<br/>饶全成,中科院计算所毕业,国内知名互联网大厂后端高级研发工程师,Go语言爱好者,公众号“码农桃花源”作者,Go夜读核心成员,design核心成员。 欧长坤,现为德国慕尼黑大学博士研究员,Go语言组织成员,Go语言中国贡献者俱乐部成员,Go夜读核心成员,design创建者之一,业余活跃在源社区。<br/>
目录展开

前 言

第1部分 语言基础

第1章 逃逸分析

1.1 逃逸分析是什么

1.2 逃逸分析有什么作用

1.3 逃逸分析是怎么完成的

1.4 如何确定是否发生逃逸

1.5 Go与C/C++中的堆和栈是同一个概念吗

第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 如何让编译器自动检测类型是否实现了接口

第2部分 语言类库

第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底层原理是什么

第8章 错误

8.1 接口error是什么

8.2 接口error有什么问题

8.3 如何理解关于error的三句谚语

8.4 错误处理的改进

第9章 计时器

9.1 Timer底层数据结构为什么用四叉堆而非二叉堆

9.2 Timer曾做过哪些重大的改进

9.3 定时器的使用场景有哪些

9.4 Timer/Ticker的计时功能有多准确

9.5 定时器的实现还有其他哪些方式

第10章 反射

10.1 反射是什么

10.2 什么情况下需要使用反射

10.3 Go语言如何实现反射

10.4 如何比较两个对象是否完全相同

10.5 如何利用反射实现深度拷贝

第11章 同步模式

11.1 等待组sync.WaitGroup的原理是什么

11.2 缓存池sync.Pool

11.3 并发安全散列表sync.Map

第3部分 高级特性

第12章 调度机制

12.1 goroutine和线程有什么区别

12.2 Go sheduler是什么

12.3 goroutine的调度时机有哪些

12.4 M:N模型是什么

12.5 工作窃取是什么

12.6 GPM底层数据结构是怎样的

12.7 scheduler的初始化过程是怎样的

12.8 主goroutine如何被创建

12.9 g0栈和用户栈如何被切换

12.10 Go schedule循环如何启动

12.11 goroutine如何退出

12.12 schedule循环如何运转

12.13 M如何找工作

12.14 系统监控sysmon后台监控线程做了什么

12.15 异步抢占的原理是什么

第13章 内存分配机制

13.1 管理内存的动机是什么,通常涉及哪些组件

13.2 Go语言中的堆和栈概念与传统意义上的堆和栈有什么区别

13.3 对象分配器是如何实现的

13.4 页分配器是如何实现的

13.5 与内存管理相关的运行时组件还有哪些

13.6 衡量内存消耗的指标有哪些

13.7 运行时内存管理的演变历程

第14章 垃圾回收机制

14.1 垃圾回收的认识

14.2 垃圾回收机制的实现细节

14.3 垃圾回收的优化问题

14.4 历史及演进

结束语

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部