Golang
Quantos microserviços existem no seu trabalho atual e com quais você trabalha diretamente?
Seção de algoritmos: duas tarefas de nível Medium ou superior no LeetCode. Duração — 1,5 horas para as duas tarefas.
Questão 4: Encontrar erros no código com canais e goroutines (fechamento duplo do canal)
Tarefa com fatias: o que irão imprimir várias operações de append e fatias? (tarefa com fatias a, b, c, d)
Onde, na sua opinião, começa o highload? Qual é a fronteira entre highload e não-highload?
Um ponteiro pode apontar tanto para a pilha quanto para o heap?
O que é XSS (Cross-Site Scripting) e como combater isso?
// É necessário implementar uma função para comprimir uma string usando o algoritmo de codificação por comprimento de execução. // Se uma série de valores iguais for encontrada, ela é substituída pelo comprimento da série e pelo valor. func Encode(s string) string { panic("não implementado") }
// Encontramos o número par máximo package main import "fmt" func main() { var max int for i := 1000; i > 0; i-- { go func() { if i%2 == 0 && i > max { max = i } }() } fmt.Printf("O máximo é %d", max) } func maxEvent(n, workers int) int { var wg sync.WaitGroup results := make(chan int, workers) jobs := make(chan int, workers) for w := 0; w < workers; w++ { wg.Add(1) go func() { defer wg.Done() localMax := -1 for num := range jobs { if num%2 == 0 && num > localMax { localMax = num } } result <- localMax }() } go func() { for i := 1; i <= n; i++ { jobs <- i } close(jobs) }() go func() { wg.Wait() close(results) }() globalMax := -1 for localMax := range results { if localMax > globalMax { globalMax = localMax } } return globalMax }
// números de 1 a 10 func main() { done := make(chan struct{}, 10) for i:=1; i<=10; i++{ go func(){ defer func() {done<-struct{}{}}() printNumber(n) }() } for i:=1; i<=10; i++{ <-done } } func printNumber(n int) { time.Sleep(time.Second) fmt.Println(n) }
Fale sobre a sua experiência de trabalho na [empresa]. Em que estado estava o projeto quando você chegou?
O que acha dos LLM auto-hospedados para isolar dados corporativos?
Descreva o processo de carregamento do servidor Linux desde o início até à execução do terminal
Fale sobre o seu projeto mais interessante em toda a sua experiência de trabalho. O que você realizou, quais foram as tarefas técnicas e comerciais?
Para que serve um grupo de consumidores no Kafka?
Que tipo de dado em Go é usado para representar caracteres Unicode?
O que é o deployment Blue-Green e o deployment Canary?
Por que um processo no Linux pode receber out-of-memory, mesmo que a memória mostre livre?
O que são errors.Is e errors.As, para que servem e que problema resolvem?
Dê um exemplo de um caso com SELECT FOR UPDATE em que isso possa levar a um deadlock.