Java
Spiega in dettaglio l'interazione event-driven tra i servizi utilizzando Kafka.
L'implementazione di un'elaborazione idempotente degli eventi è un risultato per un senior o è qualcosa che ci si aspetta da lui di default?
Su quali progetti e con quali prodotti ha lavorato presso [azienda]?
Parlaci della programmazione multithread in Java: cosa hai usato?
È possibile migliorare i test, ad esempio riducendo la quantità di codice?
Come hanno unito la squadra?
class User { String nome; public int hashCode() { return nome.hashCode(); } public boolean equals(Object o) { return o instanceof User u && nome.equals(u.nome); } } Map<User, String> map = new HashMap<>(); User u = new User(); u.nome = "Bob"; map.put(u, "sviluppatore"); u.nome = "Alice"; System.out.println(map.get(u));
10 applicazioni gestori prelevano i compiti dal database. Come evitare che due istanze prendano lo stesso compito?
Cosa era sincrono e cosa è cambiato? Quale dei due casi (secondo l'orario o per cambio di stato) era sincrono?
Cosa cerchi in un team e in un prodotto? Quali sono i tuoi criteri nella scelta del luogo di lavoro?
Cos'è il problema N+1 in JPA/Hibernate? Come è stato risolto?
@PutMapping("/create") public Book create(@RequestBody CreateBook request) throws Exception { System.out.println("Controlla se il libro esiste " + map); Book book = new ObjectMapper().convertValue(map, Book.class); Book b = repo.findByTitle(book.getTitle()); if (b != null) { throw new Exception("Il libro esiste già"); } book.setId(UUID.randomUUID().toString()); repo.save(book); log.debug("Libro {} di {} è stato creato con id {}", book.getTitle(), book.getAuthor(), book.getId()); return book; } @GetMapping("/get") public Book get(@QueryParam("id") String id) { log.debug("Ottieni libro " + id); return repo.findAll().stream() .filter(b -> b.getId().equals(id)) .findFirst().get(); } @GetMapping("/{id}") public Book get(@RequestParam("id") String id) { log.debug("Ottieni libro ", id); return repo.findById(id).orElseThrow(() -> new BookAlreadyExeption("libro non trovato")) findAll().stream() .filter(b -> b.getId().equals(id)) .findFirst().get(); }
Tabella person con l'elenco dei dipendenti id nome 1 Petya 2 Vasya 3 Kolya Tabella payment con le retribuzioni id person_id payment_value [phone] È necessario scrivere una query per selezionare i nomi dei dipendenti con somme di pagamento superiori a 100
Qual è il problema principale di questa implementazione? - Non viene utilizzata cache in memoria per l'ottimizzazione. - Diversi tipi di memorizzazione dei dati in un singolo hash - Il controllo dell'interruttore prima di leggere i dati non dà risultati - Mancanza di serializzatori standard in `RedisTemplate` - Il pipeline non viene utilizzato per operazioni parziali
Compito di codice: Spring @Transactional e auto-invocazione (screenshot con codice)
Quale collezione usare per la tabella dei risultati con ordinamento per cognome e ricerca per chiave?
Come si combina REST con l'archiviazione dei dati degli utenti (ad esempio, in un negozio online)?
Parlami della tua esperienza di sviluppo e in quale direzione vuoi crescere.
Parla di risultati e successi specifici in cifre.
Hai mai dovuto ottimizzare la condizione NOT IN? Quanto è brutto e come ottimizzarlo?