爆肝整理的Golang面试题,拿走不谢

作者&投稿:善琬 (若有异议请与网页底部的电邮联系)
~

爆肝整理的Golang面试题,不对之处望批评指正答案需要加上自己的思考,最好是代码实践下。

1、面试建议

技术部分

1)算法部分,刷LeetCode就完事了,这是一个长期的过程,短期突击没啥效果,因为题目太多了。

2)语言基础,细分为:golang基础及原理,就是本文主要内容了;mysql基础及原理;redis基础及原理;linux常用的命令,比如定时脚本几个参数时间分别代表啥,文件权限需要搞清楚,进程内存占用命令;小公司还要懂一些前端的知识,因为他们希望你什么都会。

建议大家可以去多刷刷Golong题库,题库总结的很到位,而且题目质量也很高,方便巩固语法基础,还可以去看前端面试题库,题目很全还配有答案,可以方便快速的了解前端知识。

3)项目经验,可以搞一个基于gin的后端接口服务的web框架,一般会问你怎么实现的;以及微服务了解一下。

非技术部分

1)HR面也可以完全准备一份可能问到的问题的答案,并不是说你不会回答,而是会让你的表达更顺畅,其次也说明你是有备而来的,我在某拉公司面试就吃了这个亏,技术通过,HR说我的表达能力不行(后续我也会把这个模板分享出来,感谢我媳妇充当面试官,以及指导如何高情商的回答HR的问题)。

2)可以自己录音面试回答,看看自己的语气、音量,顺畅度,如果自己听了都不舒服,面试官可能也不舒服。

1、golang中make和new的区别?(基本必问)

共同点:给变量分配内存

不同点:

1)作用变量类型不同,new给string,int和数组分配内存,make给切片,map,channel分配内存。

2)返回类型不一样,new返回指向变量的指针,make返回变量本身。

3)new分配的空间被清零。make分配空间后,会进行初始化。

2、数组和切片的区别(基本必问)

相同点:

1)只能存储一组相同类型的数据结构。

2)都是通过下标来访问,并且有容量长度,长度通过len获取,容量通过cap获取。

区别:

1)数组是定长,访问和复制不能超过数组定义的长度,否则就会下标越界,切片长度和容量可以自动扩容。

2)数组是值类型,切片是引用类型,每个切片都引用了一个底层数组,切片本身不能存储任何数据,都是这底层数组存储数据,所以修改切片的时候修改的是底层数组中的数据。切片一旦扩容,指向一个新的底层数组,内存地址也就随之改变。

简洁的回答:

1)定义方式不一样。

2)初始化方式不一样,数组需要指定大小,大小不改变3)在函数传递中,数组切片都是值传递。

3、forrange的时候它的地址会发生变化么?

答:在fora,b:=rangec遍历中,a和b在内存中只会存在一份,即之后每次循环时遍历到的数据都是以值覆盖的方式赋给a和b,a,b的内存地址始终不变。由于有这个特性,for循环里面如果开协程,不要直接把a或者b的地址传给协程。

解决办法:在每次循环时,创建一个临时变量。

4、godefer,多个defer的顺序,defer在什么时机会修改返回值?

作用:defer延迟函数,释放资源,收尾工作。如释放锁,关闭文件,关闭链接。捕获panic。

避坑指南:defer函数紧跟在资源打开后面,否则defer可能得不到执行,导致内存泄露。

多个defer调用顺序是LIFO(后入先出),defer后的操作可以理解为压入栈中defer,return,returnvalue(函数返回值)。

执行顺序:首先return,其次returnvalue,最后defer。defer可以修改函数最终返回值。

修改时机:有名返回值或者函数返回指针。

5、能介绍下rune类型吗?

golang中的字符串底层实现是通过byte数组的,中文字符在unicode下占2个字节,在utf-8编码下占3个字节,而golang默认编码正好是utf-8。

byte等同于int8,常用来处理ascii字符。

rune等同于int32,常用来处理unicode或utf-8字符。




    宿豫县18783305945: 茉莉花龙井鸡片汤需要的原料有哪些?
    矣佳复方: 鲜茉莉花20朵,鸡脯肉150克,龙井茶叶15 克,鲜豌豆苗20克,清汤250毫升,盐、味精、料酒、白胡椒面、 鸡蛋清和淀粉各适量.

    宿豫县18783305945: win7电脑如何快速把全屏游戏最小化
    矣佳复方: 按键盘上的窗口键,就是画着win标志的那个,一般在空格键旁边点

    宿豫县18783305945: 飞翔的翅膀阅读答案,花开繁盛,心灵的放飞的含义!10分钟内有奖!
    矣佳复方: 花开繁盛:指会做出一番成就.心灵的放飞:指她写作长篇小说《多梦季节》,只是为了表达对文学和人生的热爱之情,并没有做作家的奢望.

    宿豫县18783305945: DNF棉花团怎么刷的快DNF小羊满级是多少
    矣佳复方: DNF棉花团怎么刷的快 DNF小羊满级是多少.DNF小羊活动开放后,目前已经有爆肝帝测试出来具体的数据,没有复杂过程,结论一目了然.下面99单机网小编给大家带...

    宿豫县18783305945: 厦门到茂名火车为什么改为厦门?厦门到茂名火车为什么改为厦门高
    矣佳复方: 因为火车提速了,所以改成了高铁呢.如果您觉得正确或者采纳,麻烦给我好评,谢谢.

    宿豫县18783305945: 有什么宝宝衣服的牌子推荐啊?有什么宝宝衣服的牌子推荐啊,我就买小
    矣佳复方: 那你可以选择贝亲的衣服呀.这个牌子的不错哦.

    宿豫县18783305945: 求 五月天 所发行的 8张专辑的名称 及 各专辑的曲目名 -
    矣佳复方: 1999年,《第一张创作专辑》1疯狂世界 2拥抱 3透露 4生活 5爱情的模样 6嘿!我要走了 7轧车 8志明与春娇 9HoSee 10黑白讲 11ILoveYou无望 12风若吹2000年,《爱情万岁》1为什么(今日的爱情) 2终结孤单 3明白 4心中无别人 5有你的...

    宿豫县18783305945: 房贷存折丢了怎么办
    矣佳复方: 如果是房贷存折丢了的话,你可以去你买房子在那里在开一个就可以了.

    宿豫县18783305945: 最珍贵的废书这篇文章的主人公是谁?
    矣佳复方: 主人公是“我” 主人公能够了解母亲盼自己成才的心愿,努力考上了大学,并且向母亲隐瞒了受骗的事实,因为这是母亲的一片情谊.

    宿豫县18783305945: 山东二手色选机哪家质量好?
    矣佳复方: 合肥禾美的话我感觉还不错,之前听朋友说的,服务态度特别好价格也很划算值得选购.

    本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
    相关事宜请发邮件给我们
    © 星空见康网