Golang
Qual é o diretório onde estão os descritores de arquivo do processo em execução?
Fale-me sobre o sistema de cálculo diário de pagamentos — o que é esse sistema e como funcionava o cálculo para 50 mil funcionários?
Como fazer para não ir de todo ao serviço que certamente vai falhar ou estar inacessível?
func fanin[T qualquer](chs ...<-chan T) chan T { out := make(chan T) wg := sync.WaitGroup{} for _, ch := range chs { wg.Add(1) go func(c <-chan T) { defer wg.Done() for v := range c { out <- v } }(ch) } go func() { wg.Wait() close(out) }() return out } func main() { ch1 := make(chan int, 5) ch2 := make(chan int, 5) for i := 1; i <= 5; i++ { ch1 <- i ch2 <- i * 2 } close(ch1) close(ch2) fmt.Println(fanin(ch1, ch2)) }
Quão bem conheces o Linux? Quais comandos usas com mais frequência?
A sua base de dados ainda é comum ao monolito ou foi dividida em bases de dados separadas para cada serviço?
Que microserviços desenvolveu?
Você sempre trabalhou como outsourcing/outsourcing interno?
Os desenvolvedores escreveram alguns testes?
Consegues recordar uma situação em que algo quebrou e o que fizeram?
Estás atualmente empregado ou já deixaste o teu último emprego?
Foram entregues 20 moedores de carne, 5 foram enviados — quanto resta no armazém e qual é o estado atual no sistema?
// Escrever um gestor de tarefas assíncrono como uma biblioteca // O cliente passa um objeto (Task) com dados para executar a tarefa, // no nosso exemplo, usaremos uma estrutura vazia. // O gestor pode processar no máximo N tarefas simultaneamente, // e no máximo X tarefas podem estar na fila de processamento. // Se não houver espaço na fila, retorna imediatamente um erro ao cliente. // A tarefa é processada se houver processadores livres. // Simulamos a duração do processamento com time.Sleep(5*time.Second). // Assim que uma tarefa termina, pegamos a próxima na fila. // Se a fila estiver vazia, aguardamos novas tarefas dos clientes. // Com um asterisco: completar a estrutura Task e obter os estados das tarefas através de uma requisição separada package scheduler type Scheduler interface { AddTask(t Task) error Close() } type Task interface { Do() }
Como acelerar o algoritmo de filtragem de grafos com um grande número de vértices e eventos?
Consegues trabalhar sem analistas?
O que sabes sobre trabalhar com contextos em Go? Quais métodos existem para ele?
Estás familiarizado com particionamento e sharding? Qual é a diferença?
O que é mais importante — os interesses do negócio ou os interesses do utilizador?
Qual é a sua experiência com PostgreSQL? Já teve que escrever consultas complexas ou fazer otimizações?
Quer trabalho remoto a tempo inteiro ou também está disposto a considerar opções com escritório?