Java
Kodėl skirtingų objektų hashCode() gali grąžinti tas pačias reikšmes?
Kaip užtikrinti unikalius raktus naudojant HashMap duomenų struktūrą?
Kokiose situacijose programoje gali būti išmesta ClassCastException išimtis?
Kaip galima palyginti duomenų tipus Java?
Kas nutiks, jei bandysite gauti tą patį bean kelis kartus ApplicationContext'e?
Ar verslo logikos kontekste būtina atsižvelgti į visus entiteto laukus implementuojant equals metodą?
Kas atliko jūsų paskutinio projekto duomenų bazių kontrolę ir valdymą?
Kuo skiriasi išimtis (Exception) ir klaida (Error) Java?
Ar savo projektuose naudojote pakartotinai skaitomą izoliacijos lygį?
Kokiose situacijose programavimo kalboje turėtumėte naudoti synchronized raktinę žodį, kad užtikrintumėte sriegių saugumą?
Ar ciklinės priklausomybės gali sukelti atminties nutekėjimą programoje?
Kiek baitų užima duomenų tipas long atmintyje?
Papaskokite apie Maven gyvenimo ciklą.
Kokius įrankius ir bibliotekas naudojote automatizuotam testavimui savo projektuose?
Kaip skiriasi statinis ir dinaminis metodų susiejimas Java ir kokios yra jų ypatybės?
Ar galite paaiškinti skirtumą tarp polimorfizmo ir abstrakcijos sąvokų objektinio programavimo srityje?
Skaitykite kodą ir pažymėkite klaidas /** * Klientas, įsigijęs bilietą, gali už papildomą mokestį pasirinkti konkretų vietą. * Pagrindinė vietų kaina nustatoma tarifais (išorinis paslaugų teikėjas). * Kai kuriems klientams su tam tikrais tarifais (PREMIUM, ULTRA) reikia taikyti nuolaidą apmokėjimo metu. * Rezervuojant klientui išrašomas sąskaita apmokėjimui. Mokėjimo valdymas vyksta išoriniuose servisuose. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Rezervacija. * @param seatCode vietos kodas (pvz., 19A) * @param ticketId bilieto ID */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); // rezervuojame var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); // ieškome bazinės kainos pasirinktam vietai lėktuve var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); // ieškome kliento duomenų Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Rasta naudotojas " + userData.getFio() + " dokumento numeris " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { // 50% nuolaida price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { // 20% nuolaida price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); // išrašome sąskaitą paymentClient.sendInvoice(invoice); System.out.println("Sąskaita išrašyta"); } @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; }
Kam naudinga Java naudoti funkcinius sąsajos ToDoubleFunction<T>, ToIntFunction<T> ir ToLongFunction<T>?
Kokia pagrindinė skirtumas tarp Comparable ir Comparator sąsajų Java kalboje, kai rūšiuojami objektai?
Kokius šaltinius naudojate mokymosi medžiagų ir naujinimų paieškai technologijų srityje?