Go_笔试题记录-不熟悉的
生活随笔
收集整理的這篇文章主要介紹了
Go_笔试题记录-不熟悉的
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、golang中沒有隱藏的this指針,這句話的含義是()
A. 方法施加的對象顯式傳遞,沒有被隱藏起來 B. golang沿襲了傳統(tǒng)面向?qū)ο缶幊讨械闹T多概念,比如繼承、虛函數(shù)和構(gòu)造函數(shù) C. golang的面向?qū)ο蟊磉_(dá)更直觀,對于面向過程只是換了一種語法形式來表達(dá) D. 方法施加的對象不需要非得是指針,也不用非得叫this參考答案:ACD
2、關(guān)于GoMock,下面說法正確的是()
A. GoMock可以對interface打樁 B. GoMock可以對類的成員函數(shù)打樁 C. GoMock可以對函數(shù)打樁 D. GoMock打樁后的依賴注入可以通過GoStub完成參考答案:AD
3、關(guān)于接口,下面說法正確的是()
A. 只要兩個接口擁有相同的方法列表(次序不同不要緊),那么它們就是等價的,可以相互賦值 B. 如果接口A的方法列表是接口B的方法列表的子集,那么接口B可以賦值給接口A C. 接口查詢是否成功,要在運行期才能夠確定 D. 接口賦值是否可行,要在運行期才能夠確定參考答案:ABC
4、golang中大多數(shù)數(shù)據(jù)類型都可以轉(zhuǎn)化為有效的JSON文本,下面幾種類型除外()
A. 指針 B. channel C. complex D. 函數(shù)參考答案:BCD
5、關(guān)于go vendor,下面說法正確的是()
A. 基本思路是將引用的外部包的源代碼放在當(dāng)前工程的vendor目錄下面 B. 編譯go代碼會優(yōu)先從vendor目錄先尋找依賴包 C. 可以指定引用某個特定版本的外部包 D. 有了vendor目錄后,打包當(dāng)前的工程代碼到其他機(jī)器的$GOPATH/src下都可以通過編譯參考答案:ABD
6、關(guān)于函數(shù)返回值的錯誤設(shè)計,下面說法正確的是()
A. 如果失敗原因只有一個,則返回bool B. 如果失敗原因超過一個,則返回error C. 如果沒有失敗原因,則不返回bool或error D. 如果重試幾次可以避免失敗,則不要立即返回bool或error參考答案:ABCD
7、關(guān)于異常設(shè)計,下面說法正確的是()
A. 在程序開發(fā)階段,堅持速錯,讓程序異常崩潰 B. 在程序部署后,應(yīng)恢復(fù)異常避免程序終止 C. 一切皆錯誤,不用進(jìn)行異常設(shè)計 D. 對于不應(yīng)該出現(xiàn)的分支,使用異常處理參考答案:ABD
8、關(guān)于slice或map操作,下面正確的是()
A. var s []int s = append(s,1)B. var m map[string]int m["one"] = 1 C. var s []int s = make([]int, 0) s = append(s,1)D. var m map[string]int m = make(map[string]int) m["one"] = 1參考答案:ACD
package mainimport "fmt"func main() {//var s []int//fmt.Printf("1 s = %+v\n", s) //1 s = []//s = append(s, 1)//fmt.Printf("2 s = %+v\n", s) //2 s = [1]//var m map[string]int//fmt.Printf("m = %+v\n", m) //m = map[]//m["one"] = 1//fmt.Printf("m[\"one\"] = %+v\n", m["one"]) // 報錯panic: assignment to entry in nil map//var s []int//fmt.Printf("1 s = %+v\n", s) //1 s = []//s = make([]int, 0)//fmt.Printf("2 s = %+v\n", s) //2 s = []//s = append(s, 1)//fmt.Printf("3 s = %+v\n", s) //3 s = [1]var m map[string]intfmt.Printf("m = %+v\n", m) //m = map[]// Map: 根據(jù) size 大小來初始化分配內(nèi)存,不過分配后的 map 長度為 0,如果 size 被忽略了,那么會在初始化分配內(nèi)存時分配一個小尺寸的內(nèi)存m = make(map[string]int)fmt.Printf("m = %+v\n", m) //m = map[]m["one"] = 1fmt.Printf("m[\"one\"] = %+v\n", m["one"]) //m["one"] = 1 }9、關(guān)于goconvey,下面說法正確的是()
A. goconvey是一個支持golang的單元測試框架 B. goconvey能夠自動監(jiān)控文件修改并啟動測試,并可以將測試結(jié)果實時輸出到web界面 C. goconvey提供了豐富的斷言簡化測試用例的編寫 D. goconvey無法與go test集成參考答案:ABC
10、關(guān)于GoStub,下面說法正確的是()
A. GoStub可以對全局變量打樁 B. GoStub可以對函數(shù)打樁 C. GoStub可以對類的成員方法打樁 D. GoStub可以打動態(tài)樁,比如對一個函數(shù)打樁后,多次調(diào)用該函數(shù)會有不同的行為參考答案:ABD
轉(zhuǎn)載于:https://www.cnblogs.com/Paul-watermelon/p/11209961.html
總結(jié)
以上是生活随笔為你收集整理的Go_笔试题记录-不熟悉的的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 频繁梦到前男友是什么意思
- 下一篇: Go-json解码到结构体