Go 语言笔试面试题汇总

基础语法

  • = 和 := 的区别?编程

  • 指针的做用安全

  • Go 容许多个返回值吗?并发

  • Go 有异常类型吗?ide

  • 什么是协程(Goroutine)函数

  • 如何高效地拼接字符串操作系统

  • 什么是 rune 类型线程

  • 如何判断 map 中是否包含某个 key ?指针

  • Go 支持默认参数或可选参数吗?协程

  • defer 的执行顺序接口

  • 如何交换 2 个变量的值?

  • Go 语言 tag 的用处?

  • 如何判断 2 个字符串切片(slice) 是相等的?

  • 字符串打印时,%v 和 %+v 的区别

  • Go 语言中如何表示枚举值(enums)?

  • 空 struct{} 的用途

实现原理

  • init() 函数是何时执行的?

  • Go 语言的局部变量分配在栈上仍是堆上?

  • 2 个 interface 能够比较吗 ?

  • 2 个 nil 可能不相等吗?

  • 简述 Go 语言GC(垃圾回收)的工做原理

  • 函数返回局部变量的指针是否安全?

  • 非接口非接口的任意类型 T() 都可以调用 *T 的方法吗?反过来呢?

并发编程

  • 无缓冲的 channel 和有缓冲的 channel 的区别?

  • 什么是协程泄露(Goroutine Leak)?

  • Go 能够限制运行时操做系统线程的数量吗?

代码输出

  • 变量与常量

  • 做用域

  • defer 延迟调用

相关文章
相关标签/搜索