3 varlıq mövcuddur: istifadəçi, söhbət, mesaj • İstifadəçinin adı və qeydiyyat tarixi var • Söhbətin adı və yaradılma tarixi var • Mesajın mətn, müəllif və yaradılma tarixi var • İstifadəçi eyni zamanda bir neçə söhbətdə iştirak edə bilər • Mesaj mütləq söhbətə aiddir və eyni zamanda bir neçə söhbətə aid ola bilməz • Sahə sahəsini cədvəllər şəklində təsvir etmək lazımdır
Golang
Go'da slice daxildən necə işləyir? append funksiyası necə işləyir?
PostgreSQL-də EXPLAIN və EXPLAIN ANALYZE nədir, fərqi nədir?
Go-da yarış vəziyyəti (race condition) nədir? Nümunə göstərin.
Həll etdiyiniz maraqlı/mürəkkəb texniki vəzifə haqqında danışın
Go ilə inkişafda neçə illik ticarət təcrübəniz var?
İstifadəçilərin şifrələri ilə verilənlər bazamız var, şifrələr hash-lənmişdir (hashPassword funksiyası ilə), və həmçinin şifrlərdə istifadə edilə biləcək simvollar dəsti (alphabet dəyişəni) məlumdur. Bizim vəzifəmiz, bilinen hash əsasında şifrəni bərpa etmək üçün RecoverPassword funksiyasını həyata keçirmək və TestRecoverPassword-un uğurlu olmasını təmin etməkdir. Əsas tələblər: Hər hansı bir üsul istifadə edilə bilər 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() {
Hansı HTTP metodları mövcuddur? Onlardan hansıları idempotentdir?
Hansı məlumat bazaları ilə ən çox işlədiniz?
paket əsas import ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func PassworduGeriAl(h []byte) string { return "" } func hashPassword(girdi string) []byte { h := md5.Sum([]byte(girdi)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := hashPassword(exp) act := PassworduGeriAl(h) if act != exp { fmt.Printf("Xato: kutilyapti %q, olinmoqda %q\n", exp, act) ok = false } } if ok { fmt.Println("Barcha testlar muvaffaqiyatli o'tdi") } }
İki müştəri arasında mesaj göndərmə və qəbul etmə prosesi necə olacaq? Tam axını təsvir edin.
Kod nəzərdən keçirilməsi: Go-da mutex ilə keşik. Problemləri tapın və təkliflər verin. Şərt: oxuma/yazma yükü 80/20.
package main import ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func ParoluGeriAl(h []byte) string { return "" } func hashParolu(in string) []byte { h := md5.Sum([]byte(in)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := hashParolu(exp) act := ParoluGeriAl(h) if act != exp { fmt.Printf("Xəta: gözlənilir %q, alınır %q\n", exp, act) ok = false } } if ok { fmt.Println("Bütün testlər uğurla keçdi") } } Kodun düzgün işləməsi üçün giriş nöqtəsi -- main paketindəki main funksiyası Tapşırıq: MD5 hash-dən orijinal şifrəni, verilmiş əlifba xarakterlərindən ibarət, bərpa edən funksiyanı həyata keçirin.
HTTP sorğusu və cavabının quruluşunu təsvir edin. Cavab kodları necə təsnif edilir?
Kubernetes-də yeni versiya yerləşdirərkən Go xidməti üçün graceful shutdown necə həyata keçirilir?
Niyə yeni təklifləri nəzərdən keçirirsiniz? Aktiv və ya passiv axtarış?
Bu mesajlaşma üçün PostgreSQL verilənlər bazasında hansı cədvəllər və sahələr lazımdır?
İndi nə istəyirsiniz — yeni işdən nə gözləntiləriniz var?
Monolitdən mikroxidmətlərə keçiddə ən çətin və ən maraqlı nə idi?
Komanda və ya işdə olmaması lazım olan nədir? Hansı qırmızı bayraqlar?