Golang Interview Questions

Practice for Go interviews by solving TestDome questions. Our interview questions are used by more than 6,000 companies and 450,000 individual test takers.

Jobseekers: Certify Your Knowledge

Take a Certification Test

Companies: Use Our Tests for Screening

Buy a Pack Of Candidates

Try to solve 3 Golang interview questions and Go interview questions below. Hints can help you find answers to questions you are having trouble with.

1. Merge Names

Slices
   
Easy 

Implement the uniqueNames function. When passed two slices of names, it will return a slice containing the names that appear in either or both slices. The returned slice should have no duplicates.

For example, calling uniqueNames([]string{"Ava", "Emma", "Olivia"}, []string{"Olivia", "Sophia", "Emma"}) should return a slice containing Ava, Emma, Olivia, and Sophia in any order.

Go 1.13  
 


  •   Example case: Wrong answer
  •   Each slice has distinct names: Wrong answer
  •   Each slice has duplicate names: Wrong answer
  •   Slices have some names in common: Wrong answer


2. Quadratic Equation

Arithmetic
   
Easy 

Implement the function findRoots to find the roots of the quadratic equation: ax2 + bx + c = 0. If the equation has only one solution, the function should return that solution as both results. The equation will always have at least one solution.

The roots of the quadratic equation can be found with the following formula: A quadratic equation.

For example, the roots of the equation 2x2 + 10x + 8 = 0 are -1 and -4.

Go 1.13  
 


  •   Example case: Wrong answer
  •   Equal roots: Wrong answer
  •   Distinct roots: Wrong answer


3. Numeric Input

Interfaces
   
Easy 

User interface contains NumericInput control, which accepts only digits.

Extend NumericInput structure so that:

  • It implements UserInput interface.
  • Add(rune) should add only decimal digits to the input. Other runes should be ignored.
  • GetValue() should return the current input.

For example, the following code should output "10":

var input UserInput = &NumericInput{}
input.Add('1')
input.Add('a')
input.Add('0')
fmt.Println(input.GetValue())
Go 1.13  
 


  •   Example case: Wrong answer
  •   GetValue() returns input: Wrong answer
  •   Add(rune) adds runes to the input: Wrong answer
  •   Add(rune) adds only decimal digits to the input: Wrong answer


If you feel ready, take one of our timed public Golang Interview Questions tests:
Go

Go/Golang Online Test (Easy)

Not exactly what you are looking for? Go to our For Jobseekers section.