Вопросы
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