Java
Vazifa "latensiyani kamaytirish" tarzida shakllantirilgan va siz o'zingiz yechim qidirdingizmi?
Hech qachon xususiyatlar yetakchisi rolini bajargansizmi?
Kafka + Redis tartiblangan to'plam + tashqi rejalashtiruvchi bilan kechiktirilgan bildirishnomalar uchun qanday ishlaydi?
Java'da qanday axlat to'plovchilar (Garbage Collectors) bilasiz? Turli turlarini ishlatish bo'yicha tavsiyalar bormi?
AI/ML mahsulotlari bilan ishlash tajribangiz bormi?
Stackda nima afzalroq?
Rivojlanish jarayoni (Agile/Scrum) haqida gapirib bering. Vazifalar qanday baholanadi?
7. Siz administrator panelida yangi mahsulot qo'shish formasini sinayapsiz. Yangi mahsulot yaratasiz, Saqlash tugmasini bosasiz va oq bo'sh ekranni ko'rasiz. Keyingi harakatlaringizni tavsiflang.
Stream API-da qanday ikki asosiy operatsiya turi mavjud?
Spring Data va Hibernate bilan ishlaganmisiz? Qaysi ishlash muammolarini hal qildingiz?
Microxizmat arxitekturasi foydalanilmasligi kerak bo'lgan misol keltiring va bir nechta sabablarni aytib o'ting.
Istio qaysi vazifalar uchun mos keladi?
Eski qiymatlarni chiqaradigan LRU-Cache ni amalga oshiring (asosiy amalga oshirish)
Hisobot tizimida qaysi Kafka mavzular bo'ladi, kim ishlab chiqaradi va kim iste'mol qiladi?
SQL so'rovini yozing: uchta yoki undan ortiq muallifi bo'lgan barcha kitoblarning nomlarini tanlang.
Long o'zgaruvchisi uchun volatile ishlatish mumkinmi va qaysi holatlarda bu xavfsiz?
/** * Bankomat bilan aloqa qilish uchun interfeys. */ interface Hardware { /** * 50, 100, 500, 1000, 5000 nominaldagi banknotlarning sonini o'z ichiga olgan massivni qaytaradi. * Usul sekin ishlaydi va shovqin chiqaradi. * * @return har bir element ma'lum bir nominaldagi banknotlarning sonini ifodalaydi. * Masalan, [10, 20, 30, 40, 50] quyidagicha anglatadi: * - 50 rubllik 10 banknot * - 100 rubllik 20 banknot * - 500 rubllik 30 banknot * - 1000 rubllik 40 banknot * - 5000 rubllik 50 banknot */ int[] getBillsCounts(); /** * Ko'rsatilgan banknotlarni chiqarish qutisiga yuklaydi. * * @param billsCounts [50, 100, 500, 1000, 5000] nominaldagi banknotlarning sonini o'z ichiga olgan massiv. * Masalan, [0, 1, 0, 2, 0] quyidagicha anglatadi: * - 0 banknot 50 rubl * - 1 banknot 100 rubl * - 0 banknot 500 rubl * - 2 banknot 1000 rubl * - 0 banknot 5000 rubl */ void giveBills(int[] billsCounts); } /** * Bankomatning ish faoliyatini amalga oshirish uchun sinf. * Bu yerda kod yozilishi kerak */ class MyATM { /** * Bankomatning hardware qismi. */ Hardware hardware; public boolean withdraw(int amount) { int[] counts = hardware.getBillsCounts(); int[] nom = {50, 100, 500, 1000, 5000}; int[] toGive = new int[5]; for (int i = 4; i >= 0; i--) { int needed = amount / nom[i]; int use = Math.min(needed, counts[i]); toGive[i] = use; amount -= use * nom[i]; } if (amount != 0) { return false; } hardware.giveBills(toGive); return true; } }
Qachon Dependency Inversion prinsipini qo'llash kerak va qachon qilmaslik kerak (YAGNI bilan bog'liq)
Springda qanday scope'lar mavjud? Singleton scope nima?
CAP teoremasi haqida gapir. Nima va nima uchun kerak?