Come uccidere un processo in Linux? Cosa fare se kill pid non funziona?
Golang
Scrivi una query SQL per visualizzare gli autori con più di 10 libri (tabelle: autori, libri, relazione molti-a-molti)
Cosa sono EXPLAIN e EXPLAIN ANALYZE in PostgreSQL, qual è la differenza?
Come funziona internamente uno slice in Go? Come funziona la funzione append?
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
Cos'è una condizione di gara in Go? Fornisci un esempio.
Parlami di una sfida tecnica interessante o complessa che hai risolto
Con quali database hai lavorato più intensamente?
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() {
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") } }
Quali metodi HTTP esistono? Quali di essi sono idempotenti?
Revisione del codice: cache in Go con mutex. Trova problemi e proponi miglioramenti. Condizione: carico di lettura/scrittura 80/20.
Descrivi la struttura di una richiesta e di una risposta HTTP. Come vengono classificati i codici di risposta?
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.
Come implementare uno shutdown ordinato di un servizio Go in Kubernetes durante il deployment di una nuova versione?
Perché consideri nuove offerte? Ricerca attiva o passiva?
Quali tabelle e campi sono necessari nel database PostgreSQL per questo messenger?
Cosa vuoi adesso — quali sono le tue aspettative per il nuovo lavoro?
Cosa non dovrebbe esserci in un team o nel lavoro? Quali sono i segnali di allarme?
Gli sviluppatori hanno scritto dei test?