Go程序员面试笔试宝典

Go程序员面试笔试宝典

  • 大小:74.4 MB
  • 类型:Go语言
  • 格式:PDF
  • 出版:机械工业出版社
  • 作者:饶全成、欧长坤、楚秦
  • 更新:2022-09-05 11:48:13
vip 免费获取(已有165人参与)
关注公众号免费送书
版权投诉 / 资源反馈(本资源由用户 詹如风 投稿)

编辑推荐 内容精良:系统覆盖Go语言基础、语言类库和高级特性三大技术主题,精准定位Go语言学习痛点,系统化提升求职效率。 资源丰富:提供780分钟Go语言核心知识点学习视频。 重点剖析:涵盖Go调度器源码分析、顺序进程间通信(CSP)原理、泛型的历史及实战、可靠性测试等高频考点。 内容简介 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程序员面试笔试宝典》是一本计算机相关专业毕业生面试笔试求职参考书,同时也适合有一定工作经验的开发工程师进一步提升自身水平。 目录 前言 第1部分 语 言 基 础 第1章逃逸分析/2 1.1逃逸分析是什么/2 1.2逃逸分析有什么作用/3 1.3逃逸分析是怎么完成的/3 1.4如何确定是否发生逃逸/4 1.5Go与C/C 中的堆和栈是同一个概念吗/5 第2章延迟语句/6 2.1延迟语句是什么/6 2.2延迟语句的执行顺序是什么/7 2.3如何拆解延迟语句/9 2.4如何确定延迟语句的参数/10 2.5闭包是什么/11 2.6延迟语句如何配合恢复语句/11 2.7defer链如何被遍历执行/13 2.8为什么无法从父goroutine恢复子goroutine的panic/18 第3章数据容器/20 3.1数组与切片/20 3.1.1数组和切片有何异同/20 3.1.2切片如何被截取/20 3.1.3切片的容量是怎样增长的/23 3.1.4切片作为函数参数会被改变吗/27 3.1.5内建函数make和new的区别是什么/28 3.2散列表map/29 3.2.1map 是什么/29 3.2.2map 的底层实现原理是什么/30 3.2.3map 中的 key 为什么是无序的/50 3.2.4map 是线程安全的吗/50 3.2.5float类型可以作为map的key吗/50 3.2.6map 如何实现两种 get 操作/52 3.2.7如何比较两个 map 是否相等/53 3.2.8可以对 map 的元素取地址吗/54 3.2.9可以边遍历边删除吗/54 第4章通道/55 4.1CSP是什么/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.1Go接口与C 接口有何异同/82 5.2Go语言与鸭子类型的关系/82 5.3iface和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.1context是什么/108 7.2context有什么作用/108 7.3如何使用context/109 7.3.1传递共享的数据/109 7.3.2定时取消/111 7.3.3防止 goroutine 泄漏/111 7.4context底层原理是什么/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.1Timer底层数据结构为什么用四叉堆而非二叉堆/133 9.2Timer曾做过哪些重大的改进/134 9.3定时器的使用场景有哪些/134 9.4Timer/Ticker 的计时功能有多准确/134 9.5定时器的实现还有其他哪些方式/137 第10章反射/140 10.1反射是什么/140 10.2什么情况下需要使用反射/140 10.3Go语言如何实现反射/140 10.3.1types 和 interface/141 10.3.2反射的基本函数/144 10.3.3反射的三大定律/149 10.4如何比较两个对象是否完全相

相关资源

  • Visual Basic程序设计教程

    Visual Basic程序设计教程 课后答案

    大小:314 KBVisual Basic课后答案

  • C Primer Plus 5th Edition

    C Primer Plus 5th Edition 课后答案

    大小:13.5 MBC Primer课后答案

  • 《Adobe Illustrator CC 2018中文版经典教程(彩色版)》配套资源

    《Adobe Illustrator CC 2018中文版经典教程(彩色版)》配套资源

    编辑推荐 ● ADOBE官方**教程 ● Adobe公司推出的经典教程 ● 畅销全球20年的****图书 ● 在全世界以27种语言火爆发行 全面、系统、 简单 、易学的Adobe Illustrator CC 教程 《Adobe Illustrator CC 2018中文版经典教程(彩色版)》由Adobe公司的产品专家编写,是备受读者欢迎的Adobe 专业软件培训教材。 内容简介 本书是 Adobe Illustrator CC 2018 软件的正规学习用书。全书包括 15 课,涵盖了了解工作区, 选择图

    大小:133.12 MBAdobe配套资源

  • 《易学C++》源代码

    《易学C++》源代码

    内容介绍 本书是为C++程序设计学习者量身订做的辅导书。全书分为3篇。第一篇介绍了面向过程的程序设计,主要有基本语句、语法基础、函数机制和数据类型等内容。第二篇介绍了一些实用编程技巧,内容包括阅读代码、调试程序和简单的编程思想。第三篇介绍了面向对象的程序设计,主要有类和对象、对象生灭、友元、继承等内容。书中常以形象的比喻来解释程序设计中的概念,通俗易懂,令读者印象深刻,更快地进入C++程序设计的大门。本书的内

    大小:2027.92 KBC++配套资源

  • Java面试宝典

    目录 1. Java 基础部分................................................................................................................... 10 1、一个.java源文件中是否可以包括多个类(不是内部类)?有什么限制?........ 10 2、Java 有没有 goto? ........................................................

    大小:1.20 MBJava面试

  • 《UI图标设计:从入门到精通 第2版》资料素材

    《UI图标设计:从入门到精通 第2版》资料素材

    编辑推荐 内容精炼 新手必读 实例典型,针对性强 逐步操作,易学易练 《UI图标设计:从入门到精通(第 2版)》从UI图标设计流程、图标创意原则、图标设计与软件操作、扁平化图标设计、质感图标的设计、用户角色图标设计到拟物化图标设计逐一讲解,使读者由浅入深,逐步了解使用Photoshop制作图标的整体设计思路和制作过程。 《UI图标设计:从入门到精通(第 2版)》分为10章,结合实例展示操作方法与处理效果,全面系统地阐述了UI的设计理念、

    大小:37.85 MBUI设计配套资源

  • 《网页制作教程(第2版)》素材,教案

    《网页制作教程(第2版)》素材,教案

    内容简介 本书按照项目教学法组织教学内容。全书由8个项目构成,主要内容包括网页制作基础、Dreamweaver 8基本操作、网页布局与批量制作、网页版面设计与制作、网页动态效果的制作、优秀网站赏析、制作ASP应用程序以及制作保护动物网页。通过这些内容的学习,读者可以掌握使用Photoshop、Flash和Dreamweaver制作网页的基本知识和方法。 本书可作为中等职业学校网页设计与制作课程的教材,也可以作为网页设计爱好者的入门用书。 目录 项目一 网页制作

    大小:48 MB网页制作配套资源

  • 量化投资:以Python为工具(课后答案PDF+代码+数据)

    量化投资:以Python为工具(课后答案PDF+代码+数据)

    《量化投资:以Python为工具》主要讲解量化投资的思想和策略,并借助Python 语言进行实战。这里带来书籍中所有课后练习题、代码及其使用的相关数据文件,主要练习基本的量化策略和基本语法,学习python的基础函数和基本功能的实现。 由浅入深的为读者讲解了Python语言和Python量化的重要操作知识点,可以快速的帮助用户完成Python语言的入门,了解并掌握Python语言和Python量化,非常适合编程初学者和Python零基础者下载阅读学习。 目录 第1 部分Python 入门

    大小:117 MB量化投资

参与送书

相关声明:

学习笔记