Multi-language interview prep repo. Each language has its own folder with topic scripts, exercises, and architecture patterns.
├── golang/ # Go backend engineer prep (23 topics)
│ ├── fundamentals/ # Core Go (variables → defer)
│ ├── concurrency/ # Goroutines, channels, patterns
│ ├── interfaces_deep/ # Why/when/how — 12 use cases
│ ├── testing/ # Table-driven tests, httptest, mocking, benchmarks
│ ├── generics/ # Type parameters, constraints, data structures
│ ├── database/ # database/sql patterns, transactions
│ ├── reflection/ # Tags, dynamic calls, validator
│ ├── json_encoding/ # Custom marshal, RawMessage, streaming
│ ├── shutdown/ # Graceful shutdown, signal handling
│ ├── web/ # Hexagonal API, middleware, context
│ ├── fundamentals/TASKS.md # 37 exercises
│ ├── concurrency/TASKS.md # 10 exercises
│ └── web/TASKS.md # 13 exercises
│
└── python/ # (future)
cd golang
# Fundamentals
go run fundamentals/01_basics/main.go
go run ./fundamentals/05_packages/
# Concurrency
go run ./concurrency/
# Interfaces deep dive
go run ./interfaces_deep/
# Testing
go test ./testing/ -v
go test ./testing/ -bench=.
# Hexagonal API (starts :8080)
go run ./web/01_hexagonal_api/
# Other topics
go run ./generics/
go run ./database/
go run ./reflection/
go run ./json_encoding/
go run ./shutdown/- Each language folder is self-contained with its own
go.mod/pyproject.tomletc - No cross-language dependencies
- Add a language: just create a new folder at root level
