Skip to content

Go Interview Practice is a series of coding challenges to help you prepare for technical interviews in Go. Solve problems, submit your solutions, and receive instant feedback with automated testing. Track your progress with per-challenge scoreboards and improve your coding skills step by step.

License

Notifications You must be signed in to change notification settings

RezaSi/go-interview-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Go Interview Practice

GitHub Stars Go Version Challenges

RezaSi%2Fgo-interview-practice | Trendshift

⭐ 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:

classic_and_packages.mp4

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
πŸ₯‡
odelbos
28/30 93.3% Master βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…β¬œβœ…βœ…β¬œ
βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…
πŸ₯ˆ
y1hao
21/30 70.0% Master βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…β¬œβœ…β¬œβ¬œβœ…βœ…β¬œ
βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…β¬œβ¬œβ¬œβœ…β¬œβ¬œβœ…
πŸ₯‰
JackDalberg
20/30 66.7% Master βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…β¬œβœ…β¬œβ¬œβœ…βœ…β¬œ
β¬œβœ…βœ…βœ…βœ…βœ…βœ…βœ…β¬œβ¬œβ¬œβœ…β¬œβ¬œβœ…
4
mick4711
20/30 66.7% Master βœ…βœ…βœ…βœ…βœ…βœ…βœ…β¬œβ¬œβœ…β¬œβ¬œβœ…βœ…β¬œ
βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…β¬œβ¬œβ¬œβœ…β¬œβ¬œβœ…
5
Gandook
15/30 50.0% Expert βœ…βœ…βœ…β¬œβ¬œβœ…βœ…β¬œβ¬œβœ…β¬œβ¬œβ¬œβ¬œβ¬œ
β¬œβœ…βœ…βœ…β¬œβœ…βœ…βœ…βœ…βœ…β¬œβœ…β¬œβ¬œβ¬œ
6
ashwinipatankar
15/30 50.0% Expert βœ…βœ…βœ…β¬œβœ…βœ…βœ…β¬œβ¬œβœ…β¬œβ¬œβœ…β¬œβ¬œ
β¬œβœ…βœ…βœ…β¬œβœ…βœ…βœ…β¬œβ¬œβ¬œβœ…β¬œβ¬œβ¬œ
7
KhaledMosaad
14/30 46.7% Advanced βœ…βœ…βœ…β¬œβ¬œβœ…β¬œβ¬œβ¬œβ¬œβ¬œβ¬œβœ…β¬œβ¬œ
β¬œβœ…βœ…βœ…β¬œβœ…βœ…βœ…β¬œβ¬œβœ…βœ…β¬œβ¬œβœ…
8
RezaSi
14/30 46.7% Advanced βœ…βœ…βœ…βœ…βœ…βœ…β¬œβ¬œβ¬œβœ…β¬œβ¬œβœ…β¬œβ¬œ
β¬œβœ…βœ…βœ…β¬œβœ…βœ…βœ…β¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œ
9
PolinaSvet
12/30 40.0% Advanced βœ…βœ…βœ…βœ…βœ…βœ…βœ…β¬œβ¬œβœ…β¬œβ¬œβœ…β¬œβ¬œ
β¬œβ¬œβœ…β¬œβ¬œβœ…βœ…β¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œ
10
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
3 3 pkgs πŸš€ Package Intermediate cobra: 1 β€’ gin: 1 β€’ gorm: 1
πŸ₯ˆ
ashwinipatankar
3 1 pkg πŸš€ Package Intermediate cobra: 3
πŸ₯‰
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
πŸ₯‡ ashwinipatankar 3/4 🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜ 75%
πŸ₯ˆ RezaSi 1/4 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 25%

Gin Package

Rank Developer Completed Progress
πŸ₯‡ RezaSi 1/4 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 25%
πŸ₯ˆ odelbos 1/4 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 25%

Gorm Package

Rank Developer Completed Progress
πŸ₯‡ RezaSi 1/5 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 20%

πŸ“Š Package Challenge Statistics

  • Total Package Challenges Available: 13

  • Active Package Learners: 3

  • 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)

# 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:
    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

# 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

Intermediate

For developers familiar with Go who want to deepen their knowledge

Advanced

Challenging problems that test mastery of Go and computer science concepts

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 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

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 to feature your company logo here and on our platform!


License

This project is licensed under the MIT License - see the LICENSE file for details.

Star History

Star History Chart


Happy Coding! πŸ’»

About

Go Interview Practice is a series of coding challenges to help you prepare for technical interviews in Go. Solve problems, submit your solutions, and receive instant feedback with automated testing. Track your progress with per-challenge scoreboards and improve your coding skills step by step.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published