Sobes.tech

Какие особенности взаимодействия консюмеров и продюсеров с партициями в Kafka?

Senior
ClearWay
11

Есть большой файл с миллионом URL-адресов, нужно скачать их быстро, не перегрузив систему и не получив бан от внешнего сервера. Как организовать код?

Senior
Spectr
11

Что нравится и не нравится на текущем месте работы?

Middle+
Magnit Tech
11

В резюме написано, что ускорил скорость обработки в 4–5 раз на прошлом месте работы — расскажи подробнее.

Senior
OkkoOkko
11

type Balancer struct { // TODO backends []*BackendImpl index int mu sync.Mutex N int K time.Duration } var _ Backend = &Balancer{} func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { if len(b.backends) == 0 { return nil, fmt.Errorf("Кол-во backends в слайсе 0") } b.mu.Lock() index := b.index for b.backends[index].banned { b.index = (b.index + 1) % len(b.backends) index = b.index } b.index = (b.index + 1) % len(b.backends) b.mu.Unlock() backend := b.backends[index] resp, err := backend.Backend.Invoke(ctx, req) if err != nil && backend.countErrors < b.N { backend.mu.Lock() backend.countErrors += 1 if backend.countErrors == b.N { backend.banned = true go func() { time.Sleep(b.K) backend.mu.Lock() defer backend.mu.Unlock() backend.banned = false backend.countErrors = 0 }() } backend.mu.Unlock() } return resp, err } // addrs содержат адреса всех балансируемых экземпляров func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImplF, len(addrs)) for _, addr := range addrs { implF := BackendImplF{ Backend: NewBackend(addr), } backends = append(backends, &implF) } }

Middle
Яндекс
11

Почему выбрал Go для себя?

Senior
Spectr
11

Есть ли моменты, которые могут демотивировать в работе, помимо уже озвученного?

Senior
Flant
11

Расскажи про свою текущую работу: что там делал и какая зона ответственности?

Senior
bip.ru
11

Какие недостатки у индексов? Может ли индекс замедлить чтение?

Middle+
РамблерРамблер
11

Сервис начал отвечать 3 секунды вместо 100 миллисекунд. Какие будут твои действия?

Middle+
purrweb
11

Расскажи про команду: 4 Go-разработчика, тестировщики, аналитики, инженеры, тимлид?

Senior
SberAuto
11

Что такое горутина? Чем отличается от системного треда? Расскажи про планировщик Go (GMP).

Senior
Lenta Tech
11

Какие виды Mutex есть в Go?

Senior
YadroYadro
11

Помнишь профиль нагрузки — сколько на чтение, сколько на запись?

Senior
eLama
11

Нагрузочное тестирование — как проводили, какие метрики смотрели?

Senior
Cloud.ru
11

Есть ли ООП в Go и в каком виде?

Senior
YadroYadro
11

Были ли проблемы с производительностью или что-то нужно было оптимизировать?

Middle+
VK music
11

Что такое primary key?

Middle
RWB
11

Есть ли у вас финалы или офферы от других компаний?

Middle+
OZONOZON
11

Бывали ли ситуации, когда аналитик хочет за месяц, а технически нужно два? Как решали?

Senior
VK Live
11
/399