Sobes.tech

Golang

Xavfsizlikka chidamli tizimni loyihalash (to'lov o'tkazish, logistika). Migratsiya asta-sekin amalga oshirilishi kerak, xizmat to'xtatilmasdan. KAMAYTIRISH - Umumiy foydalanuvchilar soni: 8 million - Kunlik faol foydalanuvchilar (DAU): 3 million - Oylik faol foydalanuvchilar (MAU): 12 million - Eng yuqori yuklama: 25k o'qish / 5k yozish soniyalarda - Yangi ma'lumotlar hajmi: yilda 10 TB - Maksimal parallelizm: 120k so'rovlar bir vaqtning o'zida - Yillik foydalanuvchi o'sishi: 30% - Maqsadli p99 kechikish: <150 ms o'qish uchun, <400 ms yozish uchun - Maqsadli mavjudlik: 99.95% Sizning vazifangiz — arxitektura yechimini ishlab chiqish, bu...

Senior
169

OrderService arxitekturasida keshni qanday ishlatishni rejalashtiryapsiz? Redisda nima saqlanadi?

Senior
166

Qaysi sharding strategiyalarini bilasiz, shunda yechim og'riqli bo'lmaydi?

Middle+
165

CREATE TABLE staff ( id TEXT name TEXT head_id TEXT ); id | name | head_id -------------------- 1 | Ivan | NULL 2 | Petr | 1 3 | Alice | 1 4 | Max | 2 5 | Alex | 2 6 | Elena | 4 7 | Bob | NULL Kutilgan natija: employee_name | manager_name --------------------------- Ivan | NULL Petr | Ivan Alice | Ivan Max | Petr Alex | Petr Elena | Max Bob | NULL SELECT e.name AS employee_name, m.name AS manager_name FROM staff e LEFT JOIN staff m ON e.head_id = m.id

Senior
164

[ism] so'radi: Hali ham o'qiyapsizmi? Bu, to'liq ish bilan muammo bo'ladimi?

Senior
161

func main() { c := make(chan int, 1000) for i := 0; i < 100; i++ { go foo(c) } sum := 0 for r := range c { sum += r } fmt.Println(sum) } func foo(c chan int) { r := rand.Int() for i := 0; i < r; i++ { c <- r } } --- func main() { c := make(chan int, 1000) var wg sync.WaitGroup wg.Add(100) for i := 0; i < 100; i++ { go func() { defer wg.Done() foo(c) }() } go func() { wg.Wait() close(c) }() sum := 0 for r := range c { sum += r } // // fmt.Println(sum) } func foo(c chan int) { r := rand.Int() for i := 0; i < r; i++ { c <- r } }

Senior
159

Hozir yangi ish joyingizda o'zingiz uchun nima qidiryapsiz?

Middle+
158

Iste'molchi Guruh haqida gapir. Agar 3 bo'lak va 2 iste'molchi bo'lsa, qanday taqsimlanadi?

Middle+
157

[ism] so'radi: Sizning tajribangizdan biror bir voqeani ayta olasizmi, bilan faxrlanasizmi?

Senior
156

Qay tarzda relokatsiya qilishga munosabatingiz qanday va qayerga ko‘chishni o‘ylayapsiz?

Middle+
153

Kiritilganlar ro'yxati o'sish tartibida tartiblangan raqamlar massivlari: - gumonlilar - aybdor emaslar Gumonlilar ro'yxatidan barcha aybdor emaslarni chiqarish kerak. Misollar: Input: suspects = [1, 2, 3, 4, 5], innocents = [2, 4] Output: [1, 3, 5] Input: suspects = [3, 80, 123, 421, 936], innocents = [80, 936] Output: [3, 123, 421]

Middle+
152

[ism] so'radi: Jamoa va jarayonlar haqida aytib bering — bu ko'p funksiyali jamoa, sprintlar qanday ishlaydi?

Senior
152

/* Kiritishda, uzunligi n bo'lgan nums nomli massiv mavjud. Har bir massivdagi raqam yoki noyob, yoki ikki marta uchraydi. Raqamlar [1, n] diapazonida. Faqat ikki marta uchraydigan raqamlaridan iborat massivni chiqaradigan funktsiya yozish kerak. Misollar: Kiritish: nums = [4, 3, 2, 7, 8, 2, 3, 1] Chiqish: [2, 3] Kiritish: nums = [2, 2, 1] Chiqish: [2] */

Senior
150

Siz to'g'ri tushunyapsizmi, cache-aside bilan biz ma'lumotlar bazasida ma'lumotlarni yangilashda ham cachega borib, ma'lumotlarni invalid qilishimiz kerakmi?

Senior
148

PostgreSQL'da indekslash: bir nechta parametr bilan so'rov uchun indeksni qanday yaratish mumkin? Nima uchun indeks faol yangilanishlar bilan olti oy ichida yomonlashdi?

Senior
147

Kafka'da topikni qayta yaratmasdan bo'laklar sonini oshirish mumkinmi?

Middle+
147

PostgreSQL'da statistikalarni yangilashga yordam beradigan buyruq nima?

Middle+
143

[ism] so'radi: Hozirgi ish joyingiz haqida aytib bering — bu qanday kompaniya va qaysi mahsulot ustida ishlayapsiz?

Senior
143

[ism] so'radi: Nega avvalgi kompaniyangizdan hozirgi kompaniyaga o'tdingiz?

Senior
142

Ma'lumotlar bazasida qanday indekslarni bilasiz?

Middle+
142
/4