Sobes.tech

Golang

Como são implementados os mecanismos de restrição dos níveis de isolamento das transações ao nível do sistema de gestão de bases de dados?

Middle — Middle+
173

O que pode dar errado ao converter um segmento de bytes em uma string?

Junior — Middle
КуперКупер
173

Quais as consequências se os dados transmitidos através do canal permanecerem não lidos?

Junior — Middle
173

Qual é a vantagem das goroutines em comparação com os threads em termos de eficiência e facilidade de uso?

Junior — Middle
IDT
173

Quais parâmetros podem ser configurados para o funcionamento do agendador de tarefas?

Junior — Middle
173

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

Middle — Middle+
EMCD
173

Como você percebe a situação quando o uso da interface não é explicitamente indicado no código?

Junior — Middle
173

Fala-me do projeto atual em que estás a trabalhar ou que trabalhaste recentemente

Junior — Middle
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

Como é implementado o processamento paralelo e sequencial de tarefas na linguagem Go?

Junior — Middle
kode.ru
Самокат Тех
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
/412