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

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.

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

Implement the function *findRoots* to find the roots of the quadratic equation: ax^{2} + bx + c = 0.

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

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

**3. Numeric Input**

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())
```

- 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

Go/Golang Online Test (Easy)