Language Pack · Mid to Senior
Go Backend Developer Pack
Goroutines, channels, interfaces, the standard library, and idiomatic Go service design.
Concurrency with goroutines and channels, interfaces, error handling and idiomatic service structure.
- Questions
- 360
- Topics
- 20
- Pages
- 329pages
- 360 questions, every one with a model answer
- Concurrency + stdlib cheat sheet
- Interface & error patterns
- Testing & profiling
Get the Go Backend Developer Pack — $9
One-off. Delivered as a PDF by email the moment payment clears.
Prices shown are a USD base. Your local-market price is calculated at checkout in your own currency, plus any local sales tax.
What is inside
20 chapters, in the order the interviews tend to ask them:
- Language core, zero values and control flow
- Pointers, allocation and escape analysis
- Slices, maps and the reference types trap
- Strings, bytes and text encoding
- Interfaces, embedding and composition
- Generics, constraints and type parameters
- Errors as values, wrapping and classification
- Packages, modules and project layout
- Goroutines, the runtime scheduler and parallelism
- Channels, select and pipelines
- Concurrency patterns: fan out, workers and limits
- Context, cancellation and deadlines
- Mutexes, atomics and the race detector
- HTTP servers, handlers and routing
- HTTP clients, timeouts and resilience
- JSON, tags and wire contracts
- Database access with database/sql
- Testing, fuzzing and benchmarks
- Profiling, tracing and runtime tuning
- Observability, configuration and graceful shutdown
How the answers are built
Each chapter opens with the checklist the question is really testing. A few from this pack:
- Every type has a useful zero value, so a struct, map or buffer is ready to use before any initialisation runs.
- Escape analysis runs at compile time and decides whether a local value can stay on the stack or must be heap allocated.
- A slice is a pointer, a length and a capacity, so two slices over the same array write to the same memory.
- A string is an immutable sequence of bytes, so any modification allocates a new string.
- A type satisfies an interface implicitly, so nothing declares the relationship and the coupling is invisible at compile time.
- A type parameter is scoped to a declaration, which is why a generic function cannot become a method that introduces its own type parameters.
Questions this pack covers
- What makes the Go zero value so useful in practice
- Why does Go have no exception mechanism, and what does that cost
- What does escape analysis decide at compile time
- Why does taking the address of a local move it to the heap
- What exactly does a slice header contain
- How does append decide to grow into a new array
- What is the difference between a string and a byte slice
- Why is concatenating in a loop a quadratic pattern
Each one is answered in full in the pack, with the reasoning written out rather than a bullet list.
About this pack
- How many questions?
- 360, spread across 20 topics, written out in full across 329 pages.
- Do the answers just list keywords?
- No. Each answer is written as prose, because that is what you have to reproduce when someone asks you the question.
- How do I get it?
- Pay once and the PDF arrives by email immediately, with a signed download link.
- Can I get it refunded?
- Yes, if it is not what you expected. See the refund policy.