Vai jūsu pēdējā projektā tika veikta metrikas tieša vākšana un analīze no serveriem ražošanas vidē?
Java
Kāda ir atšķirība starp synchronizedMap un ConcurrentHashMap izmantošanu, lai nodrošinātu kolekciju pavedienu drošību?
Kādus metodes var izmantot, lai paātrinātu vaicājumu izpildi tabulā, kas ik dienu apstrādā apmēram 100 tūkstošus jaunu ierakstu, un kā tas ietekmēs nedēļas izvēles izpildi?
Izskaidrojiet pilnīgas bloķēšanas koncepciju datu bāzu pārvaldībā un tās īpašības.
Kādas ir iemesli, lai ierobežotu indeksēto lauku skaitu datu bāzē?
Kā uzzināt izpildīto SQL vaicājumu PostgreSQL?
Kādas sekas var rasties, izveidojot indeksu tabulā ar miljonu rindu?
Kādu vārdu man būtu jālieto, lai tev pievērstos?
Cik ilgs laiks nepieciešams, lai veiktu maksimālā elementa meklēšanas operācijas, izmantojot ArrayList, ja elementi tiek pievienoti reti?
Kā novērtēt laika sarežģītību operācijai elementa ievietošanai TreeMap datu struktūrā?
Kādi citi veidi, papildus daudzprocesu, var tikt izmantoti, lai uzlabotu pakalpojuma efektivitāti, kas ģenerē pārskatus un veic 4 paralēlas HTTP pieprasījumus dažādām sistēmām?
Vai jūs varat izskaidrot Java Stream API koncepciju un kā tā tiek izmantota datu apstrādei?
Kā optimizēt vai novērst kļūdas SQL vaicājumā?
Kā var ieviest pesimistiskās bloķēšanas mehānismu, lai nodrošinātu datu integritāti daudzprocesu vidē?
Lūdzu, izlasiet kodu un norādiet kļūdas /** * Klients ar iegādātu biļeti var par papildu samaksu izvēlēties konkrētu vietu. * Galvenā vietu cena tiek noteikta ar tarifiem (ārējais pakalpojums). * Dažiem klientiem ar noteiktiem tarifiem (PREMIUM, ULTRA) ir nepieciešams piemērot atlaidi maksājumā. * Rezervējot, klientam tiek izrakstīts rēķins apmaksai. Maksājumu pārvalda ārējais serviss. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Rezervācija. * @param seatCode vietas kods (piemēram, 19A) * @param ticketId biļetes ID */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); // rezervējam var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); // meklējam pamatcenu izvēlētajai vietai lidmašīnā var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); // meklējam klienta datus Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Atrasts lietotājs " + userData.getFio() + " dokumenta numurs " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { // 50% atlaide price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { // 20% atlaide price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); // izrakstām rēķinu paymentClient.sendInvoice(invoice); System.out.println("Rēķins izrakstīts"); } @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; }
Kas varētu novest pie funkcijas veiktspējas pasliktināšanās?
Kādiem veidiem var uzlabot meklēšanas ātrumu tabulā?
Vai jūs varat izskaidrot pesimistiskās bloķēšanas darbības principu un kā tā atšķiras no citas bloķēšanas stratēģijas?