Миллион жолы бар кестеде индекс құру кезінде қандай салдарлар болуы мүмкін?
Java
Деректерге бір уақытта қол жеткізуді басқаруда оптимистік блоктау әдісінің қағидатын түсіндіріңіз.
Функция орындау өнімділігінің нашарлауына не себеп болуы мүмкін?
Деректер немесе ресурстар жеткізушілерімен өзара әрекеттесу тәжірибеңіз болды ма?
Java-да Stream API ұғымын түсіндіріп беріңіз және ол деректерді өңдеуде қалай пайдаланылады?
Деректерқорында жеке бағандар үшін индекстерді пайдалану артықшылықтары мен кемшіліктері қандай?
Циклдік тәуелділіктер бағдарламада жады ағып кетуіне әкелуі мүмкін бе?
PostgreSQL-де орындалған SQL сұрауын қалай табуға болады?
Неліктен итерация кезінде ArrayList-ті бір уақытта өзгерткен кезде ConcurrentModificationException қателігі пайда болады?
Кодты оқып шығыңыз және қателерді белгілеңіз /** * Төлеммен сатып алынған орын клиенті қосымша ақыға нақты орынды таңдай алады. * Орындардың негізгі бағасы тарифтер бойынша анықталады (сыртқы қызмет арқылы). * Белгілі тарифтері бар клиенттер үшін (PREMIUM, ULTRA) төлем кезінде жеңілдік жасау қажет. * Брондау кезінде клиентке төлем үшін шот беріледі. Төлемді басқару сыртқы қызметте жүзеге асырылады. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Брондау. * @param seatCode орын коды (мысалы 19А) * @param ticketId билет идентификаторы */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); // брондау var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); // таңдалған орын үшін негізгі тарифті іздеу var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); // клиент туралы мәліметтерді іздеу Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Табылған пайдаланушы " + userData.getFio() + " құжат нөмірі " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { // 50% жеңілдік price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { // 20% жеңілдік price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); // төлем шотын жіберу paymentClient.sendInvoice(invoice); System.out.println("Шот жіберілді"); } @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; }
Бұл әдістің орындалу жылдамдығын қалай арттыра аласыз?
Жүйе жүктемесі артқанда дерекқор сұрауын орындау уақытындағы кідірістер маңызды болса, қандай әрекет жасайсыз?
Атомарлық деректер типі дегеніміз не екенін түсіндіре аласыз ба?
Кестеде іздеуді жылдамдату үшін қандай әдістер қолдануға болады?
Пессимистік блоктау принципін түсіндіріп бере аласыз ба және ол басқа блоктау стратегияларынан қалай ерекшеленеді?
Бағдарламалау тілінде қателіктер мұрагерлік құрылымы қалай ұйымдастырылғанын түсіндіре аласыз ба?
Spring Framework-те Bean-ді конфигурациялау және тіркеу қалай жүзеге асырылады?
Тип жою ұғымын және оның бағдарламалаудағы негізгі мақсатын түсіндіріңіз.
Транзакциялар ішінде орындалуы шектелген операциялар бар ма?