面试网> 面试题库 > IT面试题 > Golang面试宝典:这40道题一定要会!

Golang面试宝典:这40道题一定要会!

面试网2019/11/30 10:28:480人围观
简介Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入...

    Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

    Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。

    而正在准备golang面试的小伙伴,很荣幸,你能看到这篇文章,希望每一个看到这篇分享的小伙伴都能找到自己称心如意的工作!

第1题:什么是golang?

    go是一个开源的编程语言,由谷歌开发的。这门语言是设计用来做系统级的编程的。

第2题:为什么要用golang?

    简单点说就是go是一个开源的编程语言,它很容易用来编写简单, 可靠,有效的软件。

第3题:是谁开发了go语言?

    Robert Griesemer, Rob Pike, Ken Thompson.

第4题:go编程中的packages是什么?

    Go语言的最小集合就是package,它的程序入口是main package。

第5题:Go语言是否支持generic编程?

    不支持。

第6题:go语言是大小写敏感的编程语言吗?

    是的。

第7题:go语言里面字符串的语法是怎样的?

    go语言里有两种字符串语法。

    一种是原始字符串语法raw string literals。使用back quotes来包含一系列的字符集。支持多行。

    另一种是interpreted string literals。用双引号括起来。不支持多行。

第8题:Go语言的work space是指什么?

    Work space用来包含go语言的代码,有三个主要的文件目录, src, pkg, bin。

第9题:go语言中布尔类型的缺省值是什么?

    false

第10题:Gopath环境变量是什么?

    Gopath来指定工作空间的位置。在做go语言编程的时候,这个变量设置是必须的。

第11题:go语言编程的好处是什么?

    编译和运行都很快。

    在语言层级支持并行操作。

    有垃圾处理器。

    内置字符串和maps。

    函数是go语言的最基本编程单位。

第12题:go语言里比较常用的功能模块。

    Container, container list, container heap.

    Web server, net/http.

    Cryptography, Crypto/md5, crypto/sha1.

    Compression, compress/gzip.

    Database, database/sql.

第13题:goroutine是什么?

    一个goroutine是可以跟其他函数并行运行的函数。如果想停止一个goroutine,你可以通过一个signal channel传值进去。

第14题:如何写多行的字符串?

    raw string literal

第15题:go语言里的break是干什么用的?

    Break是用来终止当前的for loop或者switch的。

第16题:continue的作用是什么?

    Continue就是跳过当前的运行单元。不会终止当前的loop.

第17题:goto是干什么的?

    Goto 是为了跳转。

第18题:for loop如何使用?

    For 有三种情况,一种是condition,一种是range, 最后一种是init, condition, increment。

第19题:在go语言中如何创建一个函数?

    使用func functionname ([Parameter list]) [Return types]

第20题:解释一下go语言中的静态类型声明。

    静态类型声明是告诉编译器不需要太多的关注这个变量的细节。静态变量的声明,只是针对于编译的时候, 在连接程序的时候,编译器还要对这个变量进行实际的声明。

第21题:解释一下go语言中的动态类型声明。

    动态类型声明是指go语言根据赋值的类型对这个变量的类型进行设定。

第22题:如何打印出一个变量的类型?

    %T

第23题:什么是指针?

    指针是用来存储变量地址的类型。

第24题:指针是如何表示的?

    使用星号加上数据类型。

第25题: := 短声明是不是只能用在一个函数里面?

    是。

第26题:如何不打印来格式化一个字符串?

    fmt.Sprintf

第27题:go语言的语义是什么类型?

    Go 语言的语意遵循的是extended backus-naur form即延伸的巴克斯.诺尔形式.

第28题:go语言是否支持继承?

    不支持。

第29题:go语言是否支持操作符的重载?

    不支持。

第30题:go语言是否支持方法重载?

    不支持。

第31题:go语言是否支持指针运算?

    不支持。

第32题:go的接口是什么?

    在go语言中,interface也就是接口,被用来指定一个对象。接口具有下面的要素:

    一系列的方法。

    具体应用中并用来表示某个数据类型。

    在go中使用interface来实现多态。

第33题:Go语言里面的类型断言是怎么回事?

    类型断言是用来从一个接口里面读取数值给一个具体的类型变量。

    类型转换是指转换两个不相同的数据类型。

第34题:Go语言里面的方法是怎么回事?

    Go语言里面的方法,实际上就是某个函数, 在这个函数中指定一个receiver,在调用这个函数的时候使用这个receiver用dot操作符。

第35题:go语言中局部变量的缺省值是什么?

    局部变量的缺省值是与这个类型相关的0值。

第36题:全局变量的缺省值是什么?

    全局变量的缺省值是与这个类型相关的零值。

第37题:指针的缺省值是什么?

    指针的缺省值为nil。

第38题:如何在运行时检查一个变量的类型?

    switch type.

第39题:在使用go routine时是否推荐使用全局变量?

    不推荐。

第40题:模块化编程是怎么回事?

    模块化编程是指把一个大的程序分解成几个小的程序。这么做的目的是为了减少程序的复杂度,易于维护,并且达到最高的效率。

最新信息

  • 28道Nodejs面试题,看看能错几道?

    小编在此总结一下Nodejs常见的面试题,希望对面试的小伙伴有帮助。第1题:什么是nodejs?我们在哪里使用它? Nodejs是服务器端的一门技术。它是基于Google V8 JavaScri...

  • 技术干货:ASP.net mvc面试32题附答案

    今天,小编将会总结一些ASP.net mvc的面试题跟大家分享。希望能帮助到即将进入职场的同学们。第1题:什么是ASP.net mvc? 这是一个网络应用的开发框架。轻量型的,很容易测试的一个框...

  • 技术干货:Micro services面试24题附答案

    今天,小编将会总结一些Micro services的面试题跟大家分享。希望能帮助到即将进入职场的同学们。第一题:解释一下Micro services的架构。 Micro services架构设置...

  • 干货来临:C语言面试54题附答案

    针对接下来很多应届生面临找工作面试的问题,小编将会总结一些C语言面试常见的问题和大家分享。希望能帮助到即将进入职场的同学们。话不多说,我们开始吧。第1题:c语言有哪些核心的特征? 可移植性很强。...

  • 干货来临:CSS面试26题附答案

    针对接下来很多应届生面临找工作面试的问题,小编将会总结一些前端面试常见的问题和大家分享。希望能帮助到即将进入职场的同学们。话不多说,我们开始吧。第1题:css有哪些版本? 有①css1;②css...

  • Golang面试宝典:这40道题一定要会!

    Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入...

标签列表