Sobes.tech

Golang

Ako sú na úrovni systému správy databáz implementované mechanizmy obmedzenia úrovní izolácie transakcií?

Middle — Middle+
173

Čo môže byť negatívne pri prevode segmentu bajtov na reťazec?

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

Aké dôsledky nastanú, ak údaje prenášané cez kanál zostanú neprečítané?

Junior — Middle
173

Aké je výhody gorutín v porovnaní s vláknami z hľadiska efektívnosti a pohodlia používania?

Junior — Middle
IDT
173

Aké parametre je možné nastaviť pre chod plánovača úloh?

Junior — Middle
173

Akými spôsobmi je možné zabezpečiť spracovanie Kafka až do 100 tisíc správ za sekundu?

Middle — Middle+
EMCD
173

Ako vnímate situáciu, keď v kóde nie je explicitne uvedené použitie rozhrania?

Junior — Middle
173

Povedz mi o aktuálnom projekte, na ktorom pracuješ alebo na ktorom si nedávno pracoval

Junior — Middle
173

Aké operácie existujú nad slices v Go?

Senior
VK CloudVK Cloud
173

Ako sa nazýva proces presunu prvkov z jednej Mapy do druhej?

Junior — Middle
Betera Group
173

/* Musíme preniesť údaje zo zdroja k spotrebiteľovi. Zdroj poskytuje údaje v malých dávkach (~desať záznamov), zatiaľ čo spotrebiteľ efektívnejšie pracuje s väčšími dávkami (~tisíc záznamov). Reálny príklad je prenos údajov z front typu Kafka do databázy Clickhouse. Zdroj: - Takmer nekonečný. - Zdroj nikdy nevráti viac ako MaxItems záznamov v jednom volaní Next. - V rámci jednej "relácie" (jedno volanie funkcie Pipe) zdroj pri každom Next vracia nové údaje. - Po reštarte však zdroj začína od predchádzajúcej "potvrdenej" pozície, označenej cookie. Preto, každá hodnota cookie, vrátená od Next, po uložené údajoch do príjemcu, musí byť potvrdená volaním na Commit, v rovnakom poradí, v akom boli vrátené od Next. Prijímateľ: - Nedokáže spracovať viac ako MaxItems naraz. Základná úroveň: Je potrebné implementovať funkciu func Pipe(p Producer, c Consumer) error, ktorá číta údaje zo zdroja, ich zoskupuje do bufferu veľkosti nie väčšej ako MaxItems a ich ukladá do príjemcu, po čom potvrdzuje pokrok v zdroji. Zložitosť: Metódy Next, Process a Commit sú spojené s sieťovými volaniami a môžu trvať dosť dlho. Na zrýchlenie procesu je potrebné paralelizovať procesy čítania, zápisu a potvrdenia pokroku. Tak, aby počas Process alebo Commit pokračovalo čítanie zo zdroja a tvorba nového bufferu. */ const MaxItems = 9999 type Producer interface { // Next vráti: // - dávku položiek na spracovanie // - cookie na potvrdenie, keď je spracovanie dokončené // - chybu Next() (items []any, cookie int, err error) // Commit sa používa na označenie dávky dát ako spracovaných Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { // TODO }

Senior
Яндекс
173

Ako je implementovan operácia select v jazyku Go a ako funguje s kanálmi?

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

Je možné pozastaviť vykonávanie gorutiny tak, aby sa zablokovala na konkrétnom systémovom vlákne?

Junior — Middle
173

Má jazyk Go zabudovanú podporu pre polia?

Junior — Middle
172

Aký mechanizmus abstrakcie v jazyku Go je určený na reprezentáciu znakov alebo tokenov?

Junior — Middle
ЦУМ
172

Čo znamená nulová hodnota pre rez v programovacom jazyku?

Junior — Middle
Digital Spirit
172

Ako je implementované paralelné a sekvenčné spracovanie úloh v jazyku Go?

Junior — Middle
kode.ru
Самокат Тех
172

Aké typy údajov sú vhodné na použitie ako kľúč v dátovej štruktúre Map?

Junior — Middle
Ecom.tech
172

Môžete vysvetliť mechanizmus fungovania plánovača úloh v operačnom systéme?

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

Môžete vysvetliť vnútornú štruktúru a fungovanie hash tabuľky?

Intern — Junior
172
/412