Skip to main content
Journey Uncommon Logo
JourneyUncommon
GO · PRACTICE

Go interview questions.

Go is built for concurrent network services. The runtime is small enough that interviews expect you to know how it behaves.

576questions
89easy
244medium
243hard

Goroutine leaks, channel and select semantics, nil interface versus nil pointer, escape analysis, context cancellation, and the garbage collector's pacing.

Where it shows up: Cloud infrastructure, platform teams, CLI tooling, and high-throughput API services.

Sample Go questions

Twenty real Go questions from the library, code snippet included. Nothing here is paraphrased for search engines. It is the same text a signed-in user sees.

Sign in to answer

Everything above is free to read. Answering needs a free account.

We keep the correct answer, the explanation and the scoring behind sign-in so the platform stays honest, which is why the answer options and the worked explanation for every Go question stay behind a free account. Signing in is free and takes a few seconds.

Go topics covered

60 distinct Go topics are tagged across the library. These are the real topic labels stored on the questions, not a hand-written list.

  • pprof basics (23)
  • channel internals hchan sudog (23)
  • errgroup and fan-out (20)
  • table-driven tests (19)
  • benchmarks (17)
  • context cancel deadline values (16)
  • reflection basics (16)
  • goroutine preemption (16)
  • write barriers and GC pacing (16)
  • map internals buckets growth (15)
  • sync.Mutex and RWMutex (15)
  • sync.WaitGroup (15)
  • generics type parameters (15)
  • interface representation iface itab (15)
  • type constraints and comparable (14)
  • escape analysis (14)
  • empty interface eface layout (14)
  • worker pool pattern (12)
  • struct embedding and promotion (12)
  • netpoll integration (12)
  • graceful shutdown (11)
  • cgo call cost (11)
  • error values and wrapping (10)
  • GC tri-color mark-sweep (10)
  • defer panic recover mechanics (10)
  • goroutine stack growth (10)
  • the GMP scheduler (10)
  • sync/atomic and memory ordering (10)
  • slices and slice growth (9)
  • sync.Once and sync.Pool (9)
  • GMP scheduler (9)
  • functional options pattern (9)
  • inlining rules (9)
  • Go memory model (8)
  • the race detector (8)
  • slice header aliasing pitfalls (8)
  • maps and iteration (7)
  • structs and tags (7)
  • channels send and receive (7)
  • iota and typed enums (7)
  • Go memory model and happens-before (7)
  • goroutines basics (6)
  • buffered vs unbuffered channels (6)
  • errors.Is and errors.As (6)
  • for-range semantics (5)
  • packages and visibility (5)
  • the Go memory model and happens-before (5)
  • select statement (4)
  • interfaces and satisfaction (4)
  • methods on types (4)
  • channel direction types (4)
  • pointers and receivers (3)
  • defer (3)
  • zero values (3)
  • variadic functions (3)
  • range over channels (3)
  • sync.Pool (3)
  • write barriers (2)
  • sync.Once (1)
  • Channel internals (hchan, sudog) (1)

Search and filter every Go question

Difficulty