Sobes.tech

Golang

Co jsou to kanály v Go a operátor select?

Middle
201

Jak funguje binární vyhledávání v seřazeném seznamu?

Middle
201

Co je ukazatel a kolik váží?

Middle
200

Aktualizace dokumentů přicházejí do služby message Document { string Url = 1; // URL dokumentu, jeho jedinečný identifikátor uint64 PubDate = 2; // deklarovaný čas publikace dokumentu uint64 FetchTime = 3; // čas přijetí této aktualizace dokumentu, může být považován za identifikátor verze. Pár (Url, FetchTime) je jedinečný. string Text = 4; // text dokumentu uint64 FirstFetchTime = 5; // zpočátku chybí, je třeba doplnit } Dokumenty mohou přijít v libovolném pořadí (ne v pořadí, ve kterém byly aktualizovány), a mohou být i duplicitní zprávy. Je třeba na výstupu vytvořit stejné zprávy, ale s opravenými poli podle následujících pravidel (všechno níže platí pro skupinu dokumentů se stejným polem Url): Pole Text a FetchTime by měla být taková, jaká byla u dokumentu s největším FetchTime, který byl dosud přijat. Pole PubDate by mělo být takové, jaké bylo u zprávy s nejmenším FetchTime. Pole FirstFetchTime by mělo být rovno nejnižší hodnotě FetchTime. Jinými slovy, v každém okamžiku bereme PubDate a FirstFetchTime z první verze, kterou jsme dosud obdrželi (pokud je seřadíme podle FetchTime), a Text z poslední. Rozhraní v kódu lze implementovat takto: type Processor interface { Process(doc *Document) (*Document, error) } Tento kód bude fungovat v službě, která čte zprávy z fronty (Kafka nebo podobné), a také zapisuje výsledek do fronty. Pokud Process vrací Null, nic se do fronty nezapisuje.

Senior
200

Co je to race condition a jaké jsou způsoby, jak se proti němu chránit?

Middle
200

Co jsou to sondy (probes) v Kubernetes, jak je nakonfigurovat a jaké existují typy?

Senior
199

Jaký je rozdíl mezi gorutinou a vláknem operačního systému?

Middle
198

Co jiného, kromě mutexu, lze použít k ochraně před race condition?

Middle
197

Jak rozhraní v Go umožňují implementaci polymorfismu bez explicitního označení dědičnosti?

Middle
197

Jak roste kapacita slice při rozšíření?

Middle
196

Co je to virtuální paměť (swap), kdy je potřeba a kdy ji vypnout?

Senior
195

Jaké projekty vedeš, jaké jsou tvé úkoly na vyšší úrovni?

Middle+
194

Co by měla funkce isBalanced vracet pro prázdný řetězec?

Middle
194

Co je to kanál v Go a jaké jsou jeho hlavní oblasti použití?

Middle
193

Řekněte mi více o projektech v Go

Middle
193

Jak funguje dvoufázové potvrzení (2PC)?

Middle
192

Kdy nebude index při provádění dotazu použit?

Middle
192

Co je ukazatel a kolik paměti zabírá?

Middle
191

/* Daný řetězec obsahující znaky (){}. Je třeba určit, zda je vstupní řetězec vyvážený z hlediska závorek. */ func isBalanced(s string) bool { // TODO: implementujte to return false } fmt.Println(isBalanced("()")) // -> true fmt.Println(isBalanced("({()})")) // -> true fmt.Println(isBalanced("(()")) // -> false fmt.Println(isBalanced("(()))")) // -> false fmt.Println(isBalanced("({})")) // -> false

Middle
191

Co je to fork?

Middle
190
/12