Sobes.tech

Java

Loyihangizda barcha yechimlar va jarayonlar hujjatlashtirilgan va standartlashtirilganmi?

Junior — Middle
200

Loyihalarda MongoDB dan foydalanish bo'yicha tajribangiz qanday?

Junior — Middle
200

Kafka'da qaysi hollarda va qaysi shartlarda ma'lumotlar yo'qotilishi mumkin?

199

Alohida ro'yxatning o'rtasiga element qo'shish vaqt murakkabligi qanday, agar sizda to'ldirilgan massiv bo'lsa?

Junior — Middle
197

Gson nima ekanligini va u serializatsiya va deserializatsiya paytida maydonlar bilan qanday ishlashini tushuntirib bera olasizmi?

Junior — Middle
197

Qaysi server yoki platformada ilovani joylashtirish amalga oshirildi?

Junior — Middle
197

Kolleksiyani aylanib chiqayotganda o'zgartirsangiz, qanday muammolar yuzaga kelishi mumkin?

Junior — Middle
197

Java'da allaqachon yopilgan ma'lumot oqimlarini (Streams) qayta ishlatish mumkinmi?

Junior — Middle
197

Tizimlarda Kafka'dan foydalanishda qanday potentsial qiyinchiliklar va cheklovlar yuzaga kelishi mumkin?

Middle — Middle+
197

Har bir 1000 element qo'shilganda ArrayList o'lchamini oshirishdagi qiyinchilik darajasi qanday?

Junior — Middle
197

Kafka arxitekturasi qanday komponentlarni o'z ichiga oladi va ular qanday o'zaro ta'sir qiladi?

Junior — Middle
196

Ma'lumotlar bilan ishlash samaradorligini qanday o'lchash va bu nima ta'sir qiladi?

Junior — Middle
196

Qaysi hollarda boshqa to'plamlardan ko'ra LinkedList ma'lumotlar tuzilmasini afzal ko'rish mumkin?

Junior — Middle
195

Hozirgi loyihani o'zgartirish imkoniyatini ko'rib chiqishga nima motivatsiya qiladi?

Junior — Middle
195

Stream API'da ishlatiladigan ikki turdagi metodlarni ayta olasizmi?

Junior — Middle
195

Ikki hisob o'rtasida mablag'larni o'tkazishni amalga oshiring. Bu ishlab chiqarish yechimi hisoblanadi Kiritish parametrlari: @param fromAccountId mablag'larni o'tkazayotgan foydalanuvchining yagona identifikatori @param toAccountId mablag'lar o'tkaziladigan foydalanuvchining yagona identifikatori @param amount o'tkazma miqdori. Musbat son public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("Miqdor > 0 bo'lishi kerak"); } if (fromAccountId.equals(toAccountId)) { throw new RuntimeException("Hisob bir xil bo'lishi mumkin emas"); } Long firstId = Math.min(fromAccountId, toAccountId); Long secondId = Math.max(fromAccountId, toAccountId); Account first = accountRepository.findByIdForUpdate(firstId) .orElseThrow(() -> new RuntimeException("Hisob topilmadi")); Account second = accountRepository.findByIdForUpdate(secondId) .orElseThrow(() -> new RuntimeException("Hisob topilmadi")); Account from = fromAccountId.equals(firstId) ? first : second; Account to = fromAccountId.equals(firstId) ? second : first; if (from.getBalance().compareTo(amount) < 0) { throw new RuntimeException("Balans 0 dan kam bo'lishi mumkin emas"); } from.setBalance(from.getBalance().subtract(amount)); to.setBalance(to.getBalance().add(amount)); accountRepository.save(to); accountRepository.save(from); }

194
/11