RezaSi/go-interview-practice
Go Interview Practice
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 |
24/30 | 80.0% | Master | β
β
β
β
β
β
β
β
β
β
β¬β¬β
β
β¬ β β β β β β β β β¬β¬β β β β¬β |
| π₯ | mick4711 |
16/30 | 53.3% | Expert | β
β
β
β¬β
β
β
β¬β¬β
β¬β¬β¬β¬β¬ β β β β β¬β β β β¬β¬β¬β β¬β¬β |
| π₯ | RezaSi |
14/30 | 46.7% | Advanced | β
β
β
β
β
β
β¬β¬β¬β
β¬β¬β
β¬β¬ β¬β β β β¬β β β β¬β¬β¬β¬β¬β¬β¬ |
| 4 | KhaledMosaad |
13/30 | 43.3% | Advanced | β
β
β
β¬β¬β
β¬β¬β¬β¬β¬β¬β¬β¬β¬ β¬β β β β¬β β β β¬β¬β β β¬β¬β |
| 5 | MYK12397 |
11/30 | 36.7% | Advanced | β¬β
β
β¬β
β
β
β¬β¬β¬β¬β¬β¬β¬β¬ β¬β β β β¬β β¬β¬β β¬β¬β¬β¬β¬β |
| 6 | ashwinipatankar |
9/30 | 30.0% | Intermediate | β
β
β
β¬β¬β
β¬β¬β¬β¬β¬β¬β¬β¬β¬ β¬β β β β¬β β β¬β¬β¬β¬β¬β¬β¬β¬ |
| 7 | lanmanul |
5/30 | 16.7% | Intermediate | β
β
β¬β¬β¬β
β¬β¬β¬β¬β¬β¬β¬β¬β¬ β¬β¬β β¬β¬β β¬β¬β¬β¬β¬β¬β¬β¬β¬ |
| 8 | timlkko |
5/30 | 16.7% | Intermediate | β
β
β
β¬β¬β
β¬β¬β¬β¬β¬β¬β¬β¬β¬ β¬β¬β β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ |
| 9 | AliNazariii |
4/30 | 13.3% | Beginner | β
β
β
β
β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ |
| 10 | lajosbnk |
4/30 | 13.3% | Beginner | β
β
β
β¬β¬β
β¬β¬β¬β¬β¬β¬β¬β¬β¬ β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ |
β 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: 28
- Most Challenges Solved: 24 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
- 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)
|
|
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:
1 2cd web-ui go run main.go - 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
|
|
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: 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! To add a new challenge:
- Fork the repository
- Create a new challenge following our template structure
- Submit a pull request
See CONTRIBUTING.md for detailed guidelines.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Star History
Happy Coding! π»