Golang
O que é considerado o nível de isolamento mais rigoroso nas transações de bancos de dados?
Como defines uma equipa bem-sucedida e eficaz numa equipa de trabalho?
Quais passos tomar ao ocorrerem falhas ou erros ao implementar um serviço?
Quais métodos alternativos de comunicação entre goroutines existem além do uso de canais?
Consegues dar um exemplo de feedback construtivo que o teu supervisor te deu?
Já teve que usar o comando SELECT FOR UPDATE nos seus projetos para bloquear linhas durante transações?
Explique o conceito de stackless-goroutine e como ele difere das goroutines normais baseadas em pilha
Qual é a diferença entre a unidade de memória byte e o tipo de dados rune na linguagem de programação?
Participaste no desenvolvimento do esquema de transmissão de dados entre sistemas?
Como realizar análise e otimização de consultas no Elasticsearch?
pacote principal importar ( "fmt" "sync" ) func main() { for i := 0; i < 5; i++ { go fmt.Println(i) } }
Que comportamento é esperado ao chamar um operador select vazio na linguagem Go?
Como pode um programa terminar a sua execução quando recebe um pedido para parar no contexto atual?
Quais funções e capacidades adicionais foram incorporadas nos métodos de contexto com o surgimento do Go 1.21?
Explique o conceito de Saga e o seu papel na implementação de uma arquitetura de microsserviços
Como é que a recolha automática de memória e a libertação são implementadas na linguagem Go?
Qual é o significado do conjunto de permissões 764 no contexto do acesso a um arquivo num sistema operativo?
Que ferramentas de teste modular em Go prefere usar?
Qual é o objetivo do uso de SSA no processo de desenvolvimento e otimização de código?
Temos uma base de dados com passwords de utilizadores, as passwords estão hashed (função hashPassword), e também é conhecido o conjunto de caracteres que podem ser utilizados nas passwords (variável alphabet). A nossa tarefa é implementar a função RecoverPassword para recuperar a password a partir do hash conhecido e que TestRecoverPassword seja bem-sucedido. Requisitos básicos: Qualquer método é válido package main import ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func RecoverPassword(h []byte) string { return "" } func hashPassword(in string) []byte { h := md5.Sum([]byte(in)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := hashPassword(exp) act := RecoverPassword(h) if act != exp { fmt.Printf("Erro: esperado %q, obtido %q\n", exp, act) ok = false } } if ok { fmt.Println("Testes concluídos com sucesso") } }