Go 100 Challenge: 100 Golang Problems to Level Up Your Backend Skills
If you're searching for Go 100 problems, Golang problem solving practice, or a structured Go learning roadmap, this repo is built exactly for that. I created Go 100 Challenge — an open-source collection of 100 hands-on Golang programming challenges and backend projects, designed to take you from basic Go syntax to production-grade backend engineering.
Why I Built This
Most "learn Go" tutorials stop at syntax. But real backend engineering needs more — concurrency, clean architecture, error handling, and standard library mastery. So instead of just reading docs, I decided to build my way through 100 real problems, each one slightly harder than the last, and document everything in public.
What You'll Learn
The challenges are structured to build production-ready backend skills, including:
- Core Go Logic — maps, slices, structs, and idiomatic data modeling
-
Concurrency — Goroutines, Channels,
sync.Mutex, andContextfor high-performance systems -
Standard Library Mastery —
net/http,os,io,time,encoding/json,crypto - Clean Code Architecture — Domain-Driven Design, interface abstractions, explicit error handling
Sample Problems From the Roadmap
| # | Challenge | Key Concepts | Level |
|---|---|---|---|
| p001 | Temperature Converter | CLI I/O, type assertions | Beginner |
| p002 | ATM Security | Conditional logic, string sanitation | Beginner |
| p003 | Word Frequency Counter | Maps, tokenization | Beginner |
| p006 | Bank Account CLI | Pointer receivers, struct methods | Beginner |
| p007 | Todo CLI Tool | JSON serialization, file I/O | Intermediate |
| p009 | Password Validator | Regex, custom errors | Intermediate |
| p012 | URL Shortener Engine |
math/rand/v2, strings.Builder
|
Intermediate |
| p013 | Concurrent Web Crawler | Goroutines, Channels, sync.WaitGroup
|
Intermediate |
Each problem lives in its own folder with runnable Go code — no boilerplate, no over-engineered frameworks. Just idiomatic Go.
How to Get Started
git clone https://github.com/mrhujaifa/go-100-challenge.git
cd go-100-challenge
# Run any specific challenge
cd p012_url_shortener
go run main.go
Prerequisite: Go 1.22+
Who This Is For
- Beginners who finished "Go syntax" tutorials and want real problems to solve
- Developers preparing for Golang backend interviews
- Anyone building a daily coding-practice habit in Go, similar to a "100 days of code" challenge but Go-specific
Follow the Progress
The repo is actively updated as I solve more problems and move toward advanced topics like microservices, gRPC, and distributed systems patterns. If you're on a similar journey learning Golang problem solving and backend fundamentals, star the repo and follow along:
-> github.com/mrhujaifa/go-100-challenge
If this helps you, a ⭐ on the repo means a lot — and feel free to fork it and solve alongside me.
Tags: Go 100 problems, Golang problems, Go problem solving, Golang challenges, learn Go, Golang backend development, Go concurrency practice
Top comments (0)