go語言面試選擇題11道(4)go語言深入學習

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

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

1、關於函式返回值的錯誤設計,下面說法正確的是( )

A. 如果失敗原因只有一個,則返回bool

B. 如果失敗原因超過一個,則返回error

C. 如果沒有失敗原因,則不返回bool或error

D. 如果重試幾次可以避免失敗,則不要立即返回bool或error

參考答案:ABCD

2、關於異常設計,下面說法正確的是( )

A. 在程式開發階段,堅持速錯,讓程式異常崩潰

B. 在程式部署後,應恢復異常避免程式終止

C. 一切皆錯誤,不用進行異常設計

D. 對於不應該出現的分支,使用異常處理

參考答案:ABD

3、關於channel的特性,下面說法正確的是( )

A. 給一個 nil channel 傳送資料,造成永遠阻塞

B. 從一個 nil channel 接收資料,造成永遠阻塞

C. 給一個已經關閉的 channel 傳送資料,引起 panic

D. 從一個已經關閉的 channel 接收資料,如果緩衝區中為空,則返回一個零值

參考答案:ABCD

4、關於無緩衝和有衝突的channel,下面說法正確的是( )

A. 無緩衝的channel是預設的緩衝為1的channel

B. 無緩衝的channel和有緩衝的channel都是同步的

C. 無緩衝的channel和有緩衝的channel都是非同步的

D. 無緩衝的channel是同步的,而有緩衝的channel是非同步的

參考答案:D

5、關於異常的觸發,下面說法正確的是( )

A. 空指標解析 B. 下標越界 C. 除數為0 D. 呼叫panic函式

參考答案:ABCD

6、關於cap函式的適用型別,下面說法正確的是( )

A. array B. slice C. map D. channel

參考答案:ABD

7、關於beego框架,下面說法正確的是( )

A. beego是一個golang實現的輕量級HTTP框架

B. beego可以透過註釋路由、正則路由等多種方式完成url路由注入

C. 可以使用bee new工具生成空工程,然後使用bee run命令自動熱編譯

D. beego框架只提供了對url路由的處理, 而對於MVC架構中的資料庫部分未提供框架支援

參考答案:ABC

8、關於goconvey,下面說法正確的是( )

A. goconvey是一個支援golang的單元測試框架

B. goconvey能夠自動監控檔案修改並啟動測試,並可以將測試結果實時輸出到web介面

C. goconvey提供了豐富的斷言簡化測試用例的編寫

D. goconvey無法與go test整合

參考答案:ABC

9、關於go vet,下面說法正確的是( )

A. go vet是golang自帶工具go tool vet的封裝

B. 當執行go vet database時,可以對database所在目錄下的所有子資料夾進行遞迴檢測

C. go vet可以使用絕對路徑、相對路徑或相對GOPATH的路徑指定待檢測的包

D. go vet可以檢測出死程式碼

參考答案:ACD

10、關於map,下面說法正確的是( )

A. map反序列化時json.unmarshal的入參必須為map的地址

B. 在函式呼叫中傳遞map,則子函式中對map元素的增加不會導致父函式中map的修改

C. 在函式呼叫中傳遞map,則子函式中對map元素的修改不會導致父函式中map的修改

D. 不能使用內建函式delete刪除map的元素

參考答案:A

11、關於GoStub,下面說法正確的是( )

A. GoStub可以對全域性變數打樁

B. GoStub可以對函式打樁

C. GoStub可以對類的成員方法打樁

D. GoStub可以打動態樁,比如對一個函式打樁後,多次呼叫該函式會有不同的行為

參考答案:ABD


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

相關文章