面试问题总结(一)Golang

Python032

面试问题总结(一)Golang,第1张

使用go语言的好处: go语言的设计是务实的, go在针对并发上进行了优化, 并且支持大规模高并发, 又由于单一的码格式, 相比于其他语言更具有可读性, 在垃圾回收上比java和Python更有效, 因为他是和程序同时执行的.

1. 进程, 线程, 协程的区别, 协程的优势

2. 讲一下GMP模型(重点)

3. Go的GC, 混合写屏障(重点)

4. go的Slice和数组的区别, slice的扩容原理(重点)

5. 讲一下channel,实现原理(重点)

6. 讲一下Go的Map的实现原理, 是否线程安全, 如何实现安全(重点)

7. new 和 make 的区别

8. 说一下内存逃逸

9. 函数传指针和传值有什么区别

10. goroutine之间的通信方式

11. 测试是怎么做的(单元测试, 压力测试)

12. 堆和栈的区别

免费的视频软件就够了,比如:腾讯会议,微信,QQ,zoom,飞书会议,钉钉,都可以用。

推荐你使用专为科技公司打造的程序员在线面试平台: showmebug.com 。

实时编程环境,直观强大的多人在线代码交流环境, 0% 代码冲突率,延迟 50ms 以下,同时支持在线运行代码

支持26+主流语言,从传统的主流语言(Java,C/C++,Python,JavaScript等)到新秀的语言(Golang,Kotlin,Swift等),统统给予支持

音视频面试,声网、腾讯提供技术支持,不计带宽成本的投入,提供质量上乘的 WebRTC 音视频服务

团队协作,使用 ShowMeBug 团队版,内部共享面试信息,完美支持“多对一”、“一对多”、“多对多”面试场景,让团队协作更加便捷

面试回放,每一场面试过程都会被精准记录,面试后查看,准确分析对比候选人的技术能力,不错过任何一个面试细节

系统稳定可靠,采用先进的容器化技术,自主研发的弹性可伸缩架构,提供安全可靠的面试环境,平台同时在线面试场次可达 10000 场.

由于没有golang基础,又没什么项目经验,所以上来先代码题:

……后面记不清了

面试官很和蔼,有的问题没回答出来,也一一给我进行了讲解。一度以为自己凉了。过了一个星期后联系我进行二面。

面试官很年轻,大概二十七八,感觉非常亲切。

把我的所有项目都问了一遍,针对一些点对我进行了提问,指出了项目的不足,我虚心受教。

他在找题,顺便问了问我有没有什么疑问?(问面试官旁边的同事们在讨论什么。感觉公司的氛围很活跃,我很喜欢。我讨厌死气沉沉的环境。他表示认同。)

调试了两次,ac。

两次的面试官都非常nice,虽然有些紧张,但是体验很好,聊的非常投机。