Sobes.tech

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

Senior
OZONOZON
11

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

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

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

Senior
AvitoAvito
11

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

Senior
Яндекс
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

Что вы делаете, если понимаете, что сроки поджимают и вы не успеваете?

Senior
CRTEX
11

Насколько корректно поведение метода Stop при повторном вызове, когда первый вызов ждёт, а второй сразу делает return?

Senior
Cloud.ru
11

Расскажи какую-нибудь интересную инженерную задачу, которой ты занимался — сложную, которую можно рассказать друзьям.

Middle+
OZONOZON
11

Какая будет задержка между игроками — в среднем и в худшем случае?

Senior
Лига Цифровой ЭкономикиЛига Цифровой Экономики
11

Postgres с JSONB — можно ли использовать как NoSQL?

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

Что именно ты реализовывала в этом микросервисе?

Middle+
X5
11

Клиент может стримить голосовые напрямую из S3 через CDN, как и с картинками — загружать в ближайший по гео CDN?

Senior
Лига Цифровой ЭкономикиЛига Цифровой Экономики
11

Что произойдёт при чтении из закрытого канала в Go?

Senior
Магнит Тех
11

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

Senior
Яндекс
11

В чём отличие между Kafka и RabbitMQ?

Middle
СБЕРСБЕР
11

На основании чего делали партиционирование в Amazon Athena?

Middle
СБЕРСБЕР
11

Как можно использовать встроенные структуры для имитации наследования в Go?

Middle
VKVK
11

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

Senior
spnd.xyz
11

В какой момент вы даёте ACK? Сразу при получении или после обработки?

Senior
А7
11
/371