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: } }() }
Какой индекс добавить для запроса поиска свободных книг? Зачем каждое поле в составном индексе? Как отработает индекс при 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
Есть ли нативный способ в ClickHouse для буферизации вставок?
В чём разница между процессами, потоками и горутинами в Go?
Есть ли у тебя гражданство РФ, документы воинского учёта? Важна ли айтишная аккредитация?
Знаешь ли профиль нагрузки на чтение/запись по RPS?
Какие критерии выбора работы для тебя важны? Зарплатные ожидания?
На какую зарплатную вилку ориентируетесь?
Почему ушёл из компании?
Было ли критично что данные в кэше могут быть неактуальны?
Что такое slice и чем отличается от массива?
Как ускорить медленный API endpoint — какие подходы есть?
В чём изначально была проблема с SQL-запросами и как вы их оптимизировали?
Что такое garbage collector в Go?
Какой примерно объём данных в snapshot'ах?
Как организовать доступ к сервису в Kubernetes извне?
Почему решил уходить из Авито?
Что происходит в INNER JOIN если одной строке слева соответствует несколько строк справа?