Java
Ինչպե՞ս իրականացնում եք աշխատանքը դինամիկ հարցումների հետ Spring Data JPA-ում։
Օնլայն տվյալների թարմացման գործողություններում (UPDATE) արդյոք օգտագործել եք SELECT կառուցվածքը։
Տվյալների կառուցվածքը HashMap ունի՞ կանխատեսելի տարրերի կարգ։
Արդյոք հնարավոր է միավորել մեծ և բարդ առաջադրանքը մի քանի փոքր առաջադրանքների հետ նույն թիմի շրջանակում?
Կարող եք բացատրել օբյեկտային ծրագրավորման մեջ պոլիմորֆիզմի և աբստրակցիայի հասկացությունների տարբերությունը?
Տվյալների կառուցվածքը արդյոք մշակում է ցանկ, որը կարող է անցնել երկու ուղղություններով կամ միայն մեկում?
Կարդացեք կոդը և նշեք սխալները /** * Հաճախորդը, ով գնել է տոմսը, կարող է լրացուցիչ վճարով ընտրել կոնկրետ տեղը: * Միջին գինը տեղերի որոշակի տիպերի համար սահմանվում է տիրույթների (արտաքին ծառայության) կողմից: * Մասնավորապես, որոշ տիրույթների (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; }
Ի՞նչ տեսակի կախվածության մուտքագրման եք գիտակցում:
Եթե ես կանչեմ toList() մեթոդը Stream-ի վրա, արդյոք արդյունքը կլինի ArrayList, թե այլ տեսակի հավաքածու?
Կարող եք բացատրել, թե ինչ է նշանակում SLF4J կրճատումը և ինչպես է այն օգտագործվում Java նախագծերում?
Ինչու է կարևոր կիրառել ACID հատկությունները տվյալների բազայի գործառնությունների ժամանակ:
Կարող է արդյոք Runnable ինտերֆեյսը դիտարկել որպես Java-ում առաջադրանքների կատարման ինտերֆեյս?
Ի՞նչ տարբերություն կա Java-ում equals և hashCode մեթոդների միջև։
Կարող եք բացատրել lock-free ալգորիթմների կոնցեպցիան և դրանց տարբերությունները այլ սինխրոնիզացիայի մեթոդներից?
Ի՞նչ են Java-ում LinkedList և ArrayList-ի հիմնական տարբերությունները։
Ի՞նչ փորձ ունեք ֆունկցիաների վրա հիմնված ինտերֆեյսների զարգացման մեջ կամ որպես հիմնական բաղադրիչ օգտագործվող ֆունկցիաներ:
Ի՞նչ մոտեցում է իրականացվել Spring Security-ում ձեր նախագծում աութենտիկացիայի և թույլտվության համար։
Արդյոք հնարավոր է ստեղծել սեփական վարքագիծ կոնստրուկտորի համար ժառանգվող դասում՝ այն վերագրելով?
Ի՞նչ է AutoCloseable ինտերֆեյսը և ինչպես է աշխատում try-with-resources կառուցվածքը Java-ում։
Ինչպե՞ս կարելի է նշել կոնկրետ տարբերակ տրանսիտիվ կախվածության՝ Gradle կոնֆիգուրացիոն ֆայլում։