面试问题总结(一)Golang

Python010

面试问题总结(一)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. 堆和栈的区别

刚入门Go语言小白需要注意以下五点:

1、注意书写代码的一些规范吧,特别是注意大小写、英文标点符号区别等,在特别的位置写上注释。

2、主要是理解伪代码所描述的算法,伪代码要注意是不能直接运行的。

3、注意编译器版本与书籍上所介绍版本是否一致,也注意特殊符号,印刷版本可能与实际不一致。

4、书上的版本和当前所用的版本是否一致,有些情况下书上版本在现在来用已经过时了。

5、逻辑走通给自己信心,其实起步阶段不难的。