Go interviews focus on goroutines, channels, interfaces, error handling, slices/maps internals, and when to pick Go over Rust, Java, or Node.js.
Must-know topics
- Goroutines, channels, select, WaitGroup, mutex, context
- Slice header, map behavior, pointer vs value receivers
- Implicit interfaces, error wrapping, defer/panic boundaries
- Modules, testing, JSON/HTTP basics, generics overview
- Cloud-native context: Kubernetes controllers, observability, static binaries
Important interview questions and answers
- Q: Explain goroutine vs thread.
A: Goroutines are lightweight, multiplexed by the Go scheduler on OS threads—cheaper to spawn than platform threads. - Q: How do interfaces work?
A: Implicit method sets—types satisfy interfaces without declaration; interface values hold type and data. - Q: When not use Go?
A: Hard real-time, heavy GUI, teams needing mature ML/Python ecosystems without Go ports, or GC latency unacceptable.
Self-check
- List three Go topics you will review before interviews.
- How does Go error handling differ from Java exceptions?
Tip: Be ready to explain goroutines vs threads, slice internals, nil interface gotcha, and when Go beats Python for services.
Interview prep
- Top interview topics?
Goroutines/channels, slices/maps, interfaces, errors, context, modules, and cloud-native deployment.
- When not Go?
Hard real-time, heavy GUI, GC latency unacceptable, or team standardized on another stack without Go ops.