Sobes.tech

Golang

Come sono state distribuite le attività all'interno del team?

Senior
AvitoAvito
116

Perché l'approccio di Go alla concorrenza è migliore rispetto ad altri linguaggi?

Middle+
X5
116

Parli della sua esperienza con sistemi ad alta intensità. Ha mai dovuto risolvere problemi di distribuzione e bilanciamento del traffico?

Senior
Hi Rockits
116

Se l'operazione dura 10-12 minuti e c'è una scrittura attiva e i dati cambiano, non ci sono stati effetti collaterali?

Senior
МВидео/эльдорадо
116

Qual è la complessità dell'algoritmo in termini di tempo e memoria?

Senior
Яндекс
116

Parla dei livelli di isolamento delle transazioni: Read Uncommitted, Read Committed, Repeatable Read, Serializable.

Senior
Алабуга
116

[nome] ha chiesto: parlami delle primitive di sincronizzazione in GoLang.

Middle
RWB
116

Ora vogliamo andare su HeadHunter e cercare candidati per filtri — come architettarlo?

Senior
OZONOZON
116

Da dove provenivano i dati? Li inviavano i logistici o come?

Senior
МВидео/эльдорадо
116

Cosa si può fare per evitare l'evacuazione della mappa in un servizio ad alta load?

Middle+
OZONOZON
116

Cos'è il Load Average, come verificarlo e a cosa prestare attenzione?

Senior
VKVK
116

I dati del contenitore vengono eliminati dopo l'arresto?

Senior
SberAuto
116

func (c *Client) Send(ctx context.Context, messages []Message, maxWorkers int) error { sem := make(chan struct{}, maxWorkers) var wg sync.WaitGroup var resultErr error var once sync.Once for _, msg := range messages { wg.Add(1) go func(msg Message) { defer wg.Done() sem <- struct{}{} defer func() { <-sem }() body, err := json.Marshal(msg) if err != nil { once.Do(func() { resultErr = err; cancel() }) return } req, _ := http.NewRequestWithContext( ctx, http.MethodPost, c.url, bytes.NewReader(body), ) req.Header.Set("Content-Type", "application/json") resp, err := c.httpClient.Do(req) if err != nil { once.Do(func() { resultErr = err; cancel()}) return } defer resp.Body.Close() if resp.StatusCode >= 500 { once.Do(func() { resultErr = fmt.Errorf("server error") cancel()}) return } c.sentCount.Add(1) time.Sleep(time.Second) }(msg) } wg.Wait() }

Senior
UPSL
116

Per quali compiti hai usato goroutine e canali?

Middle+
МВидео/эльдорадо
116

Come hai influenzato il cambiamento del processo con l'analisi?

Senior
AvitoAvito
116

Come è strutturata tecnicamente in generale la piattaforma HR?

Senior
BetBoom
116

Come hai gestito la situazione quando gli account durante i trasferimenti finivano su shard diversi?

Senior
РамблерРамблер
116

Come convertire un numero nel sistema binario?

Senior
Лига Цифровой ЭкономикиЛига Цифровой Экономики
116

Come sei arrivato al momento di ottimizzare PostgreSQL e quali metodi di ottimizzazione hai usato?

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

Implementa una funzione che accetta []any e delta int. È necessario aumentare di delta solo le prime occorrenze di numeri unici (int). Altri tipi e numeri ripetuti devono essere lasciati invariati. La funzione deve restituire la lista aggiornata e 2 numeri: updated – quanti numeri unici sono stati modificati, duplicates – quanti elementi numerici sono risultati duplicati func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // il tuo codice } // Esempio: xs := []any{1, "a", 5, "b", 1, 0, 5} u, d, s := IncrementUniqueIntsInMixed(xs, 3) // xs == []any{4, "a", 8, "b", 1, 3, 5} // u == 3 // numeri unici: 1, 5, 0 // d == 2 // numeri duplicati: secondo 1, secondo 5

Middle+
OZONOZON
116
/412