Sobes.tech

Java

Quais são as principais tarefas resolvidas pelo framework Spring no desenvolvimento de aplicações?

268

Que tipos de índices existem nos sistemas de gestão de bases de dados SQL?

Junior — Middle
268

Já utilizou a construção SELECT em operações de atualização de dados (UPDATE)?

Junior — Middle
267

Podem as dependências cíclicas levar a vazamentos de memória num programa?

Junior — Middle
265

O que pode levar a uma diminuição do desempenho na execução de uma função?

Junior — Middle
265

Leia o código e destaque os erros /** * Um cliente com um bilhete comprado pode, por uma taxa adicional, escolher um lugar específico. * O preço base dos lugares é determinado por tarifas (serviço externo). * Para clientes com tarifas específicas (PREMIUM, ULTRA), deve ser concedido um desconto no pagamento. * Ao reservar, é emitida uma fatura para pagamento. A gestão do pagamento é feita em um serviço externo. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Reserva. * @param seatCode código do lugar (por exemplo 19A) * @param ticketId ID do bilhete */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //reservamos var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //procuramos a tarifa base para o lugar no avião var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //procuramos dados do cliente Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Encontrado utilizador " + userData.getFio() + " número do documento " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //desconto de 50% price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //desconto de 20% price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //emite a fatura paymentClient.sendInvoice(invoice); System.out.println("Fatura emitida"); } @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; }

264

Que passos vais tomar para determinar as causas dos reinícios regulares do serviço relacionados com o erro OutOfMemoryError?

Junior — Middle
261

Tem experiência em interagir com fornecedores de dados ou recursos?

Junior — Middle
254

Por que ocorre uma exceção ConcurrentModificationException ao modificar simultaneamente um ArrayList durante a iteração?

Junior — Middle
252

Mecanismo de funcionamento do operador SELECT FOR UPDATE em bases de dados e seu papel na gestão do acesso concorrente

Junior — Middle
249

A entrada relacionada é removida automaticamente da tabela filha se a chave relacionada for removida da tabela pai?

Junior — Middle
248

Que ações tomarias se, com o aumento da carga no sistema, os atrasos na execução de consultas à base de dados se tornarem significativos?

246

De que maneiras podes aumentar a velocidade de execução deste método?

Junior — Middle
242

Quais métodos podem ser usados para aumentar a velocidade de pesquisa numa tabela?

Junior — Middle
242

O que distingue uma abordagem otimista às bloqueios de uma abordagem pessimista no contexto da gestão de concorrência em bancos de dados?

Junior — Middle
240

Pode explicar como é estruturada a hierarquia de herança de exceções na linguagem de programação?

Junior — Middle
240

Explique o conceito de eliminação de tipos e qual é o seu principal propósito na programação.

Junior — Middle
239
/15