This is a list of common questions that can be asked by technical interviewers for Go developer position. This is definitely not a complete list, just a subset I find pretty likely to occur during the interview.
The questions are grouped by the category. Again - the list of categories is far from being complete, however it is very likely that question from given category will be asked during the interview.
- What are Go modules?
- What was used before Go modules were introduced?
- What is vendoring?
- What is an interface in Go?
- How many functions can be usually found in an average Go stdlib interface?
- How to define a function argument that can be anything?
- How to indicate nil string as a return type?
- How to modify arguments passed to a function?
- When arguments passed to a function is stored the stack? When on the heap? What is a difference?
- How to define a variadic function?
- How to pass a slice into a variadic function?
- How to get a substring?
- How to split a string?
- How to join a slice of strings?
- How to check if a string starts with a substring?
- How to check if a string ends with a substring?
- What is context? Why is it useful?
- How to define a context timeout for function execution?
- How to handle a context timeout within that function?
- Improve the following library function:
func ExecuteShellCommand(cmd string) (output string)
- Allow function caller to asynchronously receive every line of stdout of executed shell command (in real time)
- Notify function caller that command execution is over
- How to read local file as slice of bytes?
- How to convert
io.Readerinto slice of bytes?
- What library and function would you use to parse JSON file?
- What library and function would you use to parse JSON file that doesn't fit into RAM?
- What JSON library would you recommend from the usability point of view? For example to support nested queries.
What do you think about the list above? What would you add or remove? What other questions do you find to be asked frequently during interviews? What questions to you like to ask when interviewing your candidates? Please leave the answer in the comments!