Qual foi o maior volume de dados com que trabalhou e quantas solicitações de leitura/gravação houve?
Golang
Podes contar brevemente a tua experiência? Qual é a principal linguagem de programação que usas? Quantos anos de experiência tens em desenvolvimento industrial?
/* Existe uma aplicação com arquitetura de microserviços. Um microserviço pode ser abstraído através de uma interface Backend. Para aceder a uma instância de microserviço, pode usar o tipo BackendImpl, que já está implementado. Cada microserviço tem várias dezenas de instâncias em execução, cada uma acessível pelo seu próprio endereço addr. No entanto, as instâncias individuais do microserviço não são confiáveis: podem falhar, estar inacessíveis ou sobrecarregadas. Por isso, precisa implementar um tipo Balancer, que também implementa a interface Backend e realiza balanceamento de carga do lado do cliente entre as instâncias do microserviço, escolhendo a cada vez **a instância menos carregada**.
Por que decidiram usar LLM em vez de apenas lógica no código?
Em que o JWT se diferencia de armazenar sessões no servidor?
func Pipe(p Produtor, c Consumidor) error { // TODO buf := make([]any, 0, MaxItems) cookies := make([]int, 0) flush := func() error { if len(buf) == 0 { return nil } if err := c.Process(buf); err != nil { return err } for _, cookie := range cookies { if err := p.Commit(cookie); err != nil { return err } } buf = buf[:0] cookies = cookies[:0] return nil } for { items, cookie, err := p.Next() if err != nil { flush() return err }
Quanto memória é inicialmente alocada para o buffer?
Qual é a principal linguagem de programação que usas? Usas C++ ou Python?
Por que a chamada a backend.Invoke foi feita fora do mutex?
O balanceador deve entender que o backend responde com erros, e ao ultrapassar um limite durante um determinado tempo, excluí-lo do balanceamento (Circuit Breaker)
O que acontecerá se o Consumer.Process retornar um erro — os dados do buffer não serão perdidos?
Dada uma string S, é necessário contar o número de substrings nesta string que contêm todos os caracteres desta string pelo menos uma vez. Exemplos: "abca" -> 3 // abc, bca, abca "aa" -> 3 // aa, a, a, "ffg" -> 2 // ffg, fg
Quais linguagens de programação, além de Go, você usa para si ou no desenvolvimento comercial?
Qual é o número máximo de solicitações por segundo que você atualmente suporta sob alta carga?
Esta é uma cadeia de caracteres. Encontrar a quantidade de pares de índices i e j (i <= j), entre os quais, inclusive, não há caracteres repetidos. Para a cadeia "aba" a resposta é 5: [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a") Para a cadeia "acbb" a resposta é ?:
Quais critérios você usará para escolher um empregador? O que é mais importante para você?
Qual é a linguagem de programação com a qual você trabalha? Por que surgiram dificuldades com a sintaxe?
Está disposto a mudar para outra linguagem de programação, se necessário ou por desejo pessoal?
// TODO backends []*BackendImpl index int mu sync.Mutex func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { b.mu.Lock() index := b.index if b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) b.mu.Lock() defer b.mu.Unlock() b.index += 1 return resp, err } // addr contém ip:port de uma instância específica func NewBackend(addr string) *BackendImpl // addrs contêm os endereços de todas as instâncias balanceadas func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs)) for _, addr := range addrs { backends = append(backends, NewBackend(addr)) } return &Balancer{ backends: backends, } }
Onde resides, onde estás?