Java
Meséljen részletesen az eseményalapú kommunikációról a szolgáltatások között Kafka használatával.
Az események idempotens feldolgozásának megvalósítása siker-e egy senior számára, vagy ez az, amit előre elvárnak tőle?
Milyen projekteken és milyen termékeken dolgozott a [cég]nél?
Meséljen a Java több szálas programozásáról: mit használt?
Fejleszthetők a tesztek, például a kód mennyiségének csökkentésével?
Hogyan kovácsolták össze a csapatot?
class User { String nev; public int hashCode() { return nev.hashCode(); } public boolean equals(Object o) { return o instanceof User u && nev.equals(u.nev); } } Map<User, String> map = new HashMap<>(); User u = new User(); u.nev = "Bob"; map.put(u, "fejlesztő"); u.nev = "Alice"; System.out.println(map.get(u));
10 feldolgozó alkalmazás veszi ki a feladatokat az adatbázisból. Hogyan lehet megakadályozni, hogy két példány ugyanazt a feladatot vegye fel?
Mi volt szinkronban, és mi változott? Melyik két esetből (ütemterv szerint vagy állapotváltozás szerint) volt szinkron?
Mit keresel egy csapatban és egy termékben? Milyen kritériumok alapján választasz munkahelyet?
Mi az N+1 probléma a JPA/Hibernate-ben? Hogyan oldották meg?
@PutMapping("/create") public Book create(@RequestBody CreateBook request) throws Exception { System.out.println("Ellenőrizze, hogy a könyv létezik-e " + map); Book book = new ObjectMapper().convertValue(map, Book.class); Book b = repo.findByTitle(book.getTitle()); if (b != null) { throw new Exception("A könyv már létezik"); } book.setId(UUID.randomUUID().toString()); repo.save(book); log.debug("Könyv {} által {} lett létrehozva, id {}", book.getTitle(), book.getAuthor(), book.getId()); return book; } @GetMapping("/get") public Book get(@QueryParam("id") String id) { log.debug("Könyv lekérése " + id); return repo.findAll().stream() .filter(b -> b.getId().equals(id)) .findFirst().get(); } @GetMapping("/{id}") public Book get(@RequestParam("id") String id) { log.debug("Könyv lekérése ", id); return repo.findById(id).orElseThrow(() -> new BookAlreadyExeption("könyv nem található")) findAll().stream() .filter(b -> b.getId().equals(id)) .findFirst().get(); }
SELECT név FROM person JOIN payment ON person.id = payment.person_id GROUP BY person.id HAVING SUM(payment_value) > 100;
Mi a fő problémája ennek a megvalósításnak? - Nem alkalmaznak memória alapú gyorsítótárat az optimalizáláshoz. - Különböző adattárolási típusok egy hash-ben - A kapcsoló ellenőrzése az adatok olvasása előtt nem hoz eredményt - Hiányoznak a standard serializálók a `RedisTemplate`-ben - A pipeline nem használatos részleges műveletekhez
Kód feladat: Spring @Transactional és önhívás (kód screenshottal)
Milyen gyűjteményt használjunk az eredménytáblához név szerint rendezve és kulcs szerint keresve?
Hogyan illeszkedik a REST a felhasználói adatok tárolásához (például egy online áruházban)?
Meséljen a fejlesztési tapasztalatáról és arról, hogy melyik irányba szeretne növekedni.
Mondjon konkrét eredményeket és sikereket számokban.
Szükség volt már a NOT IN feltétel optimalizálására? Mennyire rossz ez, és hogyan lehet optimalizálni?