Scrieți o interogare SQL pentru a afișa autorii care au mai mult de 10 cărți (tabele: autori, cărți, relație mulți-la-mulți)
Golang
Cum să omorâm un proces în Linux? Ce să facem dacă kill pid nu funcționează?
Cum funcționează intern un slice în Go? Cum funcționează funcția append?
Există 3 entități: utilizator, chat, mesaj • Utilizatorul are un nume și o dată de înregistrare • Chat-ul are un nume și o dată de creare • Mesajul are text, autor și dată de creare • Un utilizator poate fi în mai multe chat-uri în același timp • Mesajul aparține obligatoriu unui chat și nu poate aparține mai multor chat-uri în același timp • Domeniul trebuie descris sub formă de tabele
Ce sunt EXPLAIN și EXPLAIN ANALYZE în PostgreSQL, care este diferența?
Ce este o condiție de cursă în Go? Oferiți un exemplu.
Povestește despre o problemă tehnică interesantă/dificilă pe care ai rezolvat-o
Cu ce baze de date ai lucrat cel mai strâns?
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 folosite în parole (variabila alphabet). Sarcina noastră este să implementăm funcția RecoverPassword pentru a recupera parola din hash-ul cunoscut și ca TestRecoverPassword să fie reușit. 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() {
pachet principal import ( "crypto/md5" "fmt" ) var alfabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func RecuperareParola(h []byte) string { return "" } func hashParola(input string) []byte { h := md5.Sum([]byte(input)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := hashParola(exp) act := RecuperareParola(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") } }
Ce metode HTTP există? Care dintre ele sunt idempotente?
Revizuire de cod: cache în Go cu mutex. Găsește probleme și propune îmbunătățiri. Condiție: încărcare citire/scriere 80/20.
package main import ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func RestituieParola(h []byte) string { return "" } func hashParola(in string) []byte { h := md5.Sum([]byte(in)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := hashParola(exp) act := RestituieParola(h) if act != exp { fmt.Printf("Eroare: s-a asteptat %q, s-a primit %q\n", exp, act) ok = false } } if ok { fmt.Println("Toate testele au trecut cu succes") } } Pentru executarea corectă a codului: punctul de intrare -- funcția main în pachetul main Sarcina: Implementați funcția RestituieParola, care reconstruiește parola originală pe baza hash-ului MD5, formată din caractere din alfabetul dat.
Descrieți structura unei cereri și răspuns HTTP. Cum sunt clasificate codurile de răspuns?
Cum se implementează o oprire grațioasă a unui serviciu Go în Kubernetes la implementarea unei noi versiuni?
De ce iei în considerare oferte noi? Căutare activă sau pasivă?
Ce tabele și câmpuri sunt necesare în baza de date PostgreSQL pentru acest mesager?
Ce îți dorești acum — care sunt așteptările tale pentru noul loc de muncă?
Ce nu trebuie să fie în echipă sau la muncă? Care sunt semnele de alarmă?
Care a fost cel mai dificil și cel mai interesant lucru la trecerea de la monolit la microservicii?