Sobes.tech

Golang

¿Puedes contarme sobre el patrón Semaphore?

Senior
sber tech
116

¿Qué son los canales en Go y cuáles son sus tipos?

Middle+
СБЕРСБЕР
116

¿Usted mismo supervisa el monitoreo o tiene un equipo separado?

Senior
WildberriesWildberries
116

¿Por qué el enfoque de Go para la concurrencia es mejor que en otros lenguajes?

Middle+
X5
116

Cuéntenos sobre su experiencia trabajando con sistemas de alta carga. ¿Ha tenido que resolver tareas relacionadas con la distribución y el balanceo del tráfico?

Senior
Hi Rockits
116

Si la operación dura entre 10 y 12 minutos y hay una grabación activa y los datos cambian, ¿no hubo efectos secundarios?

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

¿Cuál es la complejidad del algoritmo en tiempo y memoria?

Senior
Яндекс
116

Cuéntenos sobre los niveles de aislamiento de transacciones: Read Uncommitted, Read Committed, Repeatable Read, Serializable.

Senior
Алабуга
116

¿Alguna vez ha tenido que abordar tareas de arquitectura? ¿Cómo se tomaron las decisiones arquitectónicas?

Senior
WildberriesWildberries
116

[nombre] preguntó: cuéntame sobre los primitivas de sincronización en GoLang.

Middle
RWB
116

Ahora queremos ir a HeadHunter y buscar candidatos por filtros — ¿cómo arquitecturarlo?

Senior
OZONOZON
116

¿De dónde provenían los datos? ¿Los enviaban los logistas o cómo?

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

¿Qué se puede hacer para evitar la evacuación del mapa en un servicio de alta carga?

Middle+
OZONOZON
116

¿Qué es el Load Average, cómo verificarlo y en qué aspectos prestar atención?

Senior
VKVK
116

¿Se eliminan los datos del contenedor después de detenerlo?

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

¿Para qué tareas utilizó goroutines y canales?

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

¿Cómo influiste en el cambio del proceso con análisis?

Senior
AvitoAvito
116

¿Cómo está estructurada técnicamente en general la plataforma de recursos humanos?

Senior
BetBoom
116

¿Cómo manejaste la situación cuando las cuentas en las transferencias caían en diferentes shards?

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