Cum este structurată intern (în memorie) interfața în Go?
Golang
Cum se garantează consistența datelor — că mesajul va fi stocat în baza de date și va fi livrat destinatarului?
Ai întrebări pentru noi?
Ce este protocolul HTTP? Din ce părți este formată o cerere HTTP? Ce sunt anteturile, cookie-urile?
Care este diferența dintre TCP și UDP? De ce se folosește TCP pentru HTTPS?
Au fost dureri cu separarea unei baze de date unificate?
Ce se întâmplă în rețea atunci când introduceți https://wildberries.ru în browser? Descrieți procesul de rezolvare DNS.
Ce trebuie să facem pentru ca tu să vezi o cultură înaltă a ingineriei?
Spune-mi o introducere — cu ce te-ai ocupat în ultima vreme, ce lucru interesant sau neinteresant ai făcut?
Ce este variabila GOMAXPROCS în Go? Poate un program să folosească mai multe fire decât cele indicate în GOMAXPROCS?
Condiție Avem o bază de date cu parolele utilizatorilor, parolele sunt hash-uite (funcția hashPassword), și se cunoaște și setul de caractere care pot fi utilizate în parole (variabila alphabet). Sarcina noastră este să implementăm funcția RecoverPassword astfel încât să recupereze parola pe baza hash-ului cunoscut și TestRecoverPassword să se finalizeze cu succes. Cerinte de bază: Orice metodă este permisă 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("Eroare: se astepta %q, s-a primit %q\n", exp, act) ok = false } } if ok { fmt.Println("Toate testele au trecut cu succes") } }
Propuneți indexuri optime pentru o interogare cu filtrare pe câmpurile location și gender (sex) pentru performanță maximă
Dificultate: Ușor Se oferă un array sortat de numere, în care există duplicate. Este necesar să eliminați duplicatele in-place (direct în array-ul original) și să returnați dimensiunea array-ului rezultat. Exemplu: Input: nums = [0,0,1,1,1,2,2,3,3,4] Output: 5, nums = [0,1,2,3,4,_,_,_,_,_] Explicație: În acest array există 5 elemente unice. Plasați-le în primele cinci poziții ale array-ului original și returnați numărul 5. Elementele ulterioare în array-ul original pot fi orice.
La folosește un broker de mesaje (Kafka)? Cum se integrează în arhitectură?
Cum funcționează moștenirea contextelor în Go (context.WithValue, context.Background)?
Cum se garantează ordinea mesajelor în chat?
Ce este un token JWT? Care este structura sa și avantajele față de tokenurile obișnuite?
Cum ai folosit Kafka și RabbitMQ ca brokeri? De ce două?
Ce mijloace de sincronizare a goroutine-urilor există în Go? Corectează exemplul cu cursa folosind atomic
Ce primitive de sincronizare cunoști în sistemele de operare?