Sobes.tech

Golang

Fale sobre os níveis de isolamento de transações: Read Uncommitted, Read Committed, Repeatable Read, Serializable.

Senior
Алабуга
116

Agora queremos ir ao HeadHunter e procurar candidatos por filtros — como arquitetar isso?

Senior
OZONOZON
116

De onde provinham os dados? Os logistas enviavam-nos ou como?

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

O que pode ser feito para evitar a evacuação do mapa em um serviço de alta carga?

Middle+
OZONOZON
116

Os dados do contêiner são apagados após a sua paragem?

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 que tarefas utilizou goroutines e canais?

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

Como é que a plataforma de RH está tecnicamente estruturada no geral?

Senior
BetBoom
116

Como chegou ao momento de otimizar o PostgreSQL e que métodos de otimização utilizou?

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

Implemente uma função que aceite []any e delta int. É necessário incrementar em delta apenas as primeiras ocorrências de números únicos (int). Outros tipos e números repetidos ficam sem alterações. A função deve devolver a lista atualizada e 2 números: updated – quantos números únicos foram modificados, duplicates – quantos elementos numéricos resultaram ser duplicados func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // seu código } // Exemplo: 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 // números únicos: 1, 5, 0 // d == 2 // números duplicados: segundo 1, segundo 5

Middle+
OZONOZON
116

O que é uma goroutine? Em que consiste a sua leveza?

Senior
AstonAston
116

Que JOINs conhece? Liste-os.

Middle
RWB
116

O que é um semáforo?

Senior
техвил
116

Fale sobre o projeto do sistema de moderação/orquestrador — como foi projetado, que decisões foram tomadas?

Senior
Hi Rockits
116

Índices compostos — o que colocar primeiro: igualdade ou intervalo?

Senior
Cloud.ru
116

Qual estratégia de cache escolher — cache-aside ou write-through — considerando o padrão de comportamento dos utilizadores ao verificar o estado do pedido?

Senior
plata
116

Fala mais sobre o serviço de cálculo de salários — como funciona e quais foram as dificuldades?

Senior
BetBoom
116

O que é importante no trabalho, por qual critério consideras um novo lugar?

Middle+
SelectelSelectel
116

Nome quatro protocolos: HTTP, gRPC, WebDAV, ACSA — qual é o estranho?

Senior
Магнит Тех
116

Mostrar combinações únicas de utilizador e ID de produto para todas as compras feitas por utilizadores antes de serem banidos. Ordenar primeiro por nome de utilizador, depois por SKU Encontrar utilizadores que fizeram compras com um valor superior a 5000 rublos. Mostrar os seus nomes no formato id de utilizador | nome | sobrenome | valor das compras

Middle
OZONOZON
116
/412