根底语法
- 01
=
和:=
的区别? - 02 指针的作用
- 03 Go 容许多个返回值吗?
- 04 Go 有异样类型吗?
- 05 什么是协程(Goroutine)
- 06 如何高效地拼接字符串
- 07 什么是 rune 类型
- 08 如何判断 map 中是否蕴含某个 key?
- 09 Go 反对默认参数或可选参数吗?
- 10 defer 的执行程序
- 11 如何替换 2 个变量的值?
- 12 Go 语言 tag 的用途?
- 13 如何判断 2 个字符串切片(slice) 是相等的?
- 14 字符串打印时,
%v
和%+v
的区别 - 15 Go 语言中如何示意枚举值(enums)?
- 16 空 struct{} 的用处
实现原理
- 01 init() 函数是什么时候执行的?
- 02 Go 语言的局部变量调配在栈上还是堆上?
- 03 2 个 interface 能够比拟吗?
- 04 2 个 nil 可能不相等吗?
- 05 简述 Go 语言 GC(垃圾回收)的工作原理
- 06 函数返回局部变量的指针是否平安?
- 07 非接口非接口的任意类型 T() 都可能调用
*T
的办法吗?反过来呢?
并发编程
- 01 无缓冲的 channel 和有缓冲的 channel 的区别?
- 02 什么是协程泄露(Goroutine Leak)?
- 03 Go 能够限度运行时操作系统线程的数量吗?
代码输入
- 变量与常量
- 作用域
- defer 提早调用
附 举荐
- Go 语言扼要教程
- Go Test 单元测试扼要教程
原文地址: Go 语言口试面试题汇总 – 极客兔兔
关注知乎: 极客兔兔
关注微博: @极客兔兔