Go'da interfeys ichki tuzilishi (xotira) qanday?
Golang
Ma'lumotlarning barqarorligini qanday ta'minlash mumkin — xabar bazaga saqlanadi va oluvchiga yetkaziladi?
Bizga savollaringiz bormi?
HTTP protokoli nima? HTTP so'rovi qaysi qismlardan iborat? Sarlavhalar, cookie nima?
Birlashtirilgan ma'lumotlar bazasining ajralishi bilan og'riqlar bo'ldimi?
TCP va UDP o'rtasida nima farq bor? Nima uchun HTTPS uchun TCP ishlatiladi?
Brauzerga https://wildberries.ru ni kirganda tarmoqda nima bo'ladi? DNS-yechish jarayonini tavsiflang.
Siz yuqori muhandislik madaniyatini ko'rishingiz uchun nima qilishimiz kerak?
Kirish bilan tanishtiring — so'nggi paytlarda nima bilan shug'ullanyapsiz, qiziqarli yoki qiziqmas ishlar qilganmisiz?
Go'da GOMAXPROCS o'zgaruvchisi nima? Dastur GOMAXPROCS da ko'rsatilganidan ko'proq oqimlardan foydalanishi mumkinmi?
Shart Bizda foydalanuvchilarning parollari bilan ma'lumotlar bazasi bor, parollar hashlangan (hashPassword funktsiyasi), va shuningdek, parollarda ishlatilishi mumkin bo'lgan belgilarning to'plami ma'lum (o'zgaruvchi alphabet). Bizning vazifamiz, ma'lum hash asosida parolni tikadigan RecoverPassword funktsiyasini amalga oshirish va TestRecoverPassword muvaffaqiyatli yakunlanishini ta'minlash. Asosiy talablar: Har qanday usul mumkin 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("Xato: kutilyapti %q, olinmoqda %q\n", exp, act) ok = false } } if ok { fmt.Println("Barcha testlar muvaffaqiyatli o'tdi") } }
Joylashtiring joylashuv va jins (jins) maydonlari bo'yicha filtrlangan so'rov uchun maksimal ishlash uchun optimal indekslar
Qiyinchilik: Oson Tartiblangan raqamlar massiv berilgan, unda takroriy elementlar mavjud. Ularni joyida (asl massivda) olib tashlash va hosil bo'lgan massivning o'lchamini qaytarish kerak. Misol: Kiritish: nums = [0,0,1,1,1,2,2,3,3,4] Chiqish: 5, nums = [0,1,2,3,4,_,_,_,_,_] Tushuntirish: Bu massivda 5 ta noyob element mavjud. Ularni massivning birinchi besh pozitsiyasiga joylashtiring va 5 raqamini qaytaring. Keyingi elementlar istalgan bo'lishi mumkin.
Xabar brokeri (Kafka) nima uchun kerak? U qanday arxitekturaga mos keladi?
Go'da kontekstlarning merosxo'rligi qanday ishlaydi (context.WithValue, context.Background)?
Chatda xabarlar tartibini qanday ta'minlash mumkin?
JWT token nima? Uning tuzilishi va oddiy tokenlarga nisbatan afzalliklari qanday?
Brokerlar sifatida Kafka va RabbitMQ ni qanday ishlatdingiz? Nega ikkita?
Go'da goroutinlarni sinxronlashtirish uchun qanday vositalar mavjud? Atomic yordamida poyga misolini tuzatish
Operatsion tizimlarda qanday sinxronizatsiya primitiplarini bilasiz?