Sobes.tech

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

Senior
OZONOZON
10

Где себя видишь дальше — в эксперта, Tech Lead, архитектора?

Middle+
Озон банк
10

/* Есть приложение с микросервисной архитектурой. Микросервис можно абстрагировать с помощью интерфейса Backend. Для доступа к одному экземпляру микросервиса можно использовать тип BackendImpl, который уже реализован. Для каждого микросервиса есть несколько десятков запущенных экземпляров, каждый из которых доступен по своему адресу addr. Однако отдельные экземпляры микросервиса ненадежны: они могут падать, быть недоступными либо перегруженными. Поэтому вам нужно реализовать тип Balancer, который также реализует интерфейс Backend и осуществляет client-side балансировку нагрузки между экземплярами микросервиса, выбирая каждый раз **наименее нагруженный** экземпляр. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr содержит ip:port конкретного экземпляра func NewBackend(addr string) *BackendImpl type Balancer struct { //TODO } var _ Backend = &Balancer{} // addrs содержат адреса всех балансируемых экземпляров func NewBalancer(addrs []string) *Balancer { //TODO }

Senior
Яндекс
9

Расскажите про работу с Docker и Kubernetes: что приходилось делать?

Senior
А7
9

В чём отличие между уровнями изоляции транзакций?

Senior
Финтехробот
9

// Написать асинхронный обработчик задач как библиотеку // Клиент передаёт на вход некоторый объект (Task) с данными для выполнения задачи, // в нашем примере будем использовать пустую структуру. // Обработчик одновременно может обрабатывать не более N задач, // и не более X задач могут быть поставлены в очередь на обработку. // Если нет места в очереди, сразу возвращаем клиенту ошибку. // Задача берется в обработку если имеются на это свободные обработчики. // Иммитируем длительность обработки через time.Sleep(5*time.Second). // Как только очередная задача выполнилась - берём следующую задачу из очереди. // Если в очереди пусто, ожидаем новых задач от клиентов. // Со звездочкой: дополнить структуру Task и получать статусы задач, через отдельный запрос package scheduler type Scheduler interface { AddTask(t Task) error Close() } type Task interface { Do() }

Senior
Cloud.ru
9

Что такое партиционирование и шардирование? Использовали ли?

Senior
А7
9

Как сделать валидатор строки не более 250 символов?

Senior
Small
9

Есть функция `unpredictableFunc()`, нужно обернуть её так, чтобы она выполнялась с таймаутом (например, 1 секунда), и логировалось время выполнения. // Есть функция, работающая неопределённо долго и возвращающая число. // Её тело нельзя изменять (представим, что внутри сетевой запрос). func unpredictableFunc() int64 { rnd := rand.Int63n(5000) time.Sleep(time.Duration(rnd) * time.Millisecond) return rnd } // Нужно изменить функцию обёртку, которая будет работать с заданным таймаутом (например, 1 секунду). // Если "длинная" функция отработала за это время - отлично, возвращаем результат. // Если нет - возвращаем ошибку. Результат работы в этом случае нам не важен. // // Дополнительно нужно измерить, сколько выполнялась эта функция (просто вывести в лог). // Сигнатуру функцию обёртки менять можно. func predictableFunc() int64 { return unpredictableFunc() }

Senior
Бюро 1440Бюро 1440
9

Для каких сценариев можно использовать context.WithValue?

Middle+
X5
9

Какие антипаттерны существуют в Go? Что нельзя делать, что считается плохим тоном?

Senior
sber tech
9

Как гарантировать доставку событий при нестабильной сети (сеть может обрываться, события нельзя терять)?

Middle+
ClearWay
9

Что такое GOMAXPROCS? Что будет, если задать очень большое число?

Senior
Lenta Tech
9

Как договариваетесь с соседними командами по контрактам — protobuf, event-контракты, в чём разница?

Senior
Яндекс
9

Насколько активный сейчас поиск? Уже собрались уходить из [компания] или пока просто присматриваетесь к интересным предложениям?

Senior
AvitoAvito
9

Что знаешь про нас как про продукт?

Senior
FaceApp
9

Что такое ACID? С какими базами данных работал?

Senior
SelectelSelectel
9

Что такое индекс и какие типы индексов есть в PostgreSQL?

Senior
Cloud.ru
9

Где завершаются контексты в данном коде?

Senior
UPSL
9

Работали ли с PostgreSQL, MongoDB, ClickHouse и другими базами данных?

Senior
IBS
9
/371