Կարող են ցիկլային կախվածությունները հանգեցնել հիշողության արտահոսքի ծրագրում?
Java
Ի՞նչ տեսակների ինդեքսներ կան SQL տվյալների բազայի կառավարման համակարգերում։
Ի՞նչ են տվյալների բազայում առանձին սյունակների համար ինդեքսների օգտագործման առավելությունները և թերությունները։
Ինչ կարող է հանգեցնել ֆունկցիայի կատարողականության վատթարացմանը?
Կարդացեք կոդը և նշեք սխալները /** * Հաճախորդը, ով գնել է տոմսը, կարող է լրացուցիչ վճարով ընտրել կոնկրետ տեղը: * Միջին գինը տեղերի որոշակի տիպերի համար սահմանվում է տիրույթների (արտաքին ծառայության) կողմից: * Մասնավորապես, որոշ տիրույթների (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 տեղը կոդը (օրինակ 19A) * @param ticketId տոմսի ID */ @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 ֆրեյմվորկը ծրագրերի զարգացման ժամանակ։
Կարող եք բացատրել Java- ի Stream API կոնցեպցիան և ինչպես այն օգտագործվում է տվյալների մշակման համար:
Ինչ քայլեր կձեռնարկես՝ որոշելու համար OutOfMemoryError սխալի հետ կապված ծառայության կանոնավոր վերագործարկումների պատճառները:
Դուք ունե՞ք տվյալների կամ ռեսուրսների մատակարարների հետ փոխազդեցության փորձ։
Եթե համակարգի բեռը մեծանալով՝ տվյալների բազայի հարցումների կատարման ուշացումները զգալի դառնան, ինչ գործողություններ կձեռնարկեք?
Կարող եք բացատրել, ինչ է ենթադրվում տակ ատոմային տվյալների տիպի մասին?
Ինչու է առաջանում ConcurrentModificationException արտահայտությունը, երբ միաժամանակ փոփոխվում է ArrayList-ը ժամանակի ընթացքում։
Մեխանիզմը աշխատելու օպերատոր SELECT FOR UPDATE տվյալների բազաներում և նրա դերը մրցակցային մուտքի կառավարման մեջ
Անհրաժեշտ է արդյոք ավտոմատ կերպով հեռացնել կապված գրառումը երեխայի աղյուսակից, եթե ծնողական աղյուսակում հեռացվի կապված բանալի՞ն։
Ինչպե՞ս կպարզեք OutOfMemoryError սխալի պատճառները ծրագրում։
Ինչ մեթոդներ կարելի է օգտագործել աղյուսակում որոնման արագությունը բարձրացնելու համար:
Ինչպես կարող ես բարձրացնել այս մեթոդի կատարման արագությունը?
Կարող եք նշել Java-ի Stream API-ն առաջարկող հիմնական մեթոդները:
Ի՞նչ է տարբերությունը օպտիմիստական մոտեցման և պեսիմիստական մոտեցման միջև բազաների կառավարման համատեքստում։
Կարող եք բացատրել, թե ինչպես է կառուցված արտահայտությունների ժառանգականության կառուցվածքը ծրագրավորման լեզվում?