Sobes.tech

Имаш ли опит с gRPC и GraphQL? Разкажи за тях.

Senior
X5 techX5 tech
112

тип Response интерфейс {} tип Backend интерфейс { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr съдържа ip:port на конкретен екземпляр func NewBackend(addr string) *BackendImpl tип Balancer структура { // TODO backends []*BackendImpl index int mu sync.Mutex } var _ Backend = &Balancer{} func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { ако len(b.backends) == 0 { return nil, fmt.Errorf("Броят на бекендите в слайса е 0") } b.mu.Lock() index := b.index ако b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) return resp, err } // addrs съдържа адресите на всички балансирани екземпляри func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs))

Middle
Яндекс
112

Как да споделяме памет между горутините? В кои случаи е по-добре да използваме Atomic, а в кои Mutex/RWMutex/SyncMap?

Senior
plata
112

Кои задачи ти харесват повече и кои по-малко?

Senior
WildberriesWildberries
112

Можеш ли да дадеш топ 3 неща, на които трябва да обърнеш внимание при преглед на код?

Senior
AvitoAvito
112

Как работи map в Go?

Middle+
WildberriesWildberries
112

Как да проверите натоварването на CPU и памет в Linux?

Middle+
Бюро 1440Бюро 1440
112

Относно спецификата на стартапа: не винаги има ясна постановка на задачите, понякога са неясни, необходима е инициативност и автономност, натоварването може да бъде неравномерно. Как се чувствате по този въпрос?

Senior
AstraTech
112

Назови четири протокола: HTTP, gRPC, WebDAV, ACSA — кой е излишният?

Senior
Магнит Тех
112

Задача за мащабиране: услугата B изпитва нарастващо натоварване от услугата A. Какво може да се направи?

Junior
Позитив Технолоджис
112

Какво е подравняване на данните в Go?

Middle
RWB
112

Какви са вашите очаквания от ново работно място?

Senior
МВидеоМВидео
112

Напишете задача на езика Go — практичен раздел (проблеми от живота на разработчика, без алгоритми): доработете или поправете услуга. Продължителност — 1,5 часа.

Middle+
Яндекс
112

Какво е TLS и защо е необходим сертификат?

Junior
Позитив Технолоджис
112

Защо ни е необходим WaitGroup в тази задача?

Senior
Cloud.ru
112

Как валидирахте съобщенията от Kafka? Ако съобщението не преминаваше валидирането, какво се случваше с него?

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

Каква е разликата между L4 и L7 балансировчика на натоварването?

Senior
Яндекс
112

Кои библиотеки и рамки бяха използвани в Go услугата?

Middle
СБЕРСБЕР
112

Каква е разликата между Kafka и RabbitMQ?

Senior
2gis2gis
112

Писали ли сте нещо с CTE (Общ израз на таблица, WITH)?

Middle+
МВидеоМВидео
112
/412