func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Golang
Como é que se passa um slice para uma função numa linguagem de programação?
Fala sobre padrões de design. O que é o bloqueio com verificação dupla e para que serve?
Explica por que e qual (sobre a saída do código)
É possível uma situação de Leitura Não Repetível ao usar o nível de isolamento Read Committed?
Conta-me como funciona o Redis, o que é?
O que será exibido em cada impressão? func fn(a []int) { a[2] = 5 a = append(a, 6) fmt.Println(a) // a = append(a, 7) a[0] = 5 fmt.Println(a) // } func main() { a := make([]int, 0, 5) for i := 0; i < 4; i++ { a = append(a, i) } fn(a[:3]) fmt.Println(a) // }
Na 7ª linha, conclui-se que o array interno será transbordado e um novo será criado. Por que decidiste isso?
Conte-me como funciona o agendador de goroutines em Go (GMP).
Houve falhas / problemas no trabalho?
O que acontecerá com o limitador de taxa Token Bucket no cenário: 1 pedido no início do segundo, 99 no final, e depois mais 100 no segundo seguinte?
Fala-me sobre o uso de eventos (abordagem orientada a eventos) no teu exemplo
// 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) }
Explica o que é um map em Go e como o entendes.
Que tarefas gostas? O que procuras para ti?
Quem arquitetou o projeto — você como líder de funcionalidades, junto com a equipe, ou como líder de equipe?
Projete um limitador de taxa para uma API externa com um limite de 100 solicitações por segundo/minuto
O que será exibido em cada impressão? func fn(a []int) { a[2] = 5 a = append(a, 6) fmt.Println(a) // a = append(a, 7) a[0] = 5 fmt.Println(a) // } func main() { a := make([]int, 0, 5) for i := 0; i < 4; i++ { a = append(a, i) } fn(a[:3]) fmt.Println(a) // }
Como é que eles eram resolvidos?
Usas Golang?