Sobes.tech

Ați colectat și analizat metrici direct de pe servere în mediul de producție în cadrul ultimului dvs. proiect?

Junior — Middle
431

Care este rolul cheii externe într-o bază de date relațională?

Junior — Middle
391

Care este diferența dintre utilizarea synchronizedMap și ConcurrentHashMap pentru asigurarea siguranței în fire în colecții?

Junior — Middle
385

Ce metode pot fi aplicate pentru a crește viteza de răspuns a unei tabele care procesează aproximativ 100 de mii de înregistrări noi zilnic, și cum va afecta acest lucru realizarea eșantionărilor săptămânale?

Middle — Middle+
363

Care sunt motivele pentru limitarea numărului de câmpuri indexabile în baza de date?

Junior — Middle
354

Explicați conceptul de blocare completă în gestionarea bazelor de date și caracteristicile sale.

Junior — Middle
353

Ce consecințe pot apărea la crearea unui index într-un tabel cu un milion de rânduri?

Junior — Middle
350

Cum să afli interogarea SQL executată în PostgreSQL?

Junior — Middle
345

Care sunt costurile temporale pentru efectuarea operațiunilor de căutare a elementului maxim atunci când se utilizează ArrayList, dacă elementele sunt adăugate rar?

Junior — Middle
328

Cum se evaluează complexitatea temporală a operației de inserare a unui element în structura de date TreeMap?

326

Ce alte metode, în afară de multithreading, pot fi utilizate pentru a crește eficiența unui serviciu care generează rapoarte și care efectuează 4 solicitări HTTP paralele către diferite sisteme?

Junior — Middle
322

Cum se pot optimiza sau elimina erorile dintr-o interogare SQL?

Junior — Middle
322

Cum se poate implementa un mecanism de blocare pesimistă pentru a asigura integritatea datelor într-un mediu multi-thread?

Middle — Middle+
318

Citiți codul și evidențiați erorile /** * Un client cu bilet cumpărat poate, contra unei taxe suplimentare, să aleagă un loc specific. * Prețul de bază al locurilor este determinat de tarife (serviciu extern). * Pentru clienții cu tarife specifice (PREMIUM, ULTRA), trebuie aplicată o reducere la plată. * La rezervare, se emite o factură pentru plată. Gestionarea plăților se face într-un serviciu terț. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Rezervare. * @param seatCode codul locului (de exemplu, 19A) * @param ticketId ID-ul biletului */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //rezervăm var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //căutăm tariful de bază pentru locul din avion var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //căutăm datele clientului Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Utilizator găsit " + userData.getFio() + " număr document " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //reducere de 50% price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //reducere de 20% price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //emitere factură paymentClient.sendInvoice(invoice); System.out.println("Factură emisă"); } @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; }

309

Ce metode pot fi folosite pentru a crește viteza de căutare într-un tabel?

Junior — Middle
308

Ce poate duce la scăderea performanței în execuția unei funcții?

Junior — Middle
304

Puteți explica principiul de funcționare al blocării pesimiste și în ce se deosebește de o altă strategie de blocare?

Junior — Middle
302

Ce structură de date este preferabil să folosiți pentru extragerea rapidă a elementului maxim la inserții rare?

Junior — Middle
301
/15