RezaSi/go-interview-practice
GitHub: RezaSi/go-interview-practice
这是一个面向Go开发者的交互式面试练习平台,通过30多个编程挑战、自动化测试和AI面试模拟帮助用户准备技术面试。
Stars: 2315 | Forks: 1091
# Go 面试练习
### 代码与测试体验
### 竞技排行榜
## 🏆 前 10 名排行榜
我们最出色的 Go 开发者,按完成的挑战数量排名:
| 🏅 | 开发者 | 已解决 | 完成率 | 成就 | 进度 |
|:---:|:---:|:---:|:---:|:---:|:---|
| 🥇 | 
**[PolinaSvet](https://github.com/PolinaSvet)** | **30**/30 | **100.0%** | 大师 | ✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ | | 🥈 |
**[nzamulov](https://github.com/nzamulov)** | **30**/30 | **100.0%** | 大师 | ✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ | | 🥉 |
**[odelbos](https://github.com/odelbos)** | **30**/30 | **100.0%** | 大师 | ✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ | | 4 |
**[mvsouza](https://github.com/mvsouza)** | **29**/30 | **96.7%** | 大师 | ✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
✅✅✅✅✅✅✅✅✅✅✅✅✅✅⬜ | | 5 |
**[PopovMarko](https://github.com/PopovMarko)** | **27**/30 | **90.0%** | 大师 | ✅✅✅✅✅✅✅✅✅✅⬜✅✅✅⬜
✅✅✅✅✅✅✅✅✅⬜✅✅✅✅✅ | | 6 |
**[mick4711](https://github.com/mick4711)** | **23**/30 | **76.7%** | 大师 | ✅✅✅✅✅✅✅✅✅✅⬜⬜✅✅⬜
✅✅✅✅✅✅✅✅⬜⬜✅✅⬜⬜✅ | | 7 |
**[Gandook](https://github.com/Gandook)** | **22**/30 | **73.3%** | 大师 | ✅✅✅✅✅✅✅✅✅✅⬜⬜✅⬜⬜
⬜✅✅✅⬜✅✅✅✅✅✅✅⬜⬜✅ | | 8 |
**[imankhodadi](https://github.com/imankhodadi)** | **22**/30 | **73.3%** | 大师 | ✅✅✅✅✅✅✅⬜⬜✅✅⬜✅⬜✅
✅✅✅✅✅✅✅⬜✅✅⬜✅⬜⬜✅ | | 9 |
**[y1hao](https://github.com/y1hao)** | **21**/30 | **70.0%** | 大师 | ✅✅✅✅✅✅✅✅⬜✅⬜⬜✅✅⬜
✅✅✅✅✅✅✅✅⬜⬜⬜✅⬜⬜✅ | | 10 |
**[JackDalberg](https://github.com/JackDalberg)** | **20**/30 | **66.7%** | 大师 | ✅✅✅✅✅✅✅✅⬜✅⬜⬜✅✅⬜
⬜✅✅✅✅✅✅✅⬜⬜⬜✅⬜⬜✅ |
**[odelbos](https://github.com/odelbos)** | **17** | **4** 个包 | 🔥 包大师 | **cobra**: 4 • **fiber**: 4 • **gin**: 4 • **gorm**: 5 | | 🥈 |
**[PolinaSvet](https://github.com/PolinaSvet)** | **8** | **2** 个包 | 💪 包高级 | **cobra**: 4 • **gin**: 4 | | 🥉 |
**[RezaSi](https://github.com/RezaSi)** | **7** | **6** 个包 | 💪 包高级 | **cobra**: 1 • **echo**: 1 • **fiber**: 1 • **gin**: 1 • **gorm**: 1 • **mongodb**: 2 | | 4 |
**[imankhodadi](https://github.com/imankhodadi)** | **6** | **2** 个包 | 💪 包高级 | **gin**: 3 • **gorm**: 3 | | 5 |
**[22-7-co](https://github.com/22-7-co)** | **5** | **2** 个包 | 💪 包高级 | **gin**: 4 • **gorm**: 1 | | 6 |
**[Mxn-ptr](https://github.com/Mxn-ptr)** | **5** | **2** 个包 | 💪 包高级 | **gin**: 4 • **gorm**: 1 | | 7 |
**[Onkar-25](https://github.com/Onkar-25)** | **5** | **3** 个包 | 💪 包高级 | **gin**: 2 • **gorm**: 2 • **mongodb**: 1 | | 8 |
**[ItalloMangueBoy](https://github.com/ItalloMangueBoy)** | **4** | **1** 个包 | 🚀 包中级 | **gin**: 4 | | 9 |
**[father-frog](https://github.com/father-frog)** | **4** | **1** 个包 | 🚀 包中级 | **gin**: 4 | | 10 |
**[q1ngy](https://github.com/q1ngy)** | **4** | **1** 个包 | 🚀 包中级 | **gin**: 4 |
## 快速开始
### 方式 1:Web UI(推荐)
```
# 1. 首先,在 GitHub 上 fork 此仓库
# 前往 https://github.com/RezaSi/go-interview-practice
# 点击右上角的 "Fork" 按钮
# 2. 克隆你 fork 的仓库(将 'yourusername' 替换为你的 GitHub 用户名)
git clone https://github.com/yourusername/go-interview-practice.git
cd go-interview-practice
# 3. 启动 web 界面
cd web-ui
go run main.go
# 4. 在浏览器中打开 http://localhost:8080
# 5. 可选:启用 AI 功能(推荐)🤖
# 添加你的免费 Gemini API key 以启用 AI 面试模拟
echo "AI_PROVIDER=gemini" > web-ui/.env
echo "GEMINI_API_KEY=your_actual_api_key_here" >> web-ui/.env
# 获取免费 API key:https://makersuite.google.com/app/apikey
# 注意:.env 文件出于安全考虑已被 git 自动忽略
```
**解决挑战并提交解决方案后:**
- 你的解决方案将自动保存到本地仓库
- 按照提供的 Git 命令提交并推送你的更改
- 创建 pull request 将你的解决方案贡献回主项目
### 方式 2:GitHub Codespaces(云开发 + Web UI)
想要无需本地配置即可立即开始?使用 GitHub Codespaces!
1. **Fork 此仓库**(如果尚未 Fork)
2. **在 Codespaces 中打开**:点击你 Fork 仓库上的绿色 "Code" 按钮,然后选择 "Codespaces" 标签
3. **创建 Codespace**:点击 "Create codespace on main"
4. **启动 Web UI**:Codespace 加载完成后,打开终端并运行:
cd web-ui
go run main.go
5. **可选:启用 AI 功能**:添加你的 Gemini API 密钥:
echo "AI_PROVIDER=gemini" > .env
echo "GEMINI_API_KEY=your_actual_api_key_here" >> .env
6. **访问 Web UI**:点击底部面板中的 "Ports" 标签,然后点击 8080 端口旁边的 "Open in Browser" 按钮
**使用 Codespaces 的优势:**
- 无需本地配置
- 预配置的 Go 环境
- 浏览器内完整的 VS Code 体验
- Web UI 自动端口转发
- 所有依赖项已预安装
- 任何带浏览器的设备均可使用
[](https://github.com/RezaSi/go-interview-practice/stargazers)
[](https://golang.org/)
[](https://github.com/RezaSi/go-interview-practice)
欢迎来到 **Go 面试练习** 仓库!通过我们的交互式编程挑战,掌握 Go 编程并在技术面试中脱颖而出。
项目简介
|
交互式代码编辑器 编写、编辑和测试你的 Go 解决方案 支持语法高亮和实时反馈 |
即时结果与分析 获取即时测试结果、性能指标 和详细的执行分析 |
Beautiful leaderboard showcasing top developers with challenge completion indicators, rankings, and achievements
**[PolinaSvet](https://github.com/PolinaSvet)** | **30**/30 | **100.0%** | 大师 | ✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ | | 🥈 |
**[nzamulov](https://github.com/nzamulov)** | **30**/30 | **100.0%** | 大师 | ✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ | | 🥉 |
**[odelbos](https://github.com/odelbos)** | **30**/30 | **100.0%** | 大师 | ✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ | | 4 |
**[mvsouza](https://github.com/mvsouza)** | **29**/30 | **96.7%** | 大师 | ✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
✅✅✅✅✅✅✅✅✅✅✅✅✅✅⬜ | | 5 |
**[PopovMarko](https://github.com/PopovMarko)** | **27**/30 | **90.0%** | 大师 | ✅✅✅✅✅✅✅✅✅✅⬜✅✅✅⬜
✅✅✅✅✅✅✅✅✅⬜✅✅✅✅✅ | | 6 |
**[mick4711](https://github.com/mick4711)** | **23**/30 | **76.7%** | 大师 | ✅✅✅✅✅✅✅✅✅✅⬜⬜✅✅⬜
✅✅✅✅✅✅✅✅⬜⬜✅✅⬜⬜✅ | | 7 |
**[Gandook](https://github.com/Gandook)** | **22**/30 | **73.3%** | 大师 | ✅✅✅✅✅✅✅✅✅✅⬜⬜✅⬜⬜
⬜✅✅✅⬜✅✅✅✅✅✅✅⬜⬜✅ | | 8 |
**[imankhodadi](https://github.com/imankhodadi)** | **22**/30 | **73.3%** | 大师 | ✅✅✅✅✅✅✅⬜⬜✅✅⬜✅⬜✅
✅✅✅✅✅✅✅⬜✅✅⬜✅⬜⬜✅ | | 9 |
**[y1hao](https://github.com/y1hao)** | **21**/30 | **70.0%** | 大师 | ✅✅✅✅✅✅✅✅⬜✅⬜⬜✅✅⬜
✅✅✅✅✅✅✅✅⬜⬜⬜✅⬜⬜✅ | | 10 |
**[JackDalberg](https://github.com/JackDalberg)** | **20**/30 | **66.7%** | 大师 | ✅✅✅✅✅✅✅✅⬜✅⬜⬜✅✅⬜
⬜✅✅✅✅✅✅✅⬜⬜⬜✅⬜⬜✅ |
✅ 已完成 • ⬜ 未完成
*全部 30 个挑战分两行显示*
*根据 30 个可用挑战自动更新*
### 挑战进度概览
- **可用挑战总数**: 30
- **活跃开发者**: 347
- **最多挑战完成数**: 30,由 PolinaSvet 完成
## 🚀 包挑战排行榜
通过动手挑战掌握 Go 包!每个包都提供结构化的学习路径和真实场景。
| 🏅 | 开发者 | 总完成数 | 包数量 | 成就 | 挑战分布 |
|:---:|:---:|:---:|:---:|:---:|:---|
| 🥇 | **[odelbos](https://github.com/odelbos)** | **17** | **4** 个包 | 🔥 包大师 | **cobra**: 4 • **fiber**: 4 • **gin**: 4 • **gorm**: 5 | | 🥈 |
**[PolinaSvet](https://github.com/PolinaSvet)** | **8** | **2** 个包 | 💪 包高级 | **cobra**: 4 • **gin**: 4 | | 🥉 |
**[RezaSi](https://github.com/RezaSi)** | **7** | **6** 个包 | 💪 包高级 | **cobra**: 1 • **echo**: 1 • **fiber**: 1 • **gin**: 1 • **gorm**: 1 • **mongodb**: 2 | | 4 |
**[imankhodadi](https://github.com/imankhodadi)** | **6** | **2** 个包 | 💪 包高级 | **gin**: 3 • **gorm**: 3 | | 5 |
**[22-7-co](https://github.com/22-7-co)** | **5** | **2** 个包 | 💪 包高级 | **gin**: 4 • **gorm**: 1 | | 6 |
**[Mxn-ptr](https://github.com/Mxn-ptr)** | **5** | **2** 个包 | 💪 包高级 | **gin**: 4 • **gorm**: 1 | | 7 |
**[Onkar-25](https://github.com/Onkar-25)** | **5** | **3** 个包 | 💪 包高级 | **gin**: 2 • **gorm**: 2 • **mongodb**: 1 | | 8 |
**[ItalloMangueBoy](https://github.com/ItalloMangueBoy)** | **4** | **1** 个包 | 🚀 包中级 | **gin**: 4 | | 9 |
**[father-frog](https://github.com/father-frog)** | **4** | **1** 个包 | 🚀 包中级 | **gin**: 4 | | 10 |
**[q1ngy](https://github.com/q1ngy)** | **4** | **1** 个包 | 🚀 包中级 | **gin**: 4 |
🚀 **包挑战** - 通过实用的真实场景学习 Go 包
### 📦 各包进度
#### Cobra 包
| 排名 | 开发者 | 已完成 | 进度 |
|:---:|:---:|:---:|:---|
| 🥇 | **[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 包
| 排名 | 开发者 | 已完成 | 进度 |
|:---:|:---:|:---:|:---|
| 🥇 | **[RezaSi](https://github.com/RezaSi)** | 1/4 | 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 25% |
#### Fiber 包
| 排名 | 开发者 | 已完成 | 进度 |
|:---:|:---:|:---:|:---|
| 🥇 | **[odelbos](https://github.com/odelbos)** | 4/4 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 100% |
| 🥈 | **[0xSangeet](https://github.com/0xSangeet)** | 1/4 | 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 25% |
| 🥉 | **[RezaSi](https://github.com/RezaSi)** | 1/4 | 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 25% |
#### Gin 包
| 排名 | 开发者 | 已完成 | 进度 |
|:---:|:---:|:---:|:---|
| 🥇 | **[22-7-co](https://github.com/22-7-co)** | 4/4 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 100% |
| 🥈 | **[ItalloMangueBoy](https://github.com/ItalloMangueBoy)** | 4/4 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 100% |
| 🥉 | **[Mxn-ptr](https://github.com/Mxn-ptr)** | 4/4 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 100% |
| 4 | **[PolinaSvet](https://github.com/PolinaSvet)** | 4/4 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 100% |
| 5 | **[father-frog](https://github.com/father-frog)** | 4/4 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 100% |
#### Gorm 包
| 排名 | 开发者 | 已完成 | 进度 |
|:---:|:---:|:---:|:---|
| 🥇 | **[odelbos](https://github.com/odelbos)** | 5/5 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 100% |
| 🥈 | **[aswinsreeraj](https://github.com/aswinsreeraj)** | 3/5 | 🟩🟩🟩🟩🟩🟩⬜⬜⬜⬜ 60% |
| 🥉 | **[imankhodadi](https://github.com/imankhodadi)** | 3/5 | 🟩🟩🟩🟩🟩🟩⬜⬜⬜⬜ 60% |
| 4 | **[Onkar-25](https://github.com/Onkar-25)** | 2/5 | 🟩🟩🟩🟩⬜⬜⬜⬜⬜⬜ 40% |
| 5 | **[grozdovk](https://github.com/grozdovk)** | 2/5 | 🟩🟩🟩🟩⬜⬜⬜⬜⬜⬜ 40% |
#### Mongodb 包
| 排名 | 开发者 | 已完成 | 进度 |
|:---:|:---:|:---:|:---|
| 🥇 | **[RezaSi](https://github.com/RezaSi)** | 2/5 | 🟩🟩🟩🟩⬜⬜⬜⬜⬜⬜ 40% |
| 🥈 | **[Onkar-25](https://github.com/Onkar-25)** | 1/5 | 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 20% |
| 🥉 | **[maket12](https://github.com/maket12)** | 1/5 | 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 20% |
### 📊 包挑战统计
- **可用包挑战总数**: 26
- **活跃包学习者**: 47
- **可用包**: 6 个(cobra、echo、fiber、gin、gorm、mongodb)
- **最多包挑战完成数**: 17,由 odelbos 完成
## 核心功能
- **交互式 Web UI** - 在浏览器中编写、测试和提交解决方案
- **自动化测试** - 获取关于你解决方案的即时反馈
- **自动化排行榜** - 解决方案自动评分和排名
- **个人资料徽章** - 适用于 GitHub 个人资料、LinkedIn 和投资组合的精美自动更新徽章
- **性能分析** - 追踪解决方案的执行时间和内存使用情况
- **全面学习** - 每个挑战都包含详细的解释和资源
- **渐进式难度** - 从 Go 基础概念到高级内容
- **AI 面试模拟** - 通过 AI 驱动的代码审查和面试官问题进行练习
## AI 面试模拟
通过我们的 AI 驱动功能,将你的编程练习转化为真实的面试场景:
**实时代码审查** - 获取关于代码质量、复杂度分析和改进建议的即时反馈
**动态面试问题** - AI 根据你的解决方案方法生成后续问题
**渐进式提示** - 4 级提示系统,从微妙提示到详细解释
**多 LLM 支持** - 支持 Gemini(推荐)、OpenAI 或 Claude
只需添加你的 API 键,即可体验根据你的代码自适应的面试式反馈,并通过真实的技术问题挑战你。
### AI 面试体验
|
AI 代码审查 从 AI 获取关于代码质量、复杂度分析 和改进建议的即时反馈 |
动态面试问题 AI 根据你的解决方案方法和编码模式 生成后续问题 |