Sobes.tech

Построить оптимальный индекс для SELECT * FROM employee WHERE sex = 'm' AND salary > 300000 AND age = 20 ORDER BY created_at

Middle+
OZONOZON
11

Приходилось ли вам убеждать или влиять на кого-то с другой точкой зрения? Как вы формулировали своё сообщение и слушали их?

Senior
Shopfully
11

Написать функцию, которая проверяет, является ли строка палиндромом. Палиндром - последовательность символов, одинаково читающееся в обоих направлениях. Проверять только на символы алфавита a-zA-Za-яА-Я, не учитывать case-sensitive. Input: "isPalindrome" Output: false <p> Input: "А роза упала на лапу Азора" Output: true <p> Input: "Is_s_d_+_ssi" Output: true

Middle
VKVK
11

Был ли случай, когда ты был не согласен с решением руководителя или стейкхолдера?

Senior
I-teco
11

Зачем нам нужен Docker? Почему мы не можем просто на сервере запускать бинарник?

Senior
МВидеоМВидео
11

Как устроен интерфейс в Go изнутри (в памяти)?

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

Как ты оптимизировал запросы на практике? Что смотришь, когда ручка тормозит?

Middle+
OZONOZON
11

Чем стек отличается от кучи? Как компилятор решает, куда аллоцировать объект?

Middle+
X5
11

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

Middle+
Штрафов нет
11

Бывало ли у вас, что что-то долго делали, и оно в итоге не было внедрено или отложено в стол?

Senior
Ozon ФинтехOzon Финтех
11

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

Senior
X5 techX5 tech
11

Работал ли с RabbitMQ? Расскажи про Kafka — если 3 партиции и 1 под, как распределяются сообщения?

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

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

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

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

Middle+
МВидео/эльдорадо
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

Расскажи про интересную задачу — онлайн-блокировка по дневному drawdown

Senior
Flant
11

Как управляется память в Go? Как работает сборщик мусора?

Middle
wilix
11

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

Senior
AvitoAvito
11

Сколько горутин можно создать одновременно?

Senior
SberAuto
11
/371