Sobes.tech

Golang

Ce abordări pot fi utilizate pentru a asigura siguranța thread-urilor atunci când se lucrează cu slices într-un mediu multi-threaded?

Middle — Middle+
Betera Group
134

Ce operații sunt permise atunci când se lucrează cu un slice nil în limbajul de programare?

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

Ce metodologii de proiectare a sistemelor preferi atunci când creezi soluții?

Junior — Middle
134

Povesti despre o sarcină dificilă pe care ai reușit să o rezolvi scriind un script pentru sistemul Linux

Junior — Middle
Mail.ruMail.ru
134

Cum se poate regla volumul de date stocate în cache?

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

Disponibilitatea de a acționa ca singurul specialist Backend în echipă

Junior — Middle
FAQ media holding
134

Care este motivul principal pentru utilizarea tipului sync.Map în Go?

Junior — Middle
YadroYadro
134

Care sunt practicile bune și antipattern-urile în testarea unităților? Cum să înțelegi dacă testele sunt bune?

Middle+
X5
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 } Eroare de compilare # command-line-arguments ./main.go:39:32: eroare de sintaxă: linie nouă neașteptată, s-așteptat { după clauza if

Senior
OZONOZON
134

V-ați confruntat vreodată cu dificultăți în implementarea interacțiunilor între diferite servicii?

Junior — Middle
Mail.ruMail.ru
134

Cum se transmite o felie (slice) către o funcție într-un limbaj de programare?

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

Ce este pattern-ul Saga?

Middle+
Magnit Tech
134

De ce nu au folosit Testcontainers?

Senior
OkkoOkko
134

/* Trebuie să transferăm date dintr-o sursă către un consumator. Sursa oferă date în loturi mici (~zeci de înregistrări), în timp ce consumatorul funcționează mai eficient cu loturi mari. Un exemplu real este transferul de date din cozi de tip Kafka în baza de date Clickhouse. Sursa: - Practic infinită. - Sursa nu returnează niciodată mai mult de MaxItems în cadrul unei singure apelări Next. - În cadrul unei "sesiuni" (un apel al funcției Pipe), sursa returnează date noi la fiecare Next. - Cu toate acestea, după repornire, sursa va începe de la poziția "confirmată" anterioară, indicată de cookie. Prin urmare, *fiecare* valoare de cookie returnată de Next, după salvarea datelor în receptor, trebuie confirmată cu o apelare la Commit, în aceeași ordine în care au fost returnate de Next. Receptor: - Nu poate procesa mai mult de MaxItems odată. Nivel de bază: Este necesar să implementați funcția func Pipe(p Producer, c Consumer) error care citește date din sursă, le grupează într-un buffer de dimensiune maximă MaxItems și le salvează în receptor, apoi confirmă progresul în sursă. */ const MaxItems = 9999 type Producer interface { // Next returnează: // - un lot de elemente de procesat // - un cookie pentru a fi confirmat după finalizarea procesării // - o eroare Next() (items []any, cookie int, err error) // Commit este folosit pentru a marca lotul de date ca fiind procesat 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

O tabel cu (id PRIMARY KEY, data JSON) — un index PostgreSQL este destul de bun pentru căutarea după cheie?

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

Care este diferența dintre virtualizare și containerizare?

Middle
YadroYadro
134

Se poate insera un alt bloc de cod cu acolade în interiorul unei funcții existente?

Junior — Middle
134

Cum ați definit și formulat sarcinile în postul dumneavoastră anterior?

Junior — Middle
Сбер КонтактСбер Контакт
134

Cum a fost implementat codul final în mediul de producție în ultimul dvs. proiect?

Junior — Middle
IDT
Киберпротект
134

Cum funcționează operațiunea de adăugare a unui element nou într-un slice într-un limbaj de programare?

Junior — Middle
134
/412