Java
Какво ще се случи, ако се опитате да получите същия bean няколко пъти в ApplicationContext?
Задължително ли е да се вземат предвид всички полета на същността при реализирането на метода equals в контекста на бизнес логиката?
Какви типове данни могат да се връщат в Spring MVC?
Кой осъществяваше контрол и управление на базите данни във вашия последен проект?
Използвали ли сте нивото на изолация Repeatable Read във вашите проекти?
Колко байта заема типът данни long в паметта?
Как се различават статичното и динамичното свързване на методи в Java и какви са техните особености?
Можете ли да обясните разликата между понятието полиморфизъм и абстракция в обектно-ориентираното програмиране?
Прочетете кода и подчертайте грешките /** * Клиент с закупен билет може срещу допълнително заплащане да избере конкретно място. * Основната цена на местата се определя от тарифите (външен сервиз). * За клиенти с определени тарифи (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; }
За какво се използват функционалните интерфейси ToDoubleFunction<T>, ToIntFunction<T> и ToLongFunction<T> в Java?
Каква е основната разлика между интерфейсите Comparable и Comparator в Java при сортирането на обекти?
Кои източници използваш за търсене на учебни материали и актуализации в областта на технологиите?
С какъв функционален интерфейс работим в метода map()?
С какво се формират заявките към базата данни?
Каква е разликата между единичните тестове и интеграционните тестове?
С кои стойности се инициализират по подразбиране променливите в Java?
Какъв е редът на извикване на конструкторите и блоковете за инициализация, като се вземе предвид йерархията на класовете?
Можете ли да обясните как се извършва атака тип SQL Injection и как тя използва уязвимости в базата данни?
Каква е разликата между SQL и NoSQL бази данни?
Каква е йерархията на Collections API в Java?