Bir million qatorli jadvalda indeks yaratishda qanday natijalar yuzaga kelishi mumkin?
Java
Ma'lumotlarga kirishda raqobatni boshqarishda optimistik blokirovka usulining ishlash prinsipi haqida tushuntiring.
Funktsiyaning ishlash samaradorligini kamayishiga nima olib kelishi mumkin?
Ma'lumot yoki resurs ta'minotchilari bilan muloqot qilish tajribangiz bormi?
Java'da Stream API konseptini tushuntirib berishingiz mumkinmi va u qanday ma'lumotlarni qayta ishlash uchun ishlatiladi?
Ma'lumotlar bazasida alohida ustunlar uchun indekslardan foydalanishning afzalliklari va kamchiliklari qanday?
Dasturda siklik bog'liqliklar xotira oqiblariga olib keladimi?
PostgreSQL'da bajarilgan SQL so'rovini qanday bilish mumkin?
Nima uchun ArrayList ni iteratsiya qilish vaqtida bir vaqtning o'zida o'zgartirish amalga oshirilganda ConcurrentModificationException xatosi yuzaga keladi?
Kodni o'qing va xatolarni ta'kidlang /** * Xarid qilingan chiptasi bo'lgan mijoz qo'shimcha to'lov evaziga muayyan o'rindiqni tanlashi mumkin. * O'rindiqlarning asosiy narxi tariflar (tashqi xizmat) tomonidan belgilanadi. * Maxsus tariflarga (PREMIUM, ULTRA) ega mijozlar uchun to'lovda chegirma qilish kerak. * Bron qilishda mijoz uchun to'lov uchun hisob-faktura chiqariladi. To'lovni boshqarish tashqi xizmatda amalga oshiriladi. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Bron qilish. * @param seatCode o'rindiq kodi (masalan, 19A) * @param ticketId chipta IDsi */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //bron qilamiz var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //samolyotda tanlangan o'rindiq uchun asosiy tarifni topamiz var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //mijoz ma'lumotlarini topamiz Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Topilgan foydalanuvchi " + userData.getFio() + " hujjat raqami " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //50% chegirma price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //20% chegirma price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //hisob-faktura chiqaramiz paymentClient.sendInvoice(invoice); System.out.println("Hisob-faktura yuborildi"); } @Data @Table("seat_booking") public class SeatBooking { @Column private String seatCode; @Column private UUID flightId; @Column private UUID ticketId; @Column private BookingStatus status; } public enum BookingStatus { BOOKED, PAID; }
Ushbu usulning bajarilish tezligini qanday oshirish mumkin?
Tizim yuklamasi oshib borayotganda, ma'lumotlar bazasiga so'rovlarni bajarishda kechikishlar sezilarli bo'lsa, qanday harakatlar qilardingiz?
Atomik ma'lumot turi nima ekanligini tushuntirib bera olasizmi?
Java'da Stream API tomonidan taqdim etilgan asosiy metodlarni ro'yxatlab berolasizmi?
Jadvalda qidiruv tezligini oshirish uchun qanday usullar mavjud?
Pesimist bloklash prinsipi qanday ishlashini va uning boshqa bloklash strategiyasidan qanday farq qilishini tushuntirib bera olasizmi?
Dasturlash tilida istisnolar merosxo'rlik tuzilmasi qanday tashkil etilganligini tushuntirib bera olasizmi?
Spring Framework doirasida Bean ni sozlash va ro'yxatdan o'tkazish qanday amalga oshiriladi?
Turlarni yo'q qilish tushunchasini va uning dasturlashdagi asosiy maqsadini tushuntiring.
Transaktsiyalar ichida bajarilishi mumkin bo'lmagan operatsiyalar bormi?