Sobes.tech

Golang

Ako je v Go implementovaná práca s panickými stavmi a spracovanie chýb spôsobených núdzovými situáciami?

Junior — Middle
Lamoda Tech
Магнит Тех
Самокат Тех
+1
134

Čo presne robili s duplikátmi po ich odhalení? Kde ich čistili?

Middle+
ВайлдберрисВайлдберрис
134

Akými metódami a nástrojmi ste analyzovali a určovali príčiny problémov s zaťažením v systémoch?

Junior — Middle
Indrive
134

Akými príkazmi zvyčajne používaš v operačnom systéme Linux?

Junior — Middle
Mail.ruMail.ru
134

Aké prístupy možno použiť na zabezpečenie bezpečnosti vlákien pri práci so slices v prostredí s viacerými vláknami?

Middle — Middle+
Betera Group
134

Aké operácie sú povolené pri práci s nil slice v programovacom jazyku?

Junior — Middle
Кадровое агентство BWG
134

Povedajte o težki nalogi, ki ste jo lahko rešili s pisanjem skripte za sistem Linux

Junior — Middle
Mail.ruMail.ru
134

Ako možno regulovať objem dát uložených v cache?

Junior — Middle
КасперскийКасперский
134

Pripravenosť na úlohu jediného Backend špecialistu v tíme

Junior — Middle
FAQ media holding
134

Aký je hlavný dôvod používania typu sync.Map v Go?

Junior — Middle
YadroYadro
134

Aké sú dobré praktiky a antipatterny v jednotkovom testovaní? Ako spoznať, že testy sú dobré?

Middle+
X5
134

Aké sú výhody a nevýhody používania cache v systémoch?

Junior — Middle
КасперскийКасперский
134

func Exclude(a, b []int) []int { set := make(map[int]struct{}) for _, v := range b { set[v] = struct{}{} } result := make([]int, 0) for _, v := range a { if _, ok := set[v]; !ok { result = append(result, v) } } return result } Chyba kompilácie # command-line-arguments ./main.go:39:32: syntaktická chyba: neočakávaný nový riadok, očakával { po podmienke if

Senior
OZONOZON
134

Stretli ste sa niekedy s ťažkosťami pri implementácii interakcií medzi rôznymi službami?

Junior — Middle
Mail.ruMail.ru
134

Ako sa odovzdáva rez (slice) do funkcie v programovacom jazyku?

Junior — Middle
МТС DigitalМТС Digital
134

Čo je to vzor Saga?

Middle+
Magnit Tech
134

Prečo ne vzali Testcontainers?

Senior
OkkoOkko
134

/* Potrebujeme preniesť údaje z určitého zdroja na určitého spotrebiteľa. Pri tom zdroj odovzdáva údaje v malých balíčkoch (~ desiatky záznamov), a spotrebiteľ efektívnejšie pracuje s väčšími dávkami. Reálny príklad - dodávka údajov z frontov typu Kafka do databázy Clickhouse. Zdroj: - Podmienečne nekonečný. - Zdroj nikdy nevracia viac ako MaxItems záznamov v jednom volaní Next. - V rámci jednej "relácie" (jedného volania funkcie Pipe) zdroj vždy vráti nové údaje pri každom volaní Next. - Avšak, po reštarte začne zdroj od predchádzajúcej "potvrdenej" pozície, určené cookie. Preto, *každá* hodnota cookie, ktorú vrátil volanie Next, po uložené údajov v prijímači, musí byť fixovaná volaním Commit, a to prísne v rovnakom poradí, v akom ich vrátil Next. Prijímateľ: - Nemôž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, skupinu ich do bufferu veľkosti najviac MaxItems a uloží ich do prijímateľa, a následne fixuje pokrok v zdroji. */ const MaxItems = 9999 type Producer interface { // Next vracia: // - dávku položiek na spracovanie // - cookie na potvrdenie po ukončení spracovania // - chybu Next() (items []any, cookie int, err error) // Commit sa používa na označenie dávky údajov ako spracovanej Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { var buf []any var cookies []int for { items, cookie, err := p.Next() if err != nil { return err } buf = append(buf, items...) cookies = append(cookies, cookie) if len(buf) >= MaxItems { if err := c.Process(buf); err != nil { return err } for _, c := range cookies { if err := p.Commit(c); err != nil { return err } } buf = buf[:0] cookies = nil } } if len(buf) > 0 { if err := c.Process(buf); err != nil { return err } for _, c := range cookies { if err := p.Commit(c); err != nil { return err } } } return nil }

Middle
Яндекс
134

Tabuľka s (id PRIMARY KEY, data JSON) — je index PostgreSQL celkom dobrý na vyhľadávanie podľa kľúča?

Middle+
МВидеоМВидео
134

Aký je rozdiel medzi virtualizáciou a kontajnerizáciou?

Middle
YadroYadro
134
/412