# go-interview-practice
**Repository Path**: tigerhorse/go-interview-practice
## Basic Information
- **Project Name**: go-interview-practice
- **Description**: No description available
- **Primary Language**: Go
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-01-24
- **Last Updated**: 2026-01-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Go Interview Practice
[](https://github.com/RezaSi/go-interview-practice/stargazers)
[](https://golang.org/)
[](https://github.com/RezaSi/go-interview-practice)
**β Star the repo if itβs useful to you**
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](https://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:
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](https://github.com/PolinaSvet)** | **30**/30 | **100.0%** | Master | β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
|
| π₯ | 
**[nzamulov](https://github.com/nzamulov)** | **30**/30 | **100.0%** | Master | β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
|
| π₯ | 
**[odelbos](https://github.com/odelbos)** | **30**/30 | **100.0%** | Master | β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
|
| 4 | 
**[mick4711](https://github.com/mick4711)** | **23**/30 | **76.7%** | Master | β
β
β
β
β
β
β
β
β
β
β¬β¬β
β
β¬
β
β
β
β
β
β
β
β
β¬β¬β
β
β¬β¬β
|
| 5 | 
**[Gandook](https://github.com/Gandook)** | **22**/30 | **73.3%** | Master | β
β
β
β
β
β
β
β
β
β
β¬β¬β
β¬β¬
β¬β
β
β
β¬β
β
β
β
β
β
β
β¬β¬β
|
| 6 | 
**[y1hao](https://github.com/y1hao)** | **21**/30 | **70.0%** | Master | β
β
β
β
β
β
β
β
β¬β
β¬β¬β
β
β¬
β
β
β
β
β
β
β
β
β¬β¬β¬β
β¬β¬β
|
| 7 | 
**[JackDalberg](https://github.com/JackDalberg)** | **20**/30 | **66.7%** | Master | β
β
β
β
β
β
β
β
β¬β
β¬β¬β
β
β¬
β¬β
β
β
β
β
β
β
β¬β¬β¬β
β¬β¬β
|
| 8 | 
**[Ali-Fartoot](https://github.com/Ali-Fartoot)** | **19**/30 | **63.3%** | Expert | β
β
β
β
β
β
β
β
β¬β
β¬β¬β
β¬β¬
β
β
β
β
β¬β
β
β
β¬β¬β¬β
β¬β¬β
|
| 9 | 
**[Cpoing](https://github.com/Cpoing)** | **17**/30 | **56.7%** | Expert | β
β
β
β
β¬β
β
β
β
β
β
β
β
β
β
β¬β
β
β¬β¬β
β¬β¬β¬β¬β¬β¬β¬β¬β¬ |
| 10 | 
**[ashwinipatankar](https://github.com/ashwinipatankar)** β€οΈ | **17**/30 | **56.7%** | 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**: 230
- **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](https://github.com/odelbos)** | **17** | **4** pkgs | π₯ Package Master | **cobra**: 4 β’ **fiber**: 4 β’ **gin**: 4 β’ **gorm**: 5 |
| π₯ | 
**[PolinaSvet](https://github.com/PolinaSvet)** | **8** | **2** pkgs | πͺ Package Advanced | **cobra**: 4 β’ **gin**: 4 |
| π₯ | 
**[RezaSi](https://github.com/RezaSi)** | **7** | **6** pkgs | πͺ Package Advanced | **cobra**: 1 β’ **echo**: 1 β’ **fiber**: 1 β’ **gin**: 1 β’ **gorm**: 1 β’ **mongodb**: 2 |
| 4 | 
**[22-7-co](https://github.com/22-7-co)** | **5** | **2** pkgs | πͺ Package Advanced | **gin**: 4 β’ **gorm**: 1 |
| 5 | 
**[father-frog](https://github.com/father-frog)** | **4** | **1** pkg | π Package Intermediate | **gin**: 4 |
| 6 | 
**[q1ngy](https://github.com/q1ngy)** | **4** | **1** pkg | π Package Intermediate | **gin**: 4 |
| 7 | 
**[BrianHuang813](https://github.com/BrianHuang813)** | **3** | **1** pkg | π Package Intermediate | **gin**: 3 |
| 8 | 
**[Kinsue](https://github.com/Kinsue)** | **3** | **2** pkgs | π Package Intermediate | **gin**: 2 β’ **gorm**: 1 |
| 9 | 
**[ashwinipatankar](https://github.com/ashwinipatankar)** β€οΈ | **3** | **1** pkg | π Package Intermediate | **cobra**: 3 |
| 10 | 
**[aswinsreeraj](https://github.com/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](https://github.com/PolinaSvet)** | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
| π₯ | **[odelbos](https://github.com/odelbos)** | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
| π₯ | **[ashwinipatankar](https://github.com/ashwinipatankar)** | 3/4 | π©π©π©π©π©π©π©β¬β¬β¬ 75% |
| 4 | **[RezaSi](https://github.com/RezaSi)** | 1/4 | π©π©β¬β¬β¬β¬β¬β¬β¬β¬ 25% |
#### Echo Package
| Rank | Developer | Completed | Progress |
|:---:|:---:|:---:|:---|
| π₯ | **[RezaSi](https://github.com/RezaSi)** | 1/4 | π©π©β¬β¬β¬β¬β¬β¬β¬β¬ 25% |
#### Fiber Package
| Rank | Developer | Completed | Progress |
|:---:|:---:|:---:|:---|
| π₯ | **[odelbos](https://github.com/odelbos)** | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
| π₯ | **[RezaSi](https://github.com/RezaSi)** | 1/4 | π©π©β¬β¬β¬β¬β¬β¬β¬β¬ 25% |
#### Gin Package
| Rank | Developer | Completed | Progress |
|:---:|:---:|:---:|:---|
| π₯ | **[22-7-co](https://github.com/22-7-co)** | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
| π₯ | **[PolinaSvet](https://github.com/PolinaSvet)** | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
| π₯ | **[father-frog](https://github.com/father-frog)** | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
| 4 | **[odelbos](https://github.com/odelbos)** | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
| 5 | **[q1ngy](https://github.com/q1ngy)** | 4/4 | π©π©π©π©π©π©π©π©π©π© 100% |
#### Gorm Package
| Rank | Developer | Completed | Progress |
|:---:|:---:|:---:|:---|
| π₯ | **[odelbos](https://github.com/odelbos)** | 5/5 | π©π©π©π©π©π©π©π©π©π© 100% |
| π₯ | **[aswinsreeraj](https://github.com/aswinsreeraj)** | 3/5 | π©π©π©π©π©π©β¬β¬β¬β¬ 60% |
| π₯ | **[grozdovk](https://github.com/grozdovk)** | 2/5 | π©π©π©π©β¬β¬β¬β¬β¬β¬ 40% |
| 4 | **[22-7-co](https://github.com/22-7-co)** | 1/5 | π©π©β¬β¬β¬β¬β¬β¬β¬β¬ 20% |
| 5 | **[Kinsue](https://github.com/Kinsue)** | 1/5 | π©π©β¬β¬β¬β¬β¬β¬β¬β¬ 20% |
#### Mongodb Package
| Rank | Developer | Completed | Progress |
|:---:|:---:|:---:|:---|
| π₯ | **[RezaSi](https://github.com/RezaSi)** | 2/5 | π©π©π©π©β¬β¬β¬β¬β¬β¬ 40% |
### π Package Challenge Statistics
- **Total Package Challenges Available**: 26
- **Active Package Learners**: 27
- **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)
```bash
# 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!
1. **Fork this repository** (if you haven't already)
2. **Open in Codespaces**: Click the green "Code" button on your forked repository, then select "Codespaces" tab
3. **Create Codespace**: Click "Create codespace on main"
4. **Start the Web UI**: Once the codespace loads, open a terminal and run:
```bash
cd web-ui
go run main.go
```
5. **Optional: Enable AI Features**: Add your Gemini API key:
```bash
echo "AI_PROVIDER=gemini" > .env
echo "GEMINI_API_KEY=your_actual_api_key_here" >> .env
```
6. **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
```bash
# 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
[](https://github.com/RezaSi/go-interview-practice)
[](https://github.com/RezaSi/go-interview-practice)
### Quick Usage
```markdown
[](https://github.com/RezaSi/go-interview-practice)
```
After contributing solutions, your badges are automatically generated in [`badges/YOUR_USERNAME_badges.md`](badges/) with multiple formats ready to use.
**[Complete Badge Guide & Examples β](docs/profile-badges-guide.md)**
## Challenge Categories
### Beginner
Perfect for those new to Go or brushing up on fundamentals
- **[Challenge 1](./challenge-1)**: Sum of Two Numbers
- **[Challenge 2](./challenge-2)**: Reverse a String
- **[Challenge 3](./challenge-3)**: Employee Data Management
- **[Challenge 6](./challenge-6)**: Word Frequency Counter
- **[Challenge 18](./challenge-18)**: Temperature Converter
- **[Challenge 21](./challenge-21)**: Binary Search Implementation
- **[Challenge 22](./challenge-22)**: Greedy Coin Change
### Intermediate
For developers familiar with Go who want to deepen their knowledge
- **[Challenge 4](./challenge-4)**: Concurrent Graph BFS Queries
- **[Challenge 5](./challenge-5)**: HTTP Authentication Middleware
- **[Challenge 7](./challenge-7)**: Bank Account with Error Handling
- **[Challenge 10](./challenge-10)**: Polymorphic Shape Calculator
- **[Challenge 13](./challenge-13)**: SQL Database Operations
- **[Challenge 14](./challenge-14)**: Microservices with gRPC
- **[Challenge 16](./challenge-16)**: Performance Optimization
- **[Challenge 17](./challenge-17)**: Interactive Debugging Tutorial
- **[Challenge 19](./challenge-19)**: Slice Operations
- **[Challenge 20](./challenge-20)**: Circuit Breaker Pattern
- **[Challenge 23](./challenge-23)**: String Pattern Matching
- **[Challenge 27](./challenge-27)**: Go Generics Data Structures
- **[Challenge 30](./challenge-30)**: Context Management Implementation
### Advanced
Challenging problems that test mastery of Go and computer science concepts
- **[Challenge 8](./challenge-8)**: Chat Server with Channels
- **[Challenge 9](./challenge-9)**: RESTful Book Management API
- **[Challenge 11](./challenge-11)**: Concurrent Web Content Aggregator
- **[Challenge 12](./challenge-12)**: File Processing Pipeline
- **[Challenge 15](./challenge-15)**: OAuth2 Authentication
- **[Challenge 24](./challenge-24)**: Dynamic Programming - Longest Increasing Subsequence
- **[Challenge 25](./challenge-25)**: Graph Algorithms - Shortest Path
- **[Challenge 26](./challenge-26)**: Regular Expression Text Processor
- **[Challenge 28](./challenge-28)**: Cache Implementation with Multiple Eviction Policies
- **[Challenge 29](./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:**
1. Fork the repository
2. Choose challenge type (classic or package-based)
3. Follow our template structure
4. Submit a pull request
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines on both challenge types.
---
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Stargazers over time
[](https://starchart.cc/RezaSi/go-interview-practice)
---
## π’ Premium Sponsors
*Thank you to our premium sponsors who make this project possible!*
### π₯ Silver Sponsors
### ποΈ Infrastructure Sponsors
###### Interested in premium sponsorship? [Contact us](https://github.com/sponsors/RezaSi) to feature your company logo here and on our platform!
---
**Happy Coding!** π»