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 延遲調用

相關文章
相關標籤/搜索