Какими видами тестирования занимался, какие знаешь?
When is refactoring risky, and when should you avoid it?
При каких условиях чтение из канала заблокируется навсегда? Что произойдёт при записи в nil-канал? При записи в закрытый канал?
Каков будет результат записи в закрытый канал? (дедлок / паника / операция вернёт ошибку)
// При обновлении заказа, мы должны отправить данные по заказу в несколько сервисов (сторонние 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) }() } }
Почему ищете новую работу?
Что в работе не нравится? Что больше всего бесит?
Зачем прокидывать context первым аргументом в Go?
По какому грейду себя оцениваете? Готовы рассматривать Middle и Middle+?
Какое было максимальное количество запросов в секунду на самом высоконагруженном сервисе?
Что происходит при передаче слайса в функцию и изменении его элементов?
Как добавить поддержку игр с ограничением времени (3 или 5 минут) помимо игры без ограничений?
Ощущение роста — что оно тебе даёт, почему нужно вырасти?
Расскажи про опыт работы с базами данных — кроме ClickHouse, какие базы и насколько глубоко?
Может ли Increaser стать реализацией Sender? Чем Increaser отличается от Sender логически?
Что такое CSRF-атака и как от неё защищаться?
/* Места в кинотеатре расположены в один ряд. Только что пришедший зритель выбирает место, чтобы сидеть максимально далеко от остальных зрителей в ряду. То есть расстояние от того места, куда сядет зритель до ближайшего к нему Гарантируется, что в ряду всегда есть свободные места и уже сидит хотя бы Напиши функцию, которая по заданному ряду мест (массиву из нулей и единиц) Пример: Input: [1, 0, 0, 0, 1] Output: 2 Input: [1, 0, 1, 0, 0, 1, 0, 0, 0, 1] Output: 2 Input: [1, 0, 1, 0] Output: 1 */
Почему процесс в Linux может получить out-of-memory, даже если память показывает free?
Территориально в Москве находишься?
Какой состав команды был? Монофункциональный или кросс-функциональная?