老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Go语言面试题分享:(选择题10道) 北京老男孩go怎么学?(3)

老男孩IT教育

技术博客

2019年11月27日 11:12

随着Go语言自身的逐渐优化及Go语言社区的不断发展壮大,相信go一定会拥有广阔的未来。go面试题10道

Go语言面试题分享:(选择题10道)

1、关于init函数,下面说法正确的是( )

A. 一个包中,可以包含多个init函数

B. 程序编译时,先执行导入包的init函数,再执行本包内的init函数

C. main包中,不能有init函数

D. init函数可以被其他函数调用

参考答案:AB

2、golang中没有隐藏的this指针,这句话的含义是( )

A. 方法施加的对象显式传递,没有被隐藏起来

B. golang沿袭了传统面向对象编程中的诸多概念,比如继承、虚函数和构造函数

C. golang的面向对象表达更直观,对于面向过程只是换了一种语法形式来表达

D. 方法施加的对象不需要非得是指针,也不用非得叫this

参考答案:ACD

3、golang中的引用类型包括( )

A. 数组切片 B. map C. channel D. interface

参考答案:ABCD

4、golang中的指针运算包括( )

A. 可以对指针进行自增或自减运算

B. 可以通过“&”取指针的地址

C. 可以通过“*”取指针指向的数据

D. 可以对指针进行下标运算

参考答案:BC

5、下面赋值正确的是( )

A. var x = nil

B. var x interface{} = nil

C. var x string = nil

D. var x error = nil

参考答案:BD

go语言面试题 北京老男孩为什么学习go语言

6、关于整型切片的初始化,下面正确的是( )

A. s := make([]int)

B. s := make([]int, 0)

C. s := make([]int, 5, 10)

D. s := []int{1, 2, 3, 4, 5}

参考答案:BCD

7、关于GoMock,下面说法正确的是( )

A. GoMock可以对interface打桩

B. GoMock可以对类的成员函数打桩

C. GoMock可以对函数打桩

D. GoMock打桩后的依赖注入可以通过GoStub完成

参考答案:AD

8、关于接口,下面说法正确的是( )

A. 只要两个接口拥有相同的方法列表(次序不同不要紧),那么它们就是等价的,可以相互赋值

B. 如果接口A的方法列表是接口B的方法列表的子集,那么接口B可以赋值给接口A

C. 接口查询是否成功,要在运行期才能够确定

D. 接口赋值是否可行,要在运行期才能够确定

参考答案:ABC

9、golang中大多数数据类型都可以转化为有效的JSON文本,下面几种类型除外( )

A. 指针 B. channel C. complex D. 函数

参考答案:BCD

10、关于go vendor,下面说法正确的是( )

A. 基本思路是将引用的外部包的源代码放在当前工程的vendor目录下面

B. 编译go代码会优先从vendor目录先寻找依赖包

C. 可以指定引用某个特定版本的外部包

D. 有了vendor目录后,打包当前的工程代码到其他机器的$GOPATH/src下都可以通过编译

参考答案:ABD

 

老男孩it教育自2017年6月便开办了go语言开发的周末班培训课程,若有想要了解go学习课程的,可前往老男孩教育咨询。

 

点击查看往期面试题:

Go语言面试题分享:(10道选择题)老男孩go语言培训(1)

Go语言面试题分享:(选择题11道)北京老男孩go培训(2)

Go语言面试题分享:(选择题10道) 北京老男孩go怎么学?(3)

Go语言面试题分享:(选择题11道) 北京老男孩go开发(4)

Go语言面试题分享:(判断题14道) 北京go语言要怎么学?(5)

 

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。