Java
Išsamiai paaiškinkite įvykių valdomą sąveiką tarp paslaugų naudojant Kafka.
Ar idempotentinis įvykių apdorojimas yra pasiekimas seniorui ar tai yra tai, kas iš anksto iš jo tikimasi?
Kokiuose projektuose ir su kokiais produktais dirbote [įmonėje]?
Papaskinkite apie daugiagijį programavimą Java: ką naudojote?
Ar galima patobulinti testus, pavyzdžiui, sumažinant kodo kiekį?
Kaip sujungė komandą?
class User { String vardas; public int hashCode() { return vardas.hashCode(); } public boolean equals(Object o) { return o instanceof User u && vardas.equals(u.vardas); } } Map<User, String> map = new HashMap<>(); User u = new User(); u.vardas = "Bob"; map.put(u, "programuotojas"); u.vardas = "Alice"; System.out.println(map.get(u));
10 apdorojimo programų paima užduotis iš duomenų bazės. Kaip išvengti, kad dvi kopijos paimtų tą pačią užduotį?
Kas buvo sinchroniška ir kas pasikeitė? Kuris iš dviejų atvejų (pagal grafiką ar pagal būsenos pakeitimą) buvo sinchroniškas?
Ką ieškote komandoje ir produkte? Kokius kriterijus turite renkantis darbo vietą?
Kas yra N+1 problema JPA/Hibernate? Kaip ji buvo išspręsta?
@PutMapping("/create") public Book create(@RequestBody CreateBook request) throws Exception { System.out.println("Patikrinkite, ar knyga egzistuoja " + map); Book book = new ObjectMapper().convertValue(map, Book.class); Book b = repo.findByTitle(book.getTitle()); if (b != null) { throw new Exception("Knyga jau egzistuoja"); } book.setId(UUID.randomUUID().toString()); repo.save(book); log.debug("Knyga {} iš {} sukurta su id {}", book.getTitle(), book.getAuthor(), book.getId()); return book; } @GetMapping("/get") public Book get(@QueryParam("id") String id) { log.debug("Gauti knygą " + id); return repo.findAll().stream() .filter(b -> b.getId().equals(id)) .findFirst().get(); } @GetMapping("/{id}") public Book get(@RequestParam("id") String id) { log.debug("Gauti knygą ", id); return repo.findById(id).orElseThrow(() -> new BookAlreadyExeption("knyga nerasta")) findAll().stream() .filter(b -> b.getId().equals(id)) .findFirst().get(); }
Darbuotojų sąrašo lentelė id vardas 1 Petya 2 Vasya 3 Kolya Mokėjimų lentelė su atlyginimais id person_id payment_value [phone] Reikia parašyti užklausą, kad būtų pasirinkti darbuotojų vardai su bendrais mokėjimais daugiau nei 100
Koks yra pagrindinis šios įgyvendinimo problema? - Nenaudojamas atminties talpykla optimizacijai. - Skirtingų duomenų saugojimo tipai viename hash'e - Jungiklio patikrinimas prieš duomenų skaitymą neduoda rezultatų - Trūksta standartinių serializatorių `RedisTemplate` - Pipeline nėra naudojamas dalinėms operacijoms
Kodo užduotis: Spring @Transactional ir savęs iškvietimas (kodo ekrano nuotrauka)
Kokią kolekciją naudoti rezultatų lentelėje su rūšiavimu pagal pavardę ir paieška pagal raktą?
Kaip REST dera su naudotojų duomenų saugojimu (pavyzdžiui, internetinėje parduotuvėje)?
Papaskinkite apie savo vystymosi patirtį ir į kurią kryptį norite augti.
Papaskokite apie konkrečius rezultatus ir pasiekimus skaičiais.
Ar kada nors turėjote optimizuoti NOT IN sąlygą? Kiek tai blogai ir kaip tai optimizuoti?