Por que os erros não retornam no método Process? É necessário corrigir e enviar o código completamente funcional.
Golang
Qual é a diferença entre bases de dados relacionais e NoSQL?
Por que estás entrando no mercado agora?
O que são canais em Go e o operador select?
Como funciona a pesquisa binária numa lista ordenada?
Que outras estruturas são usadas para índices em bancos de dados além da árvore B?
Qual direção ou projeto lhe foi atribuído atualmente na sua organização atual?
Pode-se usar o contexto para passar dados entre componentes ou funções?
Qual é a diferença entre um processo e um thread?
O que é uma condição de corrida e quais são as formas de se proteger dela?
Qual é a diferença entre uma goroutine e uma thread do sistema operativo?
As atualizações de documentos chegam ao serviço mensagem Documento { string Url = 1; // URL do documento, seu identificador único uint64 PubDate = 2; // hora de publicação declarada do documento uint64 FetchTime = 3; // hora de recebimento desta atualização do documento, pode ser considerada como identificador de versão. O par (Url, FetchTime) é único. string Text = 4; // texto do documento uint64 FirstFetchTime = 5; // inicialmente ausente, deve ser preenchido } Os documentos podem chegar em qualquer ordem (não na ordem em que foram atualizados), e também podem haver mensagens duplicadas. É necessário, na saída, formar mensagens iguais, mas com campos corrigidos de acordo com as seguintes regras (tudo o que está abaixo é para um grupo de documentos com o mesmo campo Url): O campo Text e FetchTime devem ser iguais aos do documento com o maior FetchTime recebido até agora. O campo PubDate deve ser igual ao do mensagem com o menor FetchTime. O campo FirstFetchTime deve ser igual ao valor mínimo de FetchTime. Ou seja, a cada momento, tomamos PubDate e FirstFetchTime do primeiro versão recebida até agora (se ordenarmos por FetchTime), e Text da última. A interface no código pode ser implementada assim: type Processor interface { Process(doc *Document) (*Document, error) } Este código funcionará em um serviço que lê mensagens de uma fila (Kafka ou similar), e também escreve o resultado na fila. Se Process retornar Null, nada será escrito na fila.
O que é um ponteiro e quanto ele pesa?
O que são as sondas (probes) no Kubernetes, como configurá-las e quais são os tipos?
Como usar o select para trabalhar com múltiplos canais ao mesmo tempo?
Fala sobre a sua experiência prática com canais em Go — como os utilizou na prática?
O que mais, além de um mutex, pode ser usado para proteger contra condições de corrida?
O que é um canal em Go e quais são as suas principais áreas de aplicação?
/* String dada que contém os caracteres (){}. É necessário determinar se a string de entrada está equilibrada em relação aos parênteses. */ func isBalanced(s string) bool { // TODO: implementar isto return false } fmt.Println(isBalanced("()")) // -> true fmt.Println(isBalanced("({()})")) // -> true fmt.Println(isBalanced("(()")) // -> false fmt.Println(isBalanced("(()))")) // -> false fmt.Println(isBalanced("({})")) // -> false
O que é a iteração sobre uma string usando for range em Go? O que são as variáveis i e v dentro do ciclo, quais são os seus tipos de dados?