Go
Goroutines and channels, interfaces, error handling, modules and Go tooling.
Variable and constant declarations, basic types, functions, loops, conditionals, packages, and the design choices that set Go apart from other languages.
Questions coming soon
Arrays, slices, maps, strings and runes, pointers, and how Go stores these values in memory and copies them when they are passed around.
Questions coming soon
Struct and tag declarations, value versus pointer receivers, type embedding, implicit interface satisfaction, and type assertions and switches.
Questions coming soon
Idiomatic error returns, wrapping and unwrapping with errors.Is and errors.As, custom error types, and when panic, recover and defer are appropriate.
Questions coming soon
Goroutines, buffered and unbuffered channels, select, context, the sync package primitives, and the race conditions and deadlocks that typically arise.
Questions coming soon
The goroutine scheduler, stack versus heap allocation, how the garbage collector works, memory leaks, and how to profile a running application.
Questions coming soon
Type parameters for functions and types, type constraints, the reflect package, and the cost of inspecting types dynamically at runtime.
Questions coming soon
Key standard library packages: files and I/O streams, time and timers, JSON encoding, string processing, and regular expressions.
Questions coming soon
Building HTTP servers and clients with net/http, routing, middleware, graceful shutdown, gRPC, and data exchange formats.
Questions coming soon
The database/sql package, connection pooling and its tuning, prepared statements, transactions and isolation levels, schema migrations, and libraries such as sqlx and GORM.
Questions coming soon
The testing package, table-driven tests, replacing dependencies with interfaces, measuring performance with benchmarks, and catching races with the race detector.
Questions coming soon
Go modules and dependency versioning, project layout, the go build and go vet commands, cross-compilation, and preparing an application for deployment.
Questions coming soon