# 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
[![GitHub Stars](https://img.shields.io/github/stars/RezaSi/go-interview-practice?style=for-the-badge&logo=github&color=yellow)](https://github.com/RezaSi/go-interview-practice/stargazers) [![Go Version](https://img.shields.io/badge/Go-1.19+-00ADD8?style=for-the-badge&logo=go)](https://golang.org/) [![Challenges](https://img.shields.io/badge/Challenges-30+-brightgreen?style=for-the-badge&logo=checkmarx)](https://github.com/RezaSi/go-interview-practice) RezaSi%2Fgo-interview-practice | Trendshift **⭐ 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.
Start Practicing Now
--- ## 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
Go Interview Practice Web UI - challenge Go Interview Practice Web UI - result
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
Go Interview Practice - Main 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 - Real-time feedback and analysis AI Interview Questions - Dynamic follow-up questions
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 [![Go Interview Practice Achievement](https://raw.githubusercontent.com/RezaSi/go-interview-practice/main/badges/RezaSi.svg)](https://github.com/RezaSi/go-interview-practice) [![Go Interview Practice Compact](https://raw.githubusercontent.com/RezaSi/go-interview-practice/main/badges/RezaSi_compact.svg)](https://github.com/RezaSi/go-interview-practice) ### Quick Usage ```markdown [![Go Interview Practice Achievement](https://raw.githubusercontent.com/RezaSi/go-interview-practice/main/badges/YOUR_USERNAME.svg)](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 [![Stargazers over time](https://starchart.cc/RezaSi/go-interview-practice.svg?variant=adaptive)](https://starchart.cc/RezaSi/go-interview-practice) --- ## 🏒 Premium Sponsors *Thank you to our premium sponsors who make this project possible!* ### πŸ₯ˆ Silver Sponsors
CodeRabbit
### πŸ—οΈ Infrastructure Sponsors
Sentry
###### Interested in premium sponsorship? [Contact us](https://github.com/sponsors/RezaSi) to feature your company logo here and on our platform! --- **Happy Coding!** πŸ’»