Golang
O que queres encontrar no novo lugar?
Conheces um padrão como Saga?
Se este cache fosse usado numa aplicação real e surgissem problemas de desempenho, como poderia ser melhorada a solução?
Como mediram a redução da carga da CPU em 35% e a latência?
Para que serve HAVING?
Por quais critérios vais escolher a oferta, se houver várias?
Como funciona o agendador do Go? Fale sobre os pontos principais.
Que primitivas de sincronização específicas existem no Go?
Qual foi a composição da equipa no seu último emprego?
// Ao atualizar um pedido, devemos enviar os dados do pedido para vários serviços (APIs de terceiros) // o número de serviços está a crescer (pode ser milhares+) // escrevemos o código, inicialmente tudo correu bem, mas com o tempo o nosso serviço começou a consumir muita memória func (s *orderService) SendOrder(ctx context.Context, hosts []string, order Order) { for i := 0; i < len(hosts); i++ { go func() { // Imaginemos que isto é uma chamada de rede longa response, err := s.httpClient.Send(ctx, hosts[i], order) if err != nil { s.logger.Error(ctx, "falha ao enviar", err) return } s.logger.Info(ctx, "sucesso", response) }() } }
O que é importante para ti ao escolher a futura empresa? A que prestas atenção?
Como funciona a variável condicional (sync.Cond) em Go?
Quantos microserviços havia aproximadamente no sistema?
Como lidar com erros em Go? O que é um pânico e como tratá-lo?
[nome] conta o seu maior erro no trabalho e como saiu dele.
// Qual é o problema com este código? Como melhorá-lo? func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Como é organizado o canal por baixo do capô em Go?
Até que ponto participou na tomada de decisões sobre a implementação do Kafka e outras ferramentas? Discutiu isso com colegas ou com o líder da equipe?
O que é SOLID? Pode listar os cinco princípios com definições?
Fale sobre os índices na base de dados e quais são as desvantagens de ter muitos deles.