# go-interview-practice测试
**Repository Path**: weisongmu/go-audience-fact-testing
## Basic Information
- **Project Name**: go-interview-practice测试
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: docs
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-08-02
- **Last Updated**: 2025-08-02
## 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)
⭐ **Your star helps us grow and stay motivated** ⭐
Welcome to the **Go Interview Practice** repository! Master Go programming and ace your technical interviews with our interactive coding challenges.
---
## 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 |
|:---:|:---:|:---:|:---:|:---:|:---|
| 🥇 | 
**[odelbos](https://github.com/odelbos)** | **28**/30 | **93.3%** | Master | ✅✅✅✅✅✅✅✅✅✅✅⬜✅✅⬜
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ |
| 🥈 | 
**[y1hao](https://github.com/y1hao)** | **21**/30 | **70.0%** | Master | ✅✅✅✅✅✅✅✅⬜✅⬜⬜✅✅⬜
✅✅✅✅✅✅✅✅⬜⬜⬜✅⬜⬜✅ |
| 🥉 | 
**[JackDalberg](https://github.com/JackDalberg)** | **20**/30 | **66.7%** | Master | ✅✅✅✅✅✅✅✅⬜✅⬜⬜✅✅⬜
⬜✅✅✅✅✅✅✅⬜⬜⬜✅⬜⬜✅ |
| 4 | 
**[mick4711](https://github.com/mick4711)** | **20**/30 | **66.7%** | Master | ✅✅✅✅✅✅✅⬜⬜✅⬜⬜✅✅⬜
✅✅✅✅✅✅✅✅⬜⬜⬜✅⬜⬜✅ |
| 5 | 
**[Gandook](https://github.com/Gandook)** | **15**/30 | **50.0%** | Expert | ✅✅✅⬜⬜✅✅⬜⬜✅⬜⬜⬜⬜⬜
⬜✅✅✅⬜✅✅✅✅✅⬜✅⬜⬜⬜ |
| 6 | 
**[ashwinipatankar](https://github.com/ashwinipatankar)** | **15**/30 | **50.0%** | Expert | ✅✅✅⬜✅✅✅⬜⬜✅⬜⬜✅⬜⬜
⬜✅✅✅⬜✅✅✅⬜⬜⬜✅⬜⬜⬜ |
| 7 | 
**[KhaledMosaad](https://github.com/KhaledMosaad)** | **14**/30 | **46.7%** | Advanced | ✅✅✅⬜⬜✅⬜⬜⬜⬜⬜⬜✅⬜⬜
⬜✅✅✅⬜✅✅✅⬜⬜✅✅⬜⬜✅ |
| 8 | 
**[RezaSi](https://github.com/RezaSi)** | **14**/30 | **46.7%** | Advanced | ✅✅✅✅✅✅⬜⬜⬜✅⬜⬜✅⬜⬜
⬜✅✅✅⬜✅✅✅⬜⬜⬜⬜⬜⬜⬜ |
| 9 | 
**[PolinaSvet](https://github.com/PolinaSvet)** | **12**/30 | **40.0%** | Advanced | ✅✅✅✅✅✅✅⬜⬜✅⬜⬜✅⬜⬜
⬜⬜✅⬜⬜✅✅⬜⬜⬜⬜⬜⬜⬜⬜ |
| 10 | 
**[MYK12397](https://github.com/MYK12397)** | **11**/30 | **36.7%** | Advanced | ⬜✅✅⬜✅✅✅⬜⬜⬜⬜⬜⬜⬜⬜
⬜✅✅✅⬜✅⬜⬜✅⬜⬜⬜⬜⬜✅ |
✅ 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**: 57
- **Most Challenges Solved**: 28 by odelbos
## 🚀 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 |
|:---:|:---:|:---:|:---:|:---:|:---|
| 🥇 | 
**[RezaSi](https://github.com/RezaSi)** | **3** | **3** pkgs | 🚀 Package Intermediate | **cobra**: 1 • **gin**: 1 • **gorm**: 1 |
| 🥈 | 
**[odelbos](https://github.com/odelbos)** | **1** | **1** pkg | 🌱 Package Beginner | **gin**: 1 |
🚀 **Package Challenges** - Learn Go packages through practical, real-world scenarios
### 📦 Per-Package Progress
#### Cobra Package
| Rank | Developer | Completed | Progress |
|:---:|:---:|:---:|:---|
| 🥇 | **[RezaSi](https://github.com/RezaSi)** | 1/4 | 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 25% |
#### Gin Package
| Rank | Developer | Completed | Progress |
|:---:|:---:|:---:|:---|
| 🥇 | **[RezaSi](https://github.com/RezaSi)** | 1/4 | 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 25% |
| 🥈 | **[odelbos](https://github.com/odelbos)** | 1/4 | 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 25% |
#### Gorm Package
| Rank | Developer | Completed | Progress |
|:---:|:---:|:---:|:---|
| 🥇 | **[RezaSi](https://github.com/RezaSi)** | 1/5 | 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 20% |
### 📊 Package Challenge Statistics
- **Total Package Challenges Available**: 13
- **Active Package Learners**: 2
- **Available Packages**: 3 (cobra, gin, gorm)
- **Most Package Challenges Solved**: 3 by RezaSi
## 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
- **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
## 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
```
**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. **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
```
## Scoreboards
Each challenge has its own scoreboard that tracks:
- Successful submissions by user
- Execution time rankings
- Code efficiency metrics
- Completion dates
View global and per-challenge scoreboards in the Web UI to compare your solutions with others.
## 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:**
- **Classic Challenges:** Algorithm and data structure problems
- **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.
## 💖 Support This Project
Help keep Go education free and accessible! Your sponsorship enables me to create more challenges, maintain the platform, and support the community.
### GitHub Sponsors
**🥉 $5/month - Go Supporter**
- Sponsor badge on your profile
- Early access to new challenges (24 hours before public release)
- Priority support and your name in contributors section
**🚀 $25/month - Go Package Champion**
- All supporter benefits plus:
- **Custom package tutorial creation** with 4-6 progressive challenges
- **Ongoing maintenance** when your package updates
- Your package featured prominently on the platform
**💎 $200/month - Premium Business Sponsor**
- All previous benefits plus:
- **Company logo placement** on README, homepage, and challenge pages
- Monthly social media mentions and priority partnership
- Quarterly strategy calls and recruitment opportunities
**☕ $10 - Buy Me a Coffee** *(One-time)*
- Show appreciation for the free educational content
- Support continued development with a simple coffee
**💎 $100 - Package Challenge Creation** *(One-time)*
- Complete learning path for your Go package (one-time creation, no ongoing updates)
[**🎯 Become a Sponsor**](https://github.com/sponsors/RezaSi)
*Your support helps maintain 30+ challenges, the web platform, and keeps everything free for the community!*
---
## 🏢 Premium Business Sponsors
*Thank you to our premium sponsors who make this project possible!*
*Interested in premium sponsorship? [Contact us](https://github.com/sponsors/RezaSi) to feature your company logo here and on our platform!*
---
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Star History
[](https://www.star-history.com/#RezaSi/go-interview-practice&Date)
---
**Happy Coding!** 💻