Sobes.tech

Golang

Que abordagens podem ser usadas para garantir a segurança de threads ao trabalhar com slices em um ambiente multithread?

Middle — Middle+
Betera Group
134

Quais operações são permitidas ao trabalhar com um slice nil na linguagem de programação?

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

Que metodologias de projeto de sistemas preferes ao criar soluções?

Junior — Middle
134

Fale sobre uma tarefa difícil que conseguiu resolver escrevendo um script para o sistema Linux

Junior — Middle
Mail.ruMail.ru
134

Como é que se pode regular o volume de dados armazenados em cache?

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

Disposição para atuar como o único especialista Backend na equipa

Junior — Middle
FAQ media holding
134

Qual é a principal razão para usar o tipo sync.Map em Go?

Junior — Middle
YadroYadro
134

Quais são as boas práticas e antipadrões nos testes unitários? Como saber se os testes são bons?

Middle+
X5
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 } Erro de compilação # command-line-arguments ./main.go:39:32: erro de sintaxe: nova linha inesperada, esperado { após a cláusula if

Senior
OZONOZON
134

Já teve dificuldades ao implementar interações entre diferentes serviços?

Junior — Middle
Mail.ruMail.ru
134

Como é que a passagem de um segmento (slice) é feita numa função numa linguagem de programação?

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

O que é o padrão Saga?

Middle+
Magnit Tech
134

Por que não usaram Testcontainers?

Senior
OkkoOkko
134

/* Precisamos transferir dados de uma fonte para um consumidor. A fonte fornece os dados em pequenos lotes (~dez registros), enquanto o consumidor funciona de forma mais eficiente com lotes maiores. Um exemplo real é a transferência de dados de filas do tipo Kafka para o banco de dados Clickhouse. Fonte: - Praticamente infinita. - A fonte nunca retorna mais de MaxItems registros em uma única chamada a Next. - Dentro de uma "sessão" (uma chamada à função Pipe), a fonte retorna novos dados a cada chamada a Next. - No entanto, após reiniciar, a fonte começará da posição "confirmada" anterior, indicada por cookie. Portanto, *cada* valor de cookie retornado por Next, após salvar os dados no receptor, deve ser confirmado com uma chamada a Commit, na mesma ordem em que foram retornados por Next. Receptor: - Não pode processar mais de MaxItems de uma vez. Nível básico: É necessário implementar a função func Pipe(p Producer, c Consumer) error que lê dados da fonte, os agrupa em um buffer de tamanho não maior que MaxItems e os salva no receptor, e depois confirma o progresso na fonte. */ const MaxItems = 9999 type Producer interface { // Next retorna: // - lote de itens a serem processados // - cookie para ser confirmado quando o processamento estiver concluído // - erro Next() (items []any, cookie int, err error) // Commit é usado para marcar o lote de dados como processado 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

Uma tabela com (id PRIMARY KEY, data JSON) — um índice PostgreSQL é bastante bom para procurar por chave?

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

Qual é a diferença entre virtualização e conteinerização?

Middle
YadroYadro
134

É possível inserir outro bloco de código com chaves dentro de uma função existente?

Junior — Middle
134

Como é que definiu e formulou as tarefas na sua posição anterior?

Junior — Middle
Сбер КонтактСбер Контакт
134

Como foi implementado o código final no ambiente de produção no seu último projeto?

Junior — Middle
IDT
Киберпротект
134

Como funciona a operação de adicionar um novo elemento a uma slice numa linguagem de programação?

Junior — Middle
134
/412