Back to blog

5 Questions Before Hiring a Go Developer

Five Go interview questions on goroutine cancellation, channels vs mutex, error wrapping, small interfaces, and production fixes for hiring screens.

Engineer working at a computer with dual monitors in a workshop
Photo by this_is_engineering on Pixabay

Go keeps growing for cloud native services in the Stack Overflow 2025 Developer Survey. Many resumes claim “goroutines”; fewer show how they cancel work and keep APIs honest. Go hiring practice usually starts with concurrency judgment, not scheduler lectures.

These five questions surface goroutine lifecycle, sync choices, error design, interfaces, and production fixes, not escape analysis trivia.

1. “How do you cancel in flight goroutine work and avoid leaks? Walk through a context you used.”

Strong candidates describe context.WithCancel or timeouts, waiting on Done, and a leak they fixed. Weak answers start goroutines with no shutdown story.

2. “When do you prefer channels over a mutex (or the reverse) in code you shipped?”

You want judgment: ownership transfer and pipelines vs protecting shared state. Weak answers treat channels as the only “Go way” for every lock.

3. “How do you handle errors for callers: wrapping, sentinel values, or typed errors?”

Listen for %w, checking with errors.Is/As, and what the public API returns. Strong candidates avoid bare return err when context matters. Weak answers only say “check if err != nil.”

4. “Describe a small interface you designed. How did composition help?”

Good answers keep interfaces thin and accept interfaces at call sites. Weak answers invent large “god” interfaces or cannot name one they wrote.

5. “Tell me about a production incident or performance fix in Go (pprof is fine if light).”

You learn ownership. Strong candidates name the bottleneck or bug and the change. Weak answers stay abstract about “optimizing.”

Turn answers into comparable evidence

Log one cancellation pattern, one channels vs mutex call, one error style, and one production or performance story per finalist.

One scorecard for every finalist

Use the same five questions for each candidate for this opening. Consistent questions support consistent evaluation, which aligns with EEOC guidance for employers to apply the same standards to applicants for the same position (EEOC).

Use Canvider JobCraft to define Go service scope in the JD, InterviewGen for gap-based follow-ups, and DecisionHelper to compare finalists on the criteria you published.

Next step: Explore InterviewGen and DecisionHelper, then get started free.