Sobes.tech

Golang

Implementar um limitador de taxa em memória, seguro para threads, usando o algoritmo Sliding Window ou Token Bucket. Interface: type RateLimiter interface { Allow(key string) bool } Requisitos: - Limite: N pedidos por T segundos para uma chave - Implementação segura para threads - Sem bibliotecas externas - Minimizar bloqueios - Explicar: - condições de corrida possíveis - impacto no GC - comportamento com um grande número de chaves Parâmetros de entrada: NewRateLimiter(limit int, window time.Duration)

Senior
VKVK
67

Que projetos estás a liderar, quais são as tarefas de alto nível — o que estás a fazer?

Middle+
VKVK
67

Como realizavam a recolha de métricas e monitorização?

Senior
IBS
67

A map é passada por referência para uma função em Go?

Senior
Uzum
67

Por que está a pensar em mudar de emprego agora?

Middle
Graveling
67

Equipa em SQL para obter o plano de execução da consulta

Middle+
ТБанк
67

Três mini-perguntas sobre Docker: o que é Docker, Docker Compose, Docker Image?

Senior
purweb
67

O que exatamente foi armazenado em cache e quais regras de invalidação foram usadas?

Senior
А7
67

Como funciona o DISTINCT?

Senior
OZONOZON
67

Como avalia a viabilidade de usar Gestão de Memória Baseada em Arena em serviços Go com alta carga?

Senior
ClearWay
67

Por que o manipulador de API sempre retorna o status 500? O que há de errado com isso?

Senior
2gis2gis
67

Como avalia o seu nível de inglês?

Senior
EPAM
67

Está considerando ativamente as propostas? Existem etapas finais?

Senior
YadroYadro
67

Como foi garantida a tolerância a falhas do serviço?

Middle+
Servicepipi
67

Fale sobre si mesmo e sua experiência de trabalho.

Middle+
BGStaff
67

Qual é a diferença entre embedding e composição em Go?

Senior
техвил
67

Tem finais ou ofertas de outras empresas?

Middle+
OZONOZON
67

O que deve fazer no consumidor para exatamente uma vez?

Middle+
plata
67

func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(advertiserID) if err != nil { return err } partner, err := r.find(partnerID) if err != nil { return err } advertiser.Balance -= amount partner.Hold -= amount partner.Balance += amount if err := r.save(advertiser); err != nil { return err } if err := r.save(partner); err != nil { return err } r.totalPayouts++ return nil }

Senior
Pasul LTD
67

Por que os consumidores do Kafka recebem o evento 'pedido entregue' antes do evento 'pedido criado'? Como corrigir isso?

Middle+
X5 groupX5 group
67
/412