Go語言面試題分享:選擇題11道(2)go語言開發

老男孩Linux發表於2019-11-27

Go語言面試題分享:(選擇題11道)

1、關於布林變數b的賦值,下面錯誤的用法是( )

A. b = trueB. b = 1C. b = bool(1)D. b = (1 == 2)

參考答案:BC

2、關於switch語句,下面說法正確的有( )

A. 條件表示式必須為常量或者整數

B. 單個case中,可以出現多個結果選項

C. 需要用break來明確退出一個case

D. 只有在case中明確新增fallthrough關鍵字,才會繼續執行緊跟的下一個case

參考答案:BD

3、關於main函式(可執行程式的執行起點),下面說法正確的是( )

A. main函式不能帶引數

B. main函式不能定義返回值

C. main函式所在的包必須為main包

D. main函式中可以使用flag包來獲取和解析命令列引數

參考答案:ABCD

4、對於區域性變數整型切片x的賦值,下面定義正確的是( )

A.x := []int{ 1, 2, 3, 4, 5, 6,}

B.x := []int{ 1, 2, 3, 4, 5, 6}

C.x := []int{ 1, 2, 3, 4, 5, 6}

D.x := []int{1, 2, 3, 4, 5, 6,}

參考答案:ACD

5、關於變數的自增和自減操作,下面語句正確的是( )

A.i := 1i++

B.i := 1j = i++

C.i := 1++i

D.i := 1i--

參考答案:AD

6、關於channel,下面語法正確的是( )

A. var ch chan int B. ch := make(chan int) C. <- ch D. ch <-

參考答案:ABC

7、關於同步鎖,下面說法正確的是( )

A. 當一個goroutine獲得了Mutex後,其他goroutine就只能乖乖的等待,除非該goroutine釋放這個Mutex

B. RWMutex在讀鎖佔用的情況下,會阻止寫,但不阻止讀

C. RWMutex在寫鎖佔用情況下,會阻止任何其他goroutine(無論讀和寫)進來,整個鎖相當於由該goroutine獨佔

D. Lock()操作需要保證有Unlock()或RUnlock()呼叫與之對應

參考答案:ABC

8、flag是bool型變數,下面if表示式符合編碼規範的是( )

A. if flag == 1 B. if flag C. if flag == false D. if !flag

參考答案:BD

9、value是整型變數,下面if表示式符合編碼規範的是( )

A. if value == 0 B. if value C. if value != 0 D. if !value

參考答案:AC

10、關於select機制,下面說法正確的是( )

A. select機制用來處理非同步IO問題

B. select機制最大的一條限制就是每個case語句裡必須是一個IO操作

C. golang在語言級別支援select關鍵字

D. select關鍵字的用法與switch語句非常類似,後面要帶判斷條件

參考答案:ABC

11、關於記憶體洩露,下面說法正確的是( )

A. golang有自動垃圾回收,不存在記憶體洩露

B. golang中檢測記憶體洩露主要依靠的是pprof包

C. 記憶體洩露可以在編譯階段發現

D. 應定期使用瀏覽器來檢視系統的實時記憶體資訊,及時發現記憶體洩露問題

參考答案:BD


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952968/viewspace-2665849/,如需轉載,請註明出處,否則將追究法律責任。

相關文章