Go Interview Practice
Welcome to the Go Interview Practice repository! Master Go programming and ace your technical interviews with our interactive coding challenges.
Our interactive platform is now live at app.gointerview.dev π Explore challenges, track your progress, and elevate your Go skills with AI-powered mentorship.
Visual Overview
Interactive Challenge Platform
Our comprehensive web interface provides everything you need to practice and master Go programming:
classic_and_packages.mp4
A brief introduction to the project
Code & Test Experience
|
Interactive Code Editor Write, edit, and test your Go solutions with syntax highlighting and real-time feedback |
Instant Results & Analytics Get immediate test results, performance metrics, and detailed execution analysis |
Competitive Leaderboard
Beautiful leaderboard showcasing top developers with challenge completion indicators, rankings, and achievements
π Top 10 Leaderboard
Our most accomplished Go developers, ranked by number of challenges completed:
Note: The data below is automatically updated by GitHub Actions when challenge scoreboards change.
| π | Developer | Solved | Rate | Achievement | Progress |
|---|---|---|---|---|---|
| π₯ | PolinaSvet |
30/30 | 100.0% | Master | β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β β β β β β β β β β β β β β β |
| π₯ | nzamulov |
30/30 | 100.0% | Master | β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β β β β β β β β β β β β β β β |
| π₯ | odelbos |
30/30 | 100.0% | Master | β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β β β β β β β β β β β β β β β |
| 4 | mick4711 |
23/30 | 76.7% | Master | β
β
β
β
β
β
β
β
β
β
β¬β¬β
β
β¬ β β β β β β β β β¬β¬β β β¬β¬β |
| 5 | Gandook |
22/30 | 73.3% | Master | β
β
β
β
β
β
β
β
β
β
β¬β¬β
β¬β¬ β¬β β β β¬β β β β β β β β¬β¬β |
| 6 | y1hao |
21/30 | 70.0% | Master | β
β
β
β
β
β
β
β
β¬β
β¬β¬β
β
β¬ β β β β β β β β β¬β¬β¬β β¬β¬β |
| 7 | JackDalberg |
20/30 | 66.7% | Master | β
β
β
β
β
β
β
β
β¬β
β¬β¬β
β
β¬ β¬β β β β β β β β¬β¬β¬β β¬β¬β |
| 8 | Ali-Fartoot |
19/30 | 63.3% | Expert | β
β
β
β
β
β
β
β
β¬β
β¬β¬β
β¬β¬ β β β β β¬β β β β¬β¬β¬β β¬β¬β |
| 9 | ashwinipatankar β€οΈ |
17/30 | 56.7% | Expert | β
β
β
β¬β
β
β
β¬β
β
β¬β¬β
β
β¬ β¬β β β β¬β¬β β β¬β¬β¬β β¬β¬β |
| 10 | Cpoing |
16/30 | 53.3% | Expert | β
β
β
β
β¬β
β
β
β
β
β¬β
β
β
β
β¬β β β¬β¬β β¬β¬β¬β¬β¬β¬β¬β¬β¬ |
β Completed β’ β¬ Not Completed
All 30 challenges shown in two rows
Updated automatically based on 30 available challenges
Challenge Progress Overview
- Total Challenges Available: 30
- Active Developers: 217
- Most Challenges Solved: 30 by PolinaSvet
π Package Challenges Leaderboard
Master Go packages through hands-on challenges! Each package offers a structured learning path with real-world scenarios.
Note: The data below is automatically updated by GitHub Actions when package challenge scoreboards change.
| π | Developer | Total Solved | Packages | Achievement | Challenge Distribution |
|---|---|---|---|---|---|
| π₯ | odelbos |
17 | 4 pkgs | π₯ Package Master | cobra: 4 β’ fiber: 4 β’ gin: 4 β’ gorm: 5 |
| π₯ | PolinaSvet |
8 | 2 pkgs | πͺ Package Advanced | cobra: 4 β’ gin: 4 |
| π₯ | RezaSi |
7 | 6 pkgs | πͺ Package Advanced | cobra: 1 β’ echo: 1 β’ fiber: 1 β’ gin: 1 β’ gorm: 1 β’ mongodb: 2 |
| 4 | 22-7-co |
5 | 2 pkgs | πͺ Package Advanced | gin: 4 β’ gorm: 1 |
| 5 | father-frog |
4 | 1 pkg | π Package Intermediate | gin: 4 |
| 6 | q1ngy |
4 | 1 pkg | π Package Intermediate | gin: 4 |
| 7 | BrianHuang813 |
3 | 1 pkg | π Package Intermediate | gin: 3 |
| 8 | Kinsue |
3 | 2 pkgs | π Package Intermediate | gin: 2 β’ gorm: 1 |
| 9 | ashwinipatankar β€οΈ |
3 | 1 pkg | π Package Intermediate | cobra: 3 |
| 10 | aswinsreeraj |
3 | 1 pkg | π Package Intermediate | gorm: 3 |
π Package Challenges - Learn Go packages through practical, real-world scenarios
π¦ Per-Package Progress
Cobra Package
| Rank | Developer | Completed | Progress |
|---|---|---|---|
| π₯ | PolinaSvet | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
| π₯ | odelbos | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
| π₯ | ashwinipatankar | 3/4 | π©π©π©π©π©π©π©β¬β¬β¬ 75% |
| 4 | RezaSi | 1/4 | π©π©β¬β¬β¬β¬β¬β¬β¬β¬ 25% |
Echo Package
| Rank | Developer | Completed | Progress |
|---|---|---|---|
| π₯ | RezaSi | 1/4 | π©π©β¬β¬β¬β¬β¬β¬β¬β¬ 25% |
Fiber Package
| Rank | Developer | Completed | Progress |
|---|---|---|---|
| π₯ | odelbos | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
| π₯ | RezaSi | 1/4 | π©π©β¬β¬β¬β¬β¬β¬β¬β¬ 25% |
Gin Package
| Rank | Developer | Completed | Progress |
|---|---|---|---|
| π₯ | 22-7-co | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
| π₯ | PolinaSvet | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
| π₯ | father-frog | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
| 4 | odelbos | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
| 5 | q1ngy | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
Gorm Package
| Rank | Developer | Completed | Progress |
|---|---|---|---|
| π₯ | odelbos | 5/5 | π©π©π©π©π©π©π©π©π©π© 100% |
| π₯ | aswinsreeraj | 3/5 | π©π©π©π©π©π©β¬β¬β¬β¬ 60% |
| π₯ | grozdovk | 2/5 | π©π©π©π©β¬β¬β¬β¬β¬β¬ 40% |
| 4 | 22-7-co | 1/5 | π©π©β¬β¬β¬β¬β¬β¬β¬β¬ 20% |
| 5 | Kinsue | 1/5 | π©π©β¬β¬β¬β¬β¬β¬β¬β¬ 20% |
Mongodb Package
| Rank | Developer | Completed | Progress |
|---|---|---|---|
| π₯ | RezaSi | 2/5 | π©π©π©π©β¬β¬β¬β¬β¬β¬ 40% |
π Package Challenge Statistics
-
Total Package Challenges Available: 26
-
Active Package Learners: 26
-
Available Packages: 6 (cobra, echo, fiber, gin, gorm, mongodb)
-
Most Package Challenges Solved: 17 by odelbos
Key Features
- Interactive Web UI - Code, test, and submit solutions in your browser
- Automated Testing - Get immediate feedback on your solutions
- Automated Scoreboards - Solutions are automatically scored and ranked
- Profile Badges - Beautiful auto-updating badges for GitHub profiles, LinkedIn, and portfolios
- Performance Analytics - Track execution time and memory usage for your solutions
- Comprehensive Learning - Each challenge includes detailed explanations and resources
- Progressive Difficulty - From beginner to advanced Go concepts
- AI Interview Simulation - Practice with AI-powered code review and interviewer questions
AI Interview Simulation
Transform your coding practice into realistic interview scenarios with our AI-powered features:
Real-Time Code Review - Get instant feedback on code quality, complexity analysis, and improvement suggestions
Dynamic Interview Questions - AI generates follow-up questions based on your solution approach
Progressive Hints - 4-level hint system from subtle nudges to detailed explanations
Multi-LLM Support - Works with Gemini (recommended), OpenAI, or Claude
Simply add your API key to experience interview-style feedback that adapts to your code and challenges you with realistic technical questions.
AI Interview Experience
|
AI Code Review Get instant feedback on code quality, complexity analysis, and improvement suggestions from AI |
Dynamic Interview Questions AI generates follow-up questions based on your solution approach and coding patterns |
Quick Start
Important: You must fork this repository first before cloning, otherwise you won't be able to push your solutions or create pull requests!
Option 1: Web UI (Recommended)
# 1. First, fork this repository on GitHub # Go to https://github.com/RezaSi/go-interview-practice # Click the "Fork" button in the top-right corner # 2. Clone your forked repository (replace 'yourusername' with your GitHub username) git clone https://github.com/yourusername/go-interview-practice.git cd go-interview-practice # 3. Start the web interface cd web-ui go run main.go # 4. Open http://localhost:8080 in your browser # 5. Optional: Enable AI Features (Recommended) π€ # Add your free Gemini API key to enable AI interview simulation echo "AI_PROVIDER=gemini" > web-ui/.env echo "GEMINI_API_KEY=your_actual_api_key_here" >> web-ui/.env # Get your free API key: https://makersuite.google.com/app/apikey # Note: .env files are automatically ignored by git for security
After solving challenges and submitting solutions:
- Your solutions will be automatically saved to your local repository
- Follow the provided Git commands to commit and push your changes
- Create a pull request to contribute your solutions back to the main project
Option 2: GitHub Codespaces (Cloud Development + Web UI)
Want to get started instantly without setting up anything locally? Use GitHub Codespaces!
- Fork this repository (if you haven't already)
- Open in Codespaces: Click the green "Code" button on your forked repository, then select "Codespaces" tab
- Create Codespace: Click "Create codespace on main"
- Start the Web UI: Once the codespace loads, open a terminal and run:
- Optional: Enable AI Features: Add your Gemini API key:
echo "AI_PROVIDER=gemini" > .env echo "GEMINI_API_KEY=your_actual_api_key_here" >> .env
- Access the Web UI: Click on the "Ports" tab in the bottom panel, then click the "Open in Browser" button next to port 8080
Benefits of using Codespaces:
- No local setup required
- Pre-configured Go environment
- Full VS Code experience in the browser
- Automatic port forwarding for the web UI
- All dependencies pre-installed
- Works on any device with a browser
Option 3: Command Line
# 1. Fork the repository first (see step 1 above) # 2. Clone your fork and set up a challenge workspace git clone https://github.com/yourusername/go-interview-practice.git cd go-interview-practice ./create_submission.sh 1 # For challenge #1 # 3. Implement your solution in the editor of your choice # 4. Run tests cd challenge-1 ./run_tests.sh
Profile Badges for Contributors
Showcase your Go programming achievements with auto-updating profile badges for GitHub profiles, portfolios, and personal websites.
Examples
Quick Usage
[](https://github.com/RezaSi/go-interview-practice)
After contributing solutions, your badges are automatically generated in badges/YOUR_USERNAME_badges.md with multiple formats ready to use.
Complete Badge Guide & Examples β
Challenge Categories
Beginner
Perfect for those new to Go or brushing up on fundamentals
- Challenge 1: Sum of Two Numbers
- Challenge 2: Reverse a String
- Challenge 3: Employee Data Management
- Challenge 6: Word Frequency Counter
- Challenge 18: Temperature Converter
- Challenge 21: Binary Search Implementation
- Challenge 22: Greedy Coin Change
Intermediate
For developers familiar with Go who want to deepen their knowledge
- Challenge 4: Concurrent Graph BFS Queries
- Challenge 5: HTTP Authentication Middleware
- Challenge 7: Bank Account with Error Handling
- Challenge 10: Polymorphic Shape Calculator
- Challenge 13: SQL Database Operations
- Challenge 14: Microservices with gRPC
- Challenge 16: Performance Optimization
- Challenge 17: Interactive Debugging Tutorial
- Challenge 19: Slice Operations
- Challenge 20: Circuit Breaker Pattern
- Challenge 23: String Pattern Matching
- Challenge 27: Go Generics Data Structures
- Challenge 30: Context Management Implementation
Advanced
Challenging problems that test mastery of Go and computer science concepts
- Challenge 8: Chat Server with Channels
- Challenge 9: RESTful Book Management API
- Challenge 11: Concurrent Web Content Aggregator
- Challenge 12: File Processing Pipeline
- Challenge 15: OAuth2 Authentication
- Challenge 24: Dynamic Programming - Longest Increasing Subsequence
- Challenge 25: Graph Algorithms - Shortest Path
- Challenge 26: Regular Expression Text Processor
- Challenge 28: Cache Implementation with Multiple Eviction Policies
- Challenge 29: Rate Limiter Implementation
How to Use This Repository
1. Explore Challenges
Browse challenges through the web UI or in the code repository. Each challenge includes:
- Detailed problem statement
- Function signature to implement
- Comprehensive test cases
- Learning resources
2. Implement Your Solution
Write code that solves the challenge requirements and passes all test cases.
3. Test & Refine
Use the built-in testing tools to validate your solution, then refine it for:
- Correctness
- Efficiency
- Code quality
4. Submit & Compare
Submit your passing solution to be added to the scoreboard:
- Your solution is automatically tested and scored
- Execution time and resource usage are recorded
- Your solution is ranked among other submissions
- Access detailed performance metrics to optimize further
5. Learn & Progress
Review the learning materials to deepen your understanding of the concepts used.
Contributing
We welcome contributions! You can contribute in several ways:
Submit Solutions:
- Solve existing classic or package challenges
- Submit your solutions via pull request
Add New Challenges:
- Package Challenges: Framework-specific practical applications (Gin, Cobra, GORM, etc.)
Quick Steps:
- Fork the repository
- Choose challenge type (classic or package-based)
- Follow our template structure
- Submit a pull request
See CONTRIBUTING.md for detailed guidelines on both challenge types.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Stargazers over time
π’ Premium Sponsors
Thank you to our premium sponsors who make this project possible!
π₯ Silver Sponsors
ποΈ Infrastructure Sponsors
Interested in premium sponsorship? Contact us to feature your company logo here and on our platform!
Happy Coding! π»




