Sobes.tech

Golang

Come viene implementato in Go il lavoro con stati di panico e la gestione degli errori causati da situazioni di emergenza?

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

Cosa si è fatto esattamente con i duplicati dopo la scoperta? Dove sono stati puliti?

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

Quali metodi e strumenti hai utilizzato per analizzare e determinare le cause dei problemi di carico nei sistemi?

Junior — Middle
Indrive
134

Quali comandi usi di solito nel sistema operativo Linux?

Junior — Middle
Mail.ruMail.ru
134

Quali approcci possono essere utilizzati per garantire la sicurezza dei thread quando si lavora con slice in un ambiente multithread?

Middle — Middle+
Betera Group
134

Quali operazioni sono consentite quando si lavora con uno slice nil nel linguaggio di programmazione?

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

Parla di un compito difficile che sei riuscito a risolvere scrivendo uno script per il sistema Linux

Junior — Middle
Mail.ruMail.ru
134

Come si può regolare la quantità di dati memorizzati nella cache?

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

Disponibilità a ricoprire il ruolo di unico specialista Backend nel team

Junior — Middle
FAQ media holding
134

Qual è la ragione principale per usare il tipo sync.Map in Go?

Junior — Middle
YadroYadro
134

Quali sono le buone pratiche e gli antipattern nei test unitari? Come capire se i test sono buoni?

Middle+
X5
134

Quali sono i vantaggi e gli svantaggi dell'utilizzo della cache nei sistemi?

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 } Errore di compilazione # command-line-arguments ./main.go:39:32: errore di sintassi: nuova riga inaspettata, atteso { dopo la clausola if

Senior
OZONOZON
134

Hai mai incontrato difficoltà nell'implementare interazioni tra diversi servizi?

Junior — Middle
Mail.ruMail.ru
134

Come viene passata una fetta (slice) a una funzione in un linguaggio di programmazione?

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

Cos'è il pattern Saga?

Middle+
Magnit Tech
134

Perché non hanno preso Testcontainers?

Senior
OkkoOkko
134

/* Dobbiamo trasferire dati da una fonte a un consumatore. La fonte fornisce i dati in piccoli batch (~decine di record), mentre il consumatore funziona in modo più efficiente con batch più grandi. Un esempio reale è il trasferimento di dati da code di tipo Kafka al database Clickhouse. Fonte: - Quasi infinita. - La fonte non restituisce mai più di MaxItems record in una singola chiamata a Next. - All'interno di una "sessione" (una chiamata alla funzione Pipe), la fonte restituisce nuovi dati ad ogni Next. - Tuttavia, dopo un riavvio, la fonte ricomincerà dalla posizione "confermata" precedente, indicata da cookie. Pertanto, *ogni* valore di cookie restituito da Next, dopo aver salvato i dati nel ricevitore, deve essere confermato con una chiamata a Commit, nello stesso ordine in cui sono stati restituiti da Next. Ricevitore: - Non può elaborare più di MaxItems alla volta. Livello di base: È necessario implementare la funzione func Pipe(p Producer, c Consumer) error che legge i dati dalla fonte, li raggruppa in un buffer di dimensione non superiore a MaxItems e li salva nel ricevitore, e poi conferma il progresso nella fonte. */ const MaxItems = 9999 type Producer interface { // Next restituisce: // - batch di elementi da elaborare // - cookie da confermare al termine dell'elaborazione // - errore Next() (items []any, cookie int, err error) // Commit viene usato per marcare il batch di dati come processato 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

Una tabella con (id PRIMARY KEY, data JSON) è un indice PostgreSQL abbastanza buono per la ricerca per chiave?

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

Qual è la differenza tra virtualizzazione e containerizzazione?

Middle
YadroYadro
134
/412