Se chegarem 1000 pedidos simultâneos, serão criadas 1000 threads do sistema operativo? O que acontecerá com o serviço nesse caso?
Golang
Existe uma fachada que agrega dados de 10 serviços, cada um responde em 100 ms, totalizando cerca de um segundo. Como você resolveria esse problema para que o endpoint devolvesse os dados mais rapidamente?
Continuarias a ir aos outros serviços pelos dados se o primeiro dos 11 serviços retornasse um erro?
Ou o Redis estava num único data center, e todos se conectavam a ele?
Por que princípio escolheu a arquitetura e os limites dos serviços?
Como resolver o problema de data race do qual falamos?
O Redis estava nos três centros de dados?
Quais podem ser os efeitos secundários ao usar goroutines para processar um arquivo, com o que devemos estar preparados?
Tinha três centros de dados — como foi organizada a esquema de replicação/reserva entre eles?
Os centros de dados eram cópias completas uns dos outros ou se complementavam? Você apenas roteava o tráfego entre eles?
E se as goroutines escrevessem na mesma linha/buffer, seria possível esse problema?
Que campo de bloqueio estás a referir-te (esclarecimento sobre a desnormalização, bandeira is_blocked)?
Como podem as goroutines «escapar» (leak)?
O evento chega ao primeiro centro de dados via Kafka, capturamo-lo e armazenamo-lo no Redis. Como esses dados chegaram a todos os três centros de dados?
Existem outras formas, além dos canais, de organizar o trabalho com goroutines?
Escreveste no teu currículo que otimizaste consultas SQL. Como achas que seria o plano de execução para uma consulta de seleção de vendedores não bloqueados (EXPLAIN)?
O seu currículo indica 50-80 mil RPS. Que tipo de serviço era e o que fazia?
Podes falar sobre o algoritmo de auditoria (verificação de dados)? Participaste nele? Como foi o processo?
Falou sobre o modelo de leitura com Redis. O Redis foi replicado entre os centros de dados?
Se um dos serviços que utilizas retornar um erro, o que vais fazer e como vais tratar isso se houver um canal?