THE NEXT LEVEL · PREPARE TO EXPLAIN

Your Go interview map.

Choose a direction, open a topic, and work through the guides — from your first Go interview to systems and failure analysis.

88 worked guides12 topics8 interactive algorithm labs

Explain the question, compare a strong answer, then try the worked exercise. Junior through Staff / expert. No finite bank covers every possible interview.

Your study marks and last opened section are saved on this browser. Web and app progress are independent; clearing browser data removes local progress.

0 of 88 understood

Your place and study marks stay in this browser. No account needed.

Start preparing →
Show
Difficulty

88 guides in your interview map

Language & reasoning

Explain values, memory and concurrency. Trace an algorithm before choosing an implementation.

Go foundationsValues → interfaces → explicit contracts0/14understood
  1. Zero values and safe APIsIs every zero value ready for every operation?Junior · Prepare & explain
  2. Slice copies share storageWhy did appending to one slice change another?Junior · Prepare & explain
  3. Bytes, runes and textWhat does len(s) count, and when does range give the wrong index for a UI?Junior · Prepare & explain
  4. Typed nil and method setsWhy can err != nil even though its pointer is nil?Middle · Prepare & explain
  5. Errors are part of the APIShould every error be wrapped, logged and retried?Middle · Prepare & explain
  6. Generics, interfaces and typed codeWhen should a reusable function be generic?Middle · Prepare & explain
  7. Defer arguments and return valuesWhen are deferred function arguments evaluated?Junior · Prepare & explain
  8. Panic, recover and failure boundariesCan a parent goroutine recover a child goroutine's panic?Middle · Prepare & explain
  9. Map order, nil maps and concurrencyCan you rely on iteration order or read a map during a concurrent write?Junior · Prepare & explain
  10. Everything is passed by valueIf Go passes by value, why can a function modify a caller's slice elements?Middle · Prepare & explain
  11. Loop variables and toolchain semanticsDo all goroutines in a range loop still capture the same iteration variable?Middle · Prepare & explain
  12. Comparability and map keysWhy can using any as a map key panic?Middle · Prepare & explain
  13. io.Reader: data and an error togetherShould a read loop discard bytes when Read returns an error?Middle · Prepare & explain
  14. Integer width, overflow and representationDoes int always have64 bits, and do integer operations panic on overflow?Senior · Prepare & explain
Memory and runtimeAllocation → scheduling → measured latency0/6understood
  1. Stack, heap and escape analysisDoes returning a pointer always allocate on the heap?Middle · Prepare & explain
  2. GC budgets under loadWhy can a service with little live data still spend substantial CPU in GC?Senior · Prepare & explain
  3. Retention, pools and ownershipCan a tiny slice retain a very large allocation?Senior · Prepare & explain
  4. Goroutines, threads and CPU quotasWhy does adding goroutines fail to speed up CPU work?Senior · Prepare & explain
  5. Memory layout and false sharingTwo independent counters slow down when updated concurrently. Why?Staff / expert · Prepare & explain
  6. When unsafe and cgo change the contractCan you keep a C pointer to Go memory after a cgo call?Staff / expert · Prepare & explain
ConcurrencyOwnership → cancellation → bounded work0/8understood
  1. Channel closure is a protocolWho closes a channel used by several workers?Junior · Prepare & explain
  2. Cancellation is not joiningDoes calling cancel guarantee a goroutine has stopped?Middle · Prepare & explain
  3. Data races versus business racesWhy is a check-then-insert still wrong with a mutex around each operation?Middle · Prepare & explain
  4. Happens-before, not wishful timingCan another goroutine safely read a value after sleeping?Senior · Prepare & explain
  5. Bounded workers and overloadHow do you keep one million jobs from becoming one million goroutines?Senior · Prepare & explain
  6. Select, timers and fairnessDoes select always prefer cancellation over a ready result?Senior · Prepare & explain
  7. Concurrent cache and stampedesHow do you avoid 1,000 identical cache misses triggering 1,000 database reads?Senior · Prepare & explain
  8. Deadlock and lock orderingHow do you debug a service that is alive but no longer processes requests?Staff / expert · Prepare & explain
AlgorithmsInvariant → trace → complexity → tests0/8understood
  1. Binary search as a boundary invariantFind the first index whose value is at least a target.Junior · Prepare & explain
  2. Two sum and index ownershipFind two distinct indexes whose values sum to a target.Junior · Prepare & explain
  3. Sliding window without repeated scansFind the longest byte substring with no repeated byte.Middle · Prepare & explain
  4. BFS and shortest unweighted pathsHow do you find the fewest edges between two nodes?Middle · Prepare & explain
  5. Dijkstra and stale heap entriesHow do you find cheapest routes with nonnegative edge weights?Senior · Prepare & explain
  6. Top-K with a bounded min-heapHow can a stream keep its largest k values without sorting everything?Senior · Prepare & explain
  7. Merge sorted streamsHow do you merge two sorted inputs without re-sorting them?Middle · Prepare & explain
  8. Dynamic programming: minimum coinsWhy does choosing the largest coin first fail for arbitrary denominations?Senior · Prepare & explain

Design & production

Connect architecture, network budgets, testing and repeatable builds.

Architecture and systemsBoundaries → consistency → failure recovery0/6understood
  1. Why Go for backend systems?Why choose Go for a network service, and when would you choose something else?Junior · Prepare & explain
  2. Package boundaries and clean codeWhat makes a Go package a useful boundary rather than an extra folder?Middle · Prepare & explain
  3. Layered, hexagonal, vertical or services?How would you choose an architecture for a growing Go product?Senior · Prepare & explain
  4. Patterns with a costWhich design patterns translate naturally into Go?Senior · Prepare & explain
  5. Idempotency, outbox and retriesHow do you keep an accepted order and its published event consistent?Senior · Prepare & explain
  6. Design a rate-limited job platformHow would you design a multi-tenant Go job service at 100,000 jobs per minute?Staff / expert · Prepare & explain
Network servicesRequest → budget → storage → response0/6understood
  1. One request, one time budgetWhich timeouts should a production Go HTTP service configure?Middle · Prepare & explain
  2. Authorization and hostile inputWhat must a Go API validate beyond successful JSON decoding?Middle · Prepare & explain
  3. Idempotent API operationsHow should POST /payments behave when the caller retries?Senior · Prepare & explain
  4. Graceful shutdown and probesWhat is the correct shutdown order for a Go service?Senior · Prepare & explain
  5. SQL pools, transactions and N+1What does sql.DB own, and why can increasing its pool hurt?Senior · Prepare & explain
  6. Streaming, backpressure and orderingHow do you stream millions of records without retaining them all?Staff / expert · Prepare & explain
Testing and performanceReproduce → assert → measure → diagnose0/6understood
  1. Tests that prove behaviorWhat makes a good table-driven test?Junior · Prepare & explain
  2. Parallel tests without shared stateWhy does a test pass alone but fail with t.Parallel?Middle · Prepare & explain
  3. Fuzzing parsers with useful propertiesWhat property would you fuzz for a custom codec?Middle · Prepare & explain
  4. Benchmark versus load testWhy can a faster microbenchmark still make production slower?Senior · Prepare & explain
  5. CPU, heap, block and traceWhich diagnostic would you collect first for a p99 incident?Senior · Prepare & explain
  6. Fault tests around unknown outcomesHow do you test a retry protocol instead of just a retry loop?Staff / expert · Prepare & explain
Modules and toolingGraph → verified bytes → repeatable build0/6understood
  1. Package, module and repositoryWhy can a repository contain several packages but only one module path in one go.mod?Junior · Prepare & explain
  2. Version selection and checksumsWhy did changing one dependency upgrade another?Middle · Prepare & explain
  3. go.work, replace and release consumersWhy can code work in a workspace but fail for users?Middle · Prepare & explain
  4. Private dependencies and supply chainHow do you keep private module names and credentials out of public services?Senior · Prepare & explain
  5. Build reproducibility and resource budgetsWhy does go test ./... fail only under a small CI container?Senior · Prepare & explain
  6. API evolution and toolchain changesHow do you upgrade a Go service without silently changing its contract?Staff / expert · Prepare & explain

The Go ecosystem

Work with databases, containers and coding agents. Reason about their failure modes.

MongoDB with GoModel → index → atomic write → bounded cursor0/6understood
  1. One MongoDB client, many operationsDo you create and disconnect a MongoDB client for every HTTP request?Junior · Prepare & explain
  2. Compound indexes and paginationWhich index supports tenant filtering and newest-first pagination?Middle · Prepare & explain
  3. Conditional updates and uniquenessHow do two Go replicas safely update the same document?Middle · Prepare & explain
  4. Transactions and external side effectsCan a MongoDB transaction callback send a payment or email?Senior · Prepare & explain
  5. Cursors, cancellation and partial resultsWhy can a cursor loop return no error but still lose records?Senior · Prepare & explain
  6. MongoDB under contentionWhy does increasing maxPoolSize fail to fix p99?Staff / expert · Prepare & explain
Redis with GoShared client → bounded command → expiration → recovery0/6understood
  1. Redis client lifetime and missing keysHow do you distinguish a missing Redis key from an outage in Go?Junior · Prepare & explain
  2. Cache invalidation and expirationHow do you prevent stale data from living forever?Middle · Prepare & explain
  3. Pipeline is not a transactionWhat does Redis pipelining guarantee?Middle · Prepare & explain
  4. Leases, fencing and stale ownersDoes SET key token NX PX make a perfect distributed lock?Senior · Prepare & explain
  5. Streams, pending entries and idempotencyWhen should a consumer acknowledge a Redis Stream message?Senior · Prepare & explain
  6. Hot keys, eviction and overloadWhy does Redis latency rise even when Go CPU is low?Staff / expert · Prepare & explain
Docker and KubernetesImage → Pod → traffic → drain0/8understood
  1. Build an image, not a development machineWhat belongs in a production Go container image?Junior · Prepare & explain
  2. Go, MongoDB and Redis in ComposeWhy can a container not reach MongoDB at localhost:27017?Middle · Prepare & explain
  3. Startup, readiness and liveness probesWhy are three Kubernetes probes different?Middle · Prepare & explain
  4. Requests, limits and Go runtime budgetsWhat happens when a Pod exceeds CPU or memory limits?Senior · Prepare & explain
  5. Rolling updates and compatibilityHow do you deploy without dropping accepted work?Senior · Prepare & explain
  6. Autoscaling without melting storageWhy can adding Go replicas make the system slower?Senior · Prepare & explain
  7. Secrets, configuration and RBACWhat belongs in an image, a ConfigMap and a Secret?Senior · Prepare & explain
  8. Stateful databases are not ordinary PodsShould MongoDB and Redis simply scale like a stateless Go Deployment?Staff / expert · Prepare & explain
Go with coding agentsContext → small change → evidence → review0/8understood
  1. Use an agent without outsourcing understandingHow would you use Claude Code, Codex or Cursor for a Go change?Junior · Prepare & explain
  2. Codex repository guidance for GoWhat should a Go repository put in AGENTS.md for Codex?Middle · Prepare & explain
  3. Claude Code: context and verificationHow do you make Claude Code useful on an unfamiliar Go service?Middle · Prepare & explain
  4. Cursor rules and scoped editsHow would you guide Cursor while preserving an existing Go API?Middle · Prepare & explain
  5. Verify generated Go APIs and dependenciesHow do you catch a coding agent that invents a driver method?Senior · Prepare & explain
  6. Agent permissions and prompt injectionWhy can repository text be unsafe input for a coding agent?Senior · Prepare & explain
  7. Review AI-written concurrent GoWhat should you inspect first in generated goroutine code?Senior · Prepare & explain
  8. Demonstrate your own engineering judgmentHow do you discuss AI-assisted Go work in an interview?Staff / expert · Prepare & explain

Every guide is open. Difficulty describes the reasoning expected, not a hiring guarantee. Study marks are separate from course completion.