Sobes.tech

Опишете процеса на събиране и настройка на gRPC услуга за ръчни тестове или разработка

Junior — Middle
WildberriesWildberries
173

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

Middle — Middle+
173

Какво може да се обърка при преобразуването на байтов сегмент в низ?

Junior — Middle
КуперКупер
173

Какви ще са последиците, ако данните, предавани чрез канала, останат непрочетени?

Junior — Middle
173

Какъв формат на работа разглеждате — дистанционен, хибриден или офис?

Middle
YadroYadro
173

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

Middle — Middle+
EMCD
173

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

Junior — Middle
173

Можете ли да обясните принципа на работа и използването на обекта sync.Pool в Go?

Junior — Middle
Betera Group
173

Какви операции съществуват върху слайсовете в Go?

Senior
VK CloudVK Cloud
173

Как се нарича процесът на преместване на елементи от една Map в друга?

Junior — Middle
Betera Group
173

/* Трябва да прехвърлим данни от източник към потребител. Източникът предоставя данни на малки пакети (~десет записа), докато потребителят работи по-ефективно с големи пакети (~хиляда записа). Реален пример е прехвърлянето на данни от опашки тип Kafka към база данни Clickhouse. Източник: - Практически безкраен. - Източникът никога не връща повече от MaxItems записи при едно извикване на Next. - В рамките на една "сесия" (едно извикване на функцията Pipe), източникът при всяко Next връща нови данни. - След рестарт обаче, източникът започва от предишната "потвърдена" позиция, указана от cookie. Затова, всяка стойност cookie, върната от Next, след като данните са запазени в получателя, трябва да бъде потвърдена с извикване на Commit, в същия ред, в който са били върнати от Next. Получател: - Не може да обработи повече от MaxItems наведнъж. Базово ниво: Трябва да се реализира функцията func Pipe(p Producer, c Consumer) error, която чете данни от източника, ги групира в буфер с размер не по-голям от MaxItems и ги запазва в получателя, след което потвърждава напредъка в източника. Усложнение: Методите Next, Process и Commit са свързани с мрежови извиквания и могат да отнемат доста време. За ускоряване на процеса, трябва да се паралелизират процесите по четене, запис и потвърждаване на напредъка. Така, че по време на Process или Commit, четенето от източника и формирането на новия буфер да продължават. */ const MaxItems = 9999 type Producer interface { // Next връща: // - пакет от елементи за обработка // - cookie за потвърждение, когато обработката е завършена // - грешка Next() (items []any, cookie int, err error) // Commit се използва за маркиране на пакет данни като обработени Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { // TODO }

Senior
Яндекс
173

Как се реализира операцията select в езика Go и как работи с каналите?

Junior — Middle
WildberriesWildberries
КасперскийКасперский
Киберпротект
173

Може ли да спрем изпълнението на горутина така, че да блокира на конкретен системен нишка?

Junior — Middle
173

Има ли езикът Go вградена поддръжка за масиви?

Junior — Middle
172

Кой механизъм за абстракция в езика Go е предназначен за представяне на символи или токени?

Junior — Middle
ЦУМ
172

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

Junior — Middle
172

Какви типове данни са подходящи за използване като ключ в структурата данни Map?

Junior — Middle
Ecom.tech
172

Можете ли да обясните механизма на функциониране на планировщика на задачи в операционната система?

Junior — Middle
КасперскийКасперский
IDT
Самокат Тех
+1
172

Можете ли да обясните вътрешната структура и работата на хеш таблица?

Intern — Junior
172

Имали ли сте опит в решаването на сложни задачи, свързани с използването на Go Modules във вашите проекти?

Junior — Middle
172
/412