Sobes.tech

Golang

Come uccidere un processo in Linux? Cosa fare se kill pid non funziona?

187

Scrivi una query SQL per visualizzare gli autori con più di 10 libri (tabelle: autori, libri, relazione molti-a-molti)

187

Cosa sono EXPLAIN e EXPLAIN ANALYZE in PostgreSQL, qual è la differenza?

184

Come funziona internamente uno slice in Go? Come funziona la funzione append?

184

Ci sono 3 entità: utente, chat, messaggio • L'utente ha un nome e una data di registrazione • La chat ha un nome e una data di creazione • Il messaggio ha testo, autore e data di creazione • Un utente può essere in più chat contemporaneamente • Il messaggio appartiene obbligatoriamente a una chat e non può appartenere a più di una chat contemporaneamente • È necessario descrivere il dominio sotto forma di tabelle

183

Cos'è una condizione di gara in Go? Fornisci un esempio.

182

Parlami di una sfida tecnica interessante o complessa che hai risolto

179

Abbiamo un database con password degli utenti, le password sono hashate (funzione hashPassword), e si conosce anche l'insieme di caratteri che possono essere usati nelle password (variabile alphabet). Il nostro compito è implementare la funzione RecoverPassword in modo che recuperi la password dall'hash noto e TestRecoverPassword abbia successo. Requisiti di base: Qualsiasi metodo è valido 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() {

173

pacchetto principale importa ( "crypto/md5" "fmt" ) var alfabeto = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func RecuperaPassword(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 := RecuperaPassword(h) if act != exp { fmt.Printf("Erro: aspettato %q, ottenuto %q\n", exp, act) ok = false } } if ok { fmt.Println("Tutti i test sono passati") } }

172

Quali metodi HTTP esistono? Quali di essi sono idempotenti?

171

Revisione del codice: cache in Go con mutex. Trova problemi e proponi miglioramenti. Condizione: carico di lettura/scrittura 80/20.

170

Descrivi la struttura di una richiesta e di una risposta HTTP. Come vengono classificati i codici di risposta?

166

package main import ( "crypto/md5" "fmt" ) var alfabeto = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func RipristinaPassword(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 := RipristinaPassword(h) if act != exp { fmt.Printf("Errore: previsto %q, ottenuto %q\n", exp, act) ok = false } } if ok { fmt.Println("Tutti i test sono passati con successo") } } Per l'esecuzione corretta del codice: punto di ingresso -- funzione main nel pacchetto main Compito: Implementare la funzione RipristinaPassword, che ricostruisce la password originale dall'hash MD5, composta da caratteri dell'alfabeto dato.

165

Come implementare uno shutdown ordinato di un servizio Go in Kubernetes durante il deployment di una nuova versione?

163

Perché consideri nuove offerte? Ricerca attiva o passiva?

161

Quali tabelle e campi sono necessari nel database PostgreSQL per questo messenger?

160

Cosa vuoi adesso — quali sono le tue aspettative per il nuovo lavoro?

159

Cosa non dovrebbe esserci in un team o nel lavoro? Quali sono i segnali di allarme?

157
/4