Java
Vorbiți în detaliu despre interacțiunea bazată pe evenimente între servicii folosind Kafka.
Implementarea unui proces idempotent de gestionare a evenimentelor reprezintă o realizare pentru un senior sau este ceva ce se așteaptă de la el în mod implicit?
La proiectele și produsele la care ați lucrat la [companie]?
Spuneți-ne despre programarea multithread în Java: ce ați folosit?
Se pot îmbunătăți testele, de exemplu, reducând cantitatea de cod?
Cum au unit echipa?
class User { String nume; public int hashCode() { return nume.hashCode(); } public boolean equals(Object o) { return o instanceof User u && nume.equals(u.nume); } } Map<User, String> map = new HashMap<>(); User u = new User(); u.nume = "Bob"; map.put(u, "developer"); u.nume = "Alice"; System.out.println(map.get(u));
10 aplicații de procesare preiau sarcini din baza de date. Cum preveni ca două instanțe să preia aceeași sarcină?
Ce a fost sincron și ce s-a schimbat? Care dintre cele două cazuri (după program sau prin schimbarea statutului) a fost sincron?
Ce cauți într-o echipă și într-un produs? Care sunt criteriile tale atunci când alegi un loc de muncă?
Ce este problema N+1 în JPA/Hibernate? Cum a fost rezolvată?
@PutMapping("/create") public Book create(@RequestBody CreateBook request) throws Exception { System.out.println("Verifică dacă cartea există " + map); Book book = new ObjectMapper().convertValue(map, Book.class); Book b = repo.findByTitle(book.getTitle()); if (b != null) { throw new Exception("Cartea deja există"); } book.setId(UUID.randomUUID().toString()); repo.save(book); log.debug("Cartea {} de {} a fost creată cu id {}", book.getTitle(), book.getAuthor(), book.getId()); return book; } @GetMapping("/get") public Book get(@QueryParam("id") String id) { log.debug("Obține cartea " + id); return repo.findAll().stream() .filter(b -> b.getId().equals(id)) .findFirst().get(); } @GetMapping("/{id}") public Book get(@RequestParam("id") String id) { log.debug("Obține cartea ", id); return repo.findById(id).orElseThrow(() -> new BookAlreadyExeption("carte negăsită")) findAll().stream() .filter(b -> b.getId().equals(id)) .findFirst().get(); }
SELECT nume FROM person JOIN payment ON person.id = payment.person_id GROUP BY person.id HAVING SUM(payment_value) > 100;
Care este problema principală a acestei implementări? - Nu se utilizează cache în memorie pentru optimizare. - Diferite tipuri de stocare a datelor într-un singur hash - Verificarea comutatorului înainte de citirea datelor nu produce rezultate - Absența serializatorilor standard în `RedisTemplate` - Pipeline-ul nu este utilizat pentru operații parțiale
Sarcină de cod: Spring @Transactional și auto-invocație (captură de ecran cu cod)
Ce colecție să folosiți pentru tabelul de rezultate cu sortare după nume și căutare după cheie?
Cum se combină REST cu stocarea datelor utilizatorilor (de exemplu, într-un magazin online)?
Vorbește despre experiența ta de dezvoltare și în ce direcție vrei să crești.
Vorbiți despre rezultate și realizări specifice în cifre.
Ați fost vreodată nevoit să optimizați condiția NOT IN? Cât de rău este și cum o puteți optimiza?