Golang
Расскажи про индексы в PostgreSQL — какие бывают, составной индекс и порядок столбцов.
Напишите SQL-запрос для вывода авторов, у которых более 10 книг (таблицы: авторы, книги, связь многие-ко-многим)
Какие средства синхронизации горутин есть в Go? Исправьте пример с гонкой используя atomic
// Необходимо реализовать функцию, // которая бы возвращала ошибку без импорта пакетов из стандартной библиотеки или сторонних пакетов. func Handle() (err error) { return }
Понимаешь ли ты, как принципы ООП реализуются в Go?
Расскажите о сложной межличностной ситуации на работе. Как вы подошли к отношениям и каков был результат?
Чем занимался кандидат и чем занималась остальная команда в Авито?
Может быть, что-то ранее о нас слышал, или удалось что-то почитать о компании?
1.21 func main() { var nums []*int for i := 0; i < 10; i++ { nums = append(nums, &i) } for _, v := range nums { go func() { fmt.Println(v) }() } }
Почему для хранения постов выбран PostgreSQL? Как понять, при каких нагрузках какая технология справляется без шардирования и репликации (Postgres, Kafka, Redis, сервис на Go)?
Что такое сигнал SIGTERM (kill -15) и почему лучше использовать его вместо SIGKILL (kill -9)?
По каким критериям разделяли consumer groups?
Что такое HTTP протокол? Из каких частей состоит HTTP-запрос? Что такое заголовки, куки?
Расскажите о самой большой неудаче на работе. Какой вывод вынесли?
Ты упомянул переход с монолита на микросервисы — это именно с поиском было связано?
Чем отличаются команды EXPLAIN и EXPLAIN ANALYZE в PostgreSQL?
Вы читаете события пачками (batch) и пишете в ClickHouse батчами. Как это работает с ACK — когда даёте подтверждение?
Как работает сборщик мусора в Go (tri-color marking)?
// У нас есть метод получения информации о товарах, данный метод вызывается очень часто // есть ли проблемы в этом коде и как исправить? база данных postgress func (r *ProductRepository) GetProductDetails(ctx context.Context, productIDs []int) []Product { products := make([]Product, 0, len(productIDs)) for _, id := range productIDs { go func(id int) { var p Product query := "SELECT name, price, description FROM products WHERE id = $1" err := r.db.QueryRowContext(ctx, query, id).Scan(&p.Name, &p.Price, &p.Desc) if err != nil { r.logger.Error("error get product", "err", err) return } products = append(products, p) }(id) } return products }
Было ли так, что результат твоей работы не устраивал руководителя?