Golang筆試題(附答案)
單選題
匿名函數(shù)可以直接賦值給一個(gè)變量或者直接執(zhí)行,這一說法是否正確( A )
A. true
B. false
結(jié)構(gòu)體在序列化時(shí)非導(dǎo)出變量(以小寫字母開頭的變量名)不會(huì)被encode,因?yàn)樵趀ncode時(shí)這些非導(dǎo)出變量的值為其類型的零值,這一說法是否正確( B )
A. true
B. false
下面反引號中的代碼,比如json:"x",作用是X字段在從結(jié)構(gòu)體實(shí)例編碼到j(luò)son數(shù)據(jù)格式的時(shí)候,使用x作為名字,這可以看做是一種重命名的方式(A)
A. 正確
B. 錯(cuò)誤
type Position struct{
X int `json:"x"`
Y int `json:"y"`
Z int `json:"Z"`
}
使用for range迭代map時(shí)每次迭代的順序可能不一樣,因?yàn)閙ap的迭代是隨機(jī)的,這一說法是否正確(A)
A. true
B. false
可以給任意類型添加相應(yīng)的方法,這一說法是否正確(B)
A. true
B. false
如果調(diào)用方調(diào)用了一個(gè)具有多返回值的方法,但是卻不想關(guān)心其中的某個(gè)返回值,可以簡單地用一個(gè)下劃線“_”來跳過這個(gè)返回值,該下劃線對應(yīng)的變量叫匿名變量,這一說法是否正確(A)
A. true
B. false
golang支持goto語句,這一說法是否正確(A)
A.true
B.false
關(guān)于無緩沖和有緩沖的channel,下面說法正確的是(D)
A. 無緩沖的channel是默認(rèn)的緩沖為1的channel
B. 無緩沖的channel和有緩沖的channel都是同步的
C. 無緩沖的channel和有緩沖的channel都是非同步的
D. 無緩沖的channel是同步的,而有緩沖的channel是非同步的
關(guān)于函數(shù)聲明,下面語法錯(cuò)誤的是(C)
A.func f(a,b int)(value int,err error)
B.func f(a int, b int)(value int,err error)
C.func f(a int,b int)(value int,error)
D.func f(a,b int)(int,int,error)
下面的程序的運(yùn)行結(jié)果是(C)
A. 321
B. 32
C. 31
D. 13
func main() {
if (true) {
defer fmt.Printf("1")
}else {
defer fmt.Printf("2")
}
fmt.Printf("3")
}
多選題
對于異常的觸發(fā),下面說法正確的是( ABCD )
A. 空指針解析
B. 下標(biāo)越界
C. 除數(shù)為0
D. 調(diào)用panic異常
對于變量的自增和自減操作,下面語句正確的是( AD )
A.
{ i:=1 i++
}
B.
{ i:=1 j:=i++
}
C.
{ i:=1 ++i
}
D.
{ i:=1 i--
}
關(guān)于函數(shù)返回值的錯(cuò)誤設(shè)計(jì),下面說法正確的是(ABCD )
A. 如果失敗原因只有一個(gè),則返回bool
B. 如果失敗原因超過一個(gè),則返回error
C. 如果沒有失敗原因,則不返回bool或者error
D. 如果重試幾次可以避免失敗,則不要立即返回bool或者error
下面屬于關(guān)鍵字的是(AC)
A. func
B. def
C. struct
D. class
golang中的指針運(yùn)算包括(BC)
A. 可以對指針進(jìn)行自增或自減運(yùn)算
B. 可以通過"&"取指針的地址
C. 可以通過"*"取指針指向的數(shù)據(jù)
D. 可以對指針進(jìn)行下標(biāo)運(yùn)算
關(guān)于main函數(shù)(可執(zhí)行程序的執(zhí)行起點(diǎn)),下面說法正確的是(ABCD)
A. main函數(shù)不能帶參數(shù)
B. main函數(shù)不能定義返回值
C. main函數(shù)所在的包必須為main包
D. main函數(shù)中可以使用flag包來獲取和解析命令行參數(shù)
關(guān)于內(nèi)存泄漏,下面說法正確的是( BD)
A. golang有自動(dòng)垃圾回收,不存在內(nèi)存泄漏
B. golang中檢測內(nèi)存泄漏,主要依靠的是pprof包
C. 內(nèi)存泄漏可以在編譯階段實(shí)現(xiàn)
D. 應(yīng)定期是用來瀏覽器來查看系統(tǒng)的實(shí)時(shí)內(nèi)存信息,及時(shí)發(fā)現(xiàn)內(nèi)存泄漏問題
關(guān)于init函數(shù),下面說法正確的是(AB)
A. 一個(gè)包中可以包含多個(gè)init函數(shù)
B. 程序編譯時(shí),先執(zhí)行導(dǎo)入包的init函數(shù),再執(zhí)行本包內(nèi)的init函數(shù)
C. main包中不能有init函數(shù)
D. init函數(shù)可以被其他函數(shù)調(diào)用
關(guān)于switch語句,下面說法正確的有(BD)
A. 條件表達(dá)式必須為常量或整數(shù)
B. 單個(gè)case中,可以出現(xiàn)多個(gè)結(jié)果選項(xiàng)
C. 需要用break來明確退出一個(gè)case
D. 只有在case中明確添加fallthrough關(guān)鍵字,才會(huì)繼續(xù)執(zhí)行緊跟的下一個(gè)case
關(guān)于接口,下面說法正確的是(ABC)
A. 只要兩個(gè)接口擁有相同的方法列表(次序不同不要緊),那么他們就是等價(jià)的,可以互相賦值
B. 如果接口A的方法列表是接口B的方法列表的子集,那么接口B可以賦值給接口A
C. 接口查詢是否成功,要在運(yùn)行期才能夠確定
D.接口賦值是否可行,要在運(yùn)行期才能夠確定
通過指針變量 p 訪問其成員變量 name,下面語法正確的是(AB)
A. p.name
B. (*p).name
C. (&p).name
D. p -> name
關(guān)于beego框架,下面說法正確的是(ABC)
A. beego是一個(gè)golang實(shí)現(xiàn)的輕量級HTTP框架
B. beego可以通過注釋(注解)路由、正則路由等多種方式完成URL路由注入
C. 可以使用 bee new 工具生成空工程,然后bee run 命令自動(dòng)熱編譯
D. beego框架只提供了對url路由的處理,而對于MVC架構(gòu)中的數(shù)據(jù)庫部分未提供框架支持
golang中的引用類型包括(ABCD)
A. 數(shù)組切片
B. map
C. channel
D. interface
關(guān)于接口和類的說法,下面說法正確的是(ABD)
A. 一個(gè)類只需要實(shí)現(xiàn)了接口要求的所有函數(shù),我們就說這個(gè)類實(shí)現(xiàn)了該接口
B. 實(shí)現(xiàn)類的時(shí)候,只需要關(guān)心自己應(yīng)該提供哪些方法,不用再糾結(jié)接口拆的多細(xì)才合理
C. 類實(shí)現(xiàn)接口時(shí),需要導(dǎo)入接口所在的包
D. 接口由使用方按自身需求來定義
關(guān)于局部變量的初始化,下面正確的使用方式是(ABC)
A. var i int = 10
B. var i = 10
C. i := 10
D. i = 10
對于局部變量整型切片x的賦值,下面定義正確的是(ACD)
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,}
golang中沒有隱藏的this指針,這句話的含義是(ACD)
A. 方法施加的對象顯示傳遞,沒有被隱藏起來
B. golang沿襲了傳統(tǒng)面向?qū)ο缶幊讨械闹T多概念,比如繼承、虛函數(shù)和 構(gòu)造函數(shù)
C. golang的面向?qū)ο蟊磉_(dá)更直觀,對于面向過程只是換了一種語法形式來表達(dá)
D. 方法施加的對象不需要非得是指針,也不用非得叫this
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
- 這篇文章主要介紹了程序員面試的幾個(gè)小技巧,在平時(shí)面試的時(shí)候,除了實(shí)打?qū)嵉募寄苓€需要更多的技巧,雙管齊下才能贏得更大的勝算,技能方面就不多說了,下面來分享幾個(gè)面試2023-04-23
面試中,問鎖主要是兩方面:鎖的日常使用場景 + 鎖原理,鎖的日常使用場景主要考察對鎖 API 的使用熟練度,看看你是否真的使用過這些 API,而不是紙上談兵,鎖原理主要就是2022-05-19- 這篇文章主要介紹了Mybatis常見面試題詳細(xì)總結(jié),通過總結(jié)列舉大量的mybatis面試常見題目供給大家參考,希望對大家有所幫助2021-08-24
2020Java后端開發(fā)面試題總結(jié)(春招+秋招+社招)
這篇文章主要介紹了2020Java后端開發(fā)面試題總結(jié)(春招+秋招+社招),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2021-02-18- 這篇文章主要介紹了MySQL數(shù)據(jù)庫選擇題小結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2021-02-07
這篇文章主要介紹了30道有趣的JVM面試題(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2020-11-26- 這篇文章主要介紹了Python面試題爬蟲篇小結(jié)(附答案),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2020-10-28
這篇文章主要介紹了還不理解B樹和B+樹,那就看看這篇文章吧,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一2020-09-10Java面試通關(guān)要點(diǎn)匯總(備戰(zhàn)秋招)
這篇文章主要介紹了Java面試通關(guān)要點(diǎn)匯總(備戰(zhàn)秋招),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2020-09-08
這篇文章主要介紹了10道JVM常見面試題解析(附答案),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)2020-09-04


