Com que bases de dados trabalharam e a que nível? Mais detalhes sobre PostgreSQL, Redis, ClickHouse.
Golang
Como retornar um objeto do tipo error em Go sem usar o pacote errors da biblioteca padrão?
Projete um esquema SQL para um sistema bancário com tabelas de contas e transações. Quais restrições e índices são necessários?
O que acontece após inserir google.com no navegador e pressionar Enter? Descreva todo o processo e os participantes.
Onde e como executar a função cleanup? Como passar o contexto para o limitador de taxa?
Explique a estrutura do limitador de taxa e a função Allow. Quais os parâmetros de configuração utilizados e para que servem?
Qual é a diferença entre TCP e UDP? Onde cada um deles é utilizado?
Corrija a implementação do cleanup usando um ciclo for normal em vez de range. Explique a lógica final de limpeza.
Existe um microserviço para deduzir fundos do saldo do usuário. Quando o serviço é replicado, surge um problema de condição de corrida. Como resolver esse problema?
Por qual protocolo é feita a consulta DNS? Este é o único protocolo possível?
Explique a sua implementação da função Allow após as correções. Como é tratado o caso do primeiro pedido do utilizador?
Como evitar o problema de ponto flutuante sem usar NUMERIC? Qual é uma abordagem alternativa com o tipo INT?
Proponha um modelo de estado para transações no processamento de pagamentos. Como funciona o reembolso?
Para que serve um mutex no limitador de taxa? É possível resolver o problema sem mutex, usando sync.Map?
É possível garantir a entrega de dados via UDP?
Explique o processo de pagamento com cartão bancário através do terminal: quais os participantes envolvidos e como ocorre a interação entre eles?
Como organizar uma goroutine em segundo plano para limpar periodicamente dados desatualizados dos buckets numa função de limpeza?
Por que escolheu o tipo NUMERIC(18,2) para amount? Quais são as alternativas e qual é o problema com DOUBLE PRECISION?
O que é um índice no PostgreSQL? Como trabalhou com índices e com base em que tomou a decisão de criar um índice?
Implemente a lógica da função Allow para o limitador de taxa. Como irá rastrear os eventos e verificar os limites?