Sobes.tech

func fetch(ctx context.Context, u User) (string, error) { // что-то делаем по сети time.Sleep(time.Millisecond * 10) // имитация задержки return u.Name, nil //return "", errors.New("some error") } func Do(ctx context.Context, users []User) (map[string]int64, error) { var mu sync.Mutex var wg sync.WaitGroup ch := make(chan error, len(users)) names := make(map[string]int64, 0) ctxWithCancel, cancel := context.WithCancel(ctx) wg.Add(len(users)) for _, u := range users { go func() { defer wg.Done() select { case name, err := fetch(ctx, u): if err != nil { ch <- err return } mu.Lock() names[name] = names[name] + 1 mu.Unlock() case <-ctxWithCancel.Err: } }() }

Middle+
Wildberries & Russ Bank
2

Какой индекс добавить для запроса поиска свободных книг? Зачем каждое поле в составном индексе? Как отработает индекс при 2 млн строк?

Senior
Холодильник.руХолодильник.ру
2

Расскажите о вашем опыте работы с системой сегментации пользователей. Какие объемы данных обрабатывались?

Middle+
МВидео/эльдорадо
2

Реализуйте функцию, которая принимает []any и delta int. Необходимо увеличить на delta только первые вхождения уникальных чисел (int). Другие типы и повторные числа оставить без изменений. Функция должна вернуть обновленный слайс и 2 числа: updated – сколько уникальных чисел было изменено, duplicates – сколько числовых элементов оказалось дубликатами func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // ваш код } // Пример: xs := []any{1, "a", 5, "b", 1, 0, 5} u, d, s := IncrementUniqueIntsInMixed(xs, 3) // xs == []any{4, "a", 8, "b", 1, 3, 5} // u == 3 // уникальные числа: 1, 5, 0 // d == 2 // повторные числа: второй 1, второй 5

Middle+
OZONOZON
2

Есть ли нативный способ в ClickHouse для буферизации вставок?

Middle+
VK music
2

В чём разница между процессами, потоками и горутинами в Go?

Middle+
Ozon ФинтехOzon Финтех
2

Есть ли у тебя гражданство РФ, документы воинского учёта? Важна ли айтишная аккредитация?

Middle+
OZONOZON
2

Знаешь ли профиль нагрузки на чтение/запись по RPS?

Middle+
Яндекс вертикали
2

Какие критерии выбора работы для тебя важны? Зарплатные ожидания?

Senior
X5
2

На какую зарплатную вилку ориентируетесь?

Middle+
X5
2

Почему ушёл из компании?

Middle
OZONOZON
2

Было ли критично что данные в кэше могут быть неактуальны?

Middle+
А7
2

Что такое slice и чем отличается от массива?

Senior
Магнум
2

Как ускорить медленный API endpoint — какие подходы есть?

Middle+
VK music
2

В чём изначально была проблема с SQL-запросами и как вы их оптимизировали?

Middle+
Защита Инфо Транс z-it
2

Что такое garbage collector в Go?

Senior
VKVK
2

Какой примерно объём данных в snapshot'ах?

Middle+
VK music
2

Как организовать доступ к сервису в Kubernetes извне?

Senior
VKVK
2

Почему решил уходить из Авито?

Senior
Hi Rockits
2

Что происходит в INNER JOIN если одной строке слева соответствует несколько строк справа?

Middle+
OZONOZON
2
/364