Тех собес на Golang Developer в ****

Доступно с премиум-подпиской

Оформите премиум-подписку, чтобы получить доступ к:

  • Фильтрации по компаниям
  • Названиям компаний в интервью
  • Видеозаписям собеседований
(2025-01-21)

Вопросы

1. Расскажи о себе, чем занимаешься

2. Как у вас устроено взаимодействие фронтенда и бэкэнда

3. Вопрос про HTTP протоколы. Что знаешь о протоколе HTTP

4. Какие знаешь типы в Go

5. В чем разница когда мы пишем int() и int32,64 и т.д

6. Какая сложность нахождения элемента внутри слайса

7. Как работает горутина

8. Как ты себе представляешь каналы. Если бы ты был разработчиком Go как бы ты реализовал каналы

9. Какие инструменты синхронизации в Go ты знаешь

10. Вопрос про race condition. Что 2 горутины пытаются получить доступ к одной переменной. Что будет

11. Как реализовать set на Go (set это грубо говоря мапа без значений только из ключей)

12. Вопросы про БД. Зачем нужны Redis и MongoDB и где можно использовать

13. В чем отличие реляционных от нереляционных баз данных

14. Вопрос про индексы. Нужно рассказать какие индексы в PostgreSQL знаешь

Задачи

Что выведет код?

package main

import "fmt"

func foo() string {
    fmt.Println("foo")
    return "close"
}

func close(s string) {
    fmt.Println(s)
}

func main() {
    defer close(foo())
    for i := 0; i < 3; i++ {
        fmt.Printf("%d ", i)
    }
}

Нужно вывести то что внизу закомментировано и исправить ошибку

package main

import "fmt"

func prnt(a rune) {
    fmt.Printf("%c", a)
}

func main() {
    runes := []rune{'a', 'b', 'c'}
    
    for _, r := range runes {
        go prnt(r)
    }
    
    fmt.Println("done")
}

// cba done
// abc done
// bca done

Нужно написать запрос который выведет 5 людей, которые сыграли меньше 5 раз

users
-----
id
name


results
-------
id
user_id
game_id
score


games
-----
id
name