Java
Milyen külső szolgáltatásokat használt az Ön rendszerével való integrációhoz?
Mi az a Layout a log4j-ben?
Hogyan történik a Servlet feldolgozása több szálas környezetben?
Mely tulajdonságot használjuk a háttérszín beállítására?
Miért adhat vissza a hashCode() különböző objektumok esetén ugyanazokat az értékeket?
Hogyan garantálható a kulcsok egyedisége a HashMap adatstruktúra használata során?
Milyen helyzetekben dobható ki a ClassCastException egy alkalmazásban?
Milyen módon lehet összehasonlítani az adat típusokat Java-ban?
Kötelező figyelembe venni az összes mezőt az entitásban az equals metódus implementálásakor az üzleti logika kontextusában?
Ki végezte az adatbázisok ellenőrzését és kezelését az utolsó projektjében?
Alkalmazta már a tranzakciók izolációs szintjét Repeatable Read-ként a projektjeiben?
El tudná magyarázni, hogyan történik az argumentumok átadása hivatkozással a programozásban?
Hogyan és milyen mechanizmuson keresztül valósult meg a mikroszolgáltatás integrációs folyamata az utolsó projektjében?
Előfordult már, hogy egy Starterhez hasonló komponens vagy mechanizmust fejlesztett vagy valósított meg?
Magyarázza el az denormalizáció fogalmát az adatbázisokban és annak következményeit a projekt számára.
Mik a fő különbségek az @RestController és @Controller annotációk között a Spring-ben?
Hatással lesz-e a Stream használata a Java műveletek végrehajtási sebességére?
Meg tudná magyarázni az öröklődés és az absztrakció közötti különbséget az objektumorientált programozásban?
Hogyan szervezzük meg a párhuzamos számításokat és a szálak kezelését nagyvállalati szoftverben?
Olvassa el a kódot és emelje ki a hibákat /** * Egy vásárlással rendelkező ügyfél extra díj ellenében kiválaszthat egy adott helyet. * A helyek alapára a tarifák (külső szolgáltatás) szerint kerül meghatározásra. * Bizonyos tarifákkal (PREMIUM, ULTRA) rendelkező ügyfelek esetében kedvezményt kell alkalmazni a fizetés során. * A foglalás során számlát állítanak ki a fizetéshez. A fizetés kezelése egy külső szolgáltatásban történik. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Foglalás. * @param seatCode helykód (pl. 19A) * @param ticketId jegy azonosító */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //foglalunk var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //keressük az alapárat a repülőn lévő helyhez var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //keressük az ügyfél adatait Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Talált felhasználó " + userData.getFio() + " dokumentumszám " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //50% kedvezmény price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //20% kedvezmény price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //számla kiállítása paymentClient.sendInvoice(invoice); System.out.println("Számla kiállítva"); } @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; }