Golang
Расскажи про модель памяти в Go — как она устроена?
Расскажи про себя вне контекста работы: хобби, интересы, факты, которые тебя раскрывают как личность.
Какую стратегию вытеснения кэша лучше использовать?
Балансировщик GeoDNS и Nginx — это разные вещи?
Какие тесты были на проекте и как их запускали?
Что сейчас ищешь для себя в новом месте работы?
Как устроен сборщик мусора в Go и в какой области памяти работает?
По срокам перехода — стандартно 2 недели или чуть побольше?
Приведите пример, когда вы не соглашались с техническим решением команды. Как вы справились с этим после того, как решение было принято?
// При обновлении заказа, мы должны отправить данные по заказу в несколько сервисов (сторонние API) // количество сервисов растёт (может быть тысяч+) // мы написали код, сначала все было хорошо, но со временем наш сервис начал потреблять много памяти func (s *orderService) SendOrder(ctx context.Context, hosts []string, order Order) { for i := 0; i < len(hosts); i++ { go func() { // Представим, что это долгий сетевой вызов response, err := s.httpClient.Send(ctx, hosts[i], order) if err != nil { s.logger.Error(ctx, "failed to send", err) return } s.logger.Info(ctx, "success", response) }() } }
Что такое пустой интерфейс?
Что такое чистая архитектура? Зачем нужна?
Как у вас PostgreSQL был развёрнут — была реплика для аналитики или читали с мастера?
Каков будет результат записи в закрытый канал? Дедлок, паника или операция записи вернёт ошибку?
Какая команда отправляет коммиты на сервер?
Зачем нужен брокер сообщений (Kafka)? Как он вписывается в архитектуру?
Какие практики для уменьшения размера Docker-образа существуют?
Является ли map потокобезопасной в Go?
Что такое SELECT FOR UPDATE и зачем он нужен?
Чем отличаются в Go слайсы и массивы?