Sobes.tech

Ты сейчас в Магните ещё работаешь? Почему решил выйти на рынок?

Senior
МВидео/эльдорадо
11

Объясни почему и какая (по поводу вывода кода)

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

База данных тоже является схемой — как вы это понимаете?

Senior
Uzum
11

От чего зависит Index Only Scan vs Index Scan в PostgreSQL?

Middle+
OZONOZON
11

Расскажи про уровни изоляции транзакций

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

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

Senior
ВкусВиллВкусВилл
11

Напишите функцию Exclude, которая возвращает элементы из slice-а a, которых нет в slice-е b.

Senior
OZONOZON
11

Какие-то пет-проекты у тебя есть?

Senior
AvitoAvito
11

Реализуй функцию для нахождения сервиса с наибольшим количеством логов в каждом namespace. Какова сложность алгоритмов для топ-1, топ-2, топ-10?

Middle+
X5 groupX5 group
11

Обсуждали ли вы развитие? Был ли план развития?

Senior
AvitoAvito
11

Почему вы сейчас думаете о смене работы?

Middle
Graveling
11

Что такое OpenTelemetry (OTel), зачем это нужно и как выглядит?

Senior
X5 techX5 tech
11

Какие технические истории есть — не про архитектуру сверху, а про углубление в детали, реальный проблемный кейс?

Senior
OZONOZON
11

Есть HTTP handler, который делает сложный SELECT в базу данных, пользователь недоволен долгим ожиданием. Какова последовательность действий для диагностики и оптимизации?

Senior
ВайлдберрисВайлдберрис
11

Расскажи про реализацию batch-процесса для перерасчёта исторических данных. Зачем каждую ночь пересчитывать? Сколько данных хранили?

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

Расскажи, чем ты занимался на текущем месте работы?

Senior
AvitoAvito
11

Для API Gateway один Load Balancer, для WebSocket другой — итого два LB в системе?

Senior
Яндекс
11

Был ли у тебя опыт с gRPC и GraphQL? Расскажи про них.

Senior
X5 techX5 tech
11

func (c *Client) Send(ctx context.Context, messages []Message, maxWorkers int) error { sem := make(chan struct{}, maxWorkers) var wg sync.WaitGroup var resultErr error var once sync.Once for _, msg := range messages { wg.Add(1) go func(msg Message) { defer wg.Done() sem <- struct{}{} defer func() { <-sem }() body, err := json.Marshal(msg) if err != nil { once.Do(func() { resultErr = err; cancel() }) return } req, _ := http.NewRequestWithContext( ctx, http.MethodPost, c.url, bytes.NewReader(body), ) req.Header.Set("Content-Type", "application/json") resp, err := c.httpClient.Do(req) if err != nil { once.Do(func() { resultErr = err; cancel()}) return } defer resp.Body.Close() if resp.StatusCode >= 500 { once.Do(func() { resultErr = fmt.Errorf("server error") cancel()}) return } c.sentCount.Add(1) time.Sleep(time.Second) }(msg) } wg.Wait() }

Senior
UPSL
11

Расскажи подробнее про семафоры.

Senior
AvitoAvito
11
/371