Java
Jak realizujete práci s dynamickými dotazy v Spring Data JPA?
Použili jste konstrukci SELECT při operacích aktualizace dat (UPDATE)?
Má má předvídatelný pořadí prvků struktura dat HashMap?
Lze spojit velký složitý úkol s několika menšími v rámci jednoho týmu?
Můžete vysvětlit rozdíl mezi pojmy polymorfismus a abstrakce v objektově orientovaném programování?
Zpracovává datová struktura seznam s možností průchodu oběma směry nebo pouze jedním?
Přečtěte si kód a zvýrazněte chyby /** * Klient s koupeným lístkem může za příplatek vybrat konkrétní místo. * Základní cena míst je určena tarify (externí služba). * Pro klienty s určitými tarify (PREMIUM, ULTRA) je třeba při platbě poskytnout slevu. * Při rezervaci je vystavena faktura k úhradě. Správa plateb probíhá v externí službě. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Rezervace. * @param seatCode kód místa (např. 19A) * @param ticketId ID lístku */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //rezervujeme var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //najdeme základní tarif pro místo v letadle var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //najdeme údaje o zákazníkovi Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Nalezen uživatel " + userData.getFio() + " číslo dokumentu " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //50% sleva price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //20% sleva price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //vystavíme fakturu paymentClient.sendInvoice(invoice); System.out.println("Faktura odeslána"); } @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; }
Jaké typy injekce závislostí znáte?
Pokud zavolám metodu toList() na Stream, bude výsledkem ArrayList nebo jiný typ kolekce?
Můžete vysvětlit, co znamená zkratka SLF4J a jak se používá v projektech Java?
Proč je důležité při práci s transakcemi v databázi uplatňovat vlastnosti ACID?
Lze rozhraní Runnable považovat za rozhraní pro vykonávání úkolů v Java?
Jaký je rozdíl mezi metodami equals a hashCode v Java?
Můžete vysvětlit koncept algoritmů bez zámku a jejich rozdíly od jiných metod synchronizace?
Jaké jsou hlavní rozdíly mezi LinkedList a ArrayList v Javě?
Jaké máte zkušenosti s vývojem rozhraní založených na funkcích nebo funkcích jako hlavní komponentě?
Jaký přístup k autentizaci a autorizaci je implementován ve Spring Security ve vašem projektu?
Lze vytvořit vlastní chování pro konstruktor v děděné třídě jeho přepsáním?
Co je to rozhraní AutoCloseable a jak funguje konstrukce try-with-resources v Javě?
Jak určit konkrétní verzi transitive závislosti v konfiguračním souboru Gradle?