Sobes.tech

Golang

Parlez-moi du motif Semaphore.

Senior
sber tech
116

Surveillez-vous vous-même la surveillance ou avez-vous une équipe séparée?

Senior
WildberriesWildberries
116

Pourquoi l'approche de Go en matière de concurrence est-elle meilleure que dans d'autres langages?

Middle+
X5
116

Parlez de votre expérience avec des systèmes à haute charge. Avez-vous déjà dû résoudre des problèmes de distribution et d'équilibrage du trafic?

Senior
Hi Rockits
116

Si l'opération dure 10-12 minutes et qu'il y a une écriture active et que les données changent, il n'y a pas eu d'effets secondaires ?

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

Quelle est la complexité de l'algorithme en termes de temps et de mémoire?

Senior
Яндекс
116

Parlez des niveaux d'isolation des transactions : Read Uncommitted, Read Committed, Repeatable Read, Serializable.

Senior
Алабуга
116

Avez-vous déjà eu à traiter des tâches d'architecture ? Comment les décisions architecturales ont-elles été prises ?

Senior
WildberriesWildberries
116

[nom] a demandé : parlez-moi des primitives de synchronisation en GoLang.

Middle
RWB
116

Nous voulons maintenant aller sur HeadHunter et rechercher des candidats par filtres — comment l'architecturer ?

Senior
OZONOZON
116

D'où provenaient les données ? Les logisticiens les envoyaient-ils ou comment ?

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

Que peut-on faire pour éviter l'évacuation de la carte dans un service à haute charge ?

Middle+
OZONOZON
116

Qu'est-ce que la charge moyenne, comment la vérifier et à quoi faire attention?

Senior
VKVK
116

Les données du conteneur sont-elles supprimées après son arrêt?

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

Pour quelles tâches avez-vous utilisé des goroutines et des canaux?

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

Comment avez-vous influencé la modification du processus avec l'analyse ?

Senior
AvitoAvito
116

Comment la plateforme RH est-elle techniquement conçue dans l'ensemble?

Senior
BetBoom
116

Comment avez-vous géré la situation lorsque les comptes lors des transferts atterrissaient sur différents shards?

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

Comment convertir un nombre en système binaire?

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