1) 基礎語言描述理解考察
https://www.tutorialspoint.com/go/go_interview_questions.htm
這裏有一欄、全面的問答,而且很是基礎
也包括golang的一些開放性話題的討論html
基礎語言代碼考察
http://www.golangpro.com/2015/08/golang-interview-questions-answers.htmlgolang
10個基本問題考察
https://www.toptal.com/go/interview-questionsapp
(2)代碼工程考察
https://yushuangqi.com/blog/2017/golang-mian-shi-ti-da-an-yujie-xi.html?from=groupmessage&isappinstalled=0
這裏有代碼題的分析,直接面向工程和原理。看似簡單、簡短,從候選人的回答入口、思路,基本能夠探測到候選人的語言理解和運用經驗信息。ide
(3) 其餘 從網上爬的
What is good code design?
What version control tools did you use so far? (I just want to know about his/her experience)
How do you approach a new problem?
How to you test your software? (a bad answer here is a deal breaker for me)
(In case of server software) How do you deploy your applications?
How would you setup the authentication e.g. in a microservice environment?
Then some Go specific questions:ui
What are Go routines?
What are channels and how can you use them?
How can you distribute tasks in Go to different machines? (this is a pro question)this
Give a summary of Golang.
A system programming language developed at Google. It has inbuilt garbage collection and supports concurrency. The code can be compiled into a single executable binary and don't need addition library or runtime to execute it on server.code
Can you declare a class in Golang?
Yes, Golang has a unique way of implementing class with the type interface.
See here on how to declare class in Golangserver
Does Go supports generic? ( trick question )
No (as of 2015)htm
What are the commands available in Golang to import codes from repositories such as GitHub or BitBucket?
go get and go install commandsblog
A buffer was created with make() function and Go allocated some memory for the buffer. How do you destroy the buffer to reclaim back the memory?
buffer = nil
During runtime, buffer = nil will cause it to be garbage collected.
What are these ? (trick question)
var num int ( integer variable)
var ptr *int (a pointer)
num = 10 (assign value of 10 to variable num)
ptr = &num (pointer holding the memory address of variable num)
What are the notable differences between a slice and array ?
Array size is fixed, slice size is not. Can dynamically increase or decrease a slice's size during runtime but not for array. Slice is similar to a linked list, can do push, pop, FIFO, LIFO on slice. Use builtin append, copy functions to manipulate slice.
What's the difference between cap() and len()?
Len() - gives the number of elements inside a slice.
Cap() - gives the capacity of the slice. Number of elements the slice can accommodate.
Hash table or hash map allows fast lookup. How does Go implements hash map? (trick question)
The equivalent of hash table in Golang is map.
hash-table := make(map[string]string)
Which of the following functions, variables or identifiers that are exportable or can be invoked from another function externally and why? (trick question)