Sobes.tech

Golang

Que formato de trabalho considera — remoto, híbrido ou escritório?

Middle
YadroYadro
173

Quais métodos podem ser usados para garantir o processamento do Kafka até 100 mil mensagens por segundo?

Middle — Middle+
EMCD
173

De que forma o processador central gere a distribuição de tarefas entre as filas de tarefas internas e globais?

Junior — Middle
173

Pode explicar o princípio de funcionamento e o uso do objeto sync.Pool em Go?

Junior — Middle
Betera Group
173

Que operações existem sobre slices em Go?

Senior
VK CloudVK Cloud
173

Como se chama o processo de mover elementos de um Map para outro?

Junior — Middle
Betera Group
173

/* Precisamos transferir dados de uma fonte para um consumidor. A fonte fornece os dados em pequenos lotes (~dez registos), enquanto que o consumidor funciona melhor com lotes maiores (~mil registos). Um exemplo real é a transferência de dados de filas tipo Kafka para uma base de dados Clickhouse. Fonte: - Praticamente infinita. - A fonte nunca devolve mais de MaxItems registos numa chamada a Next. - Dentro de uma "sessão" (uma chamada à função Pipe), a fonte devolve dados novos em cada chamada a Next. - No entanto, após reiniciar, a fonte começa na posição "confirmada" anterior, indicada por cookie. Portanto, *cada* valor de cookie devolvido por Next, após guardar os dados no receptor, deve ser confirmado com a chamada a Commit, na mesma ordem em que foram devolvidos por Next. Receptor: - Não pode processar mais de MaxItems de cada 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 num buffer de tamanho não superior a MaxItems e os guarda no receptor, depois de o fazer, confirma o progresso na fonte. Dificuldade adicional: Os métodos Next, Process e Commit estão relacionados com chamadas de rede e podem demorar bastante. Para acelerar o processo, é necessário paralelizar os processos de leitura, escrita e confirmação de progresso. De modo que, durante Process ou Commit, a leitura da fonte e a formação do novo buffer continuem. */ const MaxItems = 9999 type Producer interface { // Next devolve: // - um lote de itens para processar // - uma cookie para confirmar quando o processamento estiver concluído // - um erro Next() (items []any, cookie int, err error) // Commit é usado para marcar um lote de dados como processado Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { // TODO }

Senior
Яндекс
173

Como é que a operação select é implementada na linguagem Go e como ela funciona com canais?

Junior — Middle
WildberriesWildberries
КасперскийКасперский
Киберпротект
173

É possível suspender a execução de uma goroutine de modo que ela bloqueie em uma thread do sistema específica?

Junior — Middle
173

A linguagem Go possui suporte embutido para arrays?

Junior — Middle
172

Qual mecanismo de abstração na linguagem Go é destinado a representar caracteres ou tokens?

Junior — Middle
ЦУМ
172

O que significa um valor nulo para um segmento numa linguagem de programação?

Junior — Middle
Digital Spirit
172

Quais métodos podem ser utilizados para dividir uma base de dados com sharding?

Junior — Middle
172

Que tipos de dados são adequados para uso como chave na estrutura de dados Map?

Junior — Middle
Ecom.tech
172

Pode explicar o funcionamento do mecanismo do agendador de tarefas no sistema operativo?

Junior — Middle
КасперскийКасперский
IDT
Самокат Тех
+1
172

Pode explicar a estrutura interna e o funcionamento de uma tabela hash?

Intern — Junior
172

Tem experiência na resolução de problemas complexos relacionados com o uso de Go Modules nos seus projetos?

Junior — Middle
172

Que ferramentas ou bibliotecas de testes automáticos prefere usar no seu trabalho?

Junior — Middle
172

Quais protocolos de transmissão de dados utilizou para interagir com a parte cliente da aplicação?

Junior — Middle
kode.ru
172

O mecanismo Mutex garante uma ordem estrita para os threads ao acederem a recursos partilhados para leitura e escrita?

Junior — Middle
Zonatelecom
172
/412