Java
Kafka istifadə edərək xidmətlər arasında hadisə yönümlü qarşılıqlı əlaqəni ətraflı izah edin.
Hadisələrin idempotent işlənməsinin tətbiqi bir başçının uğuru mu, yoxsa bu ondan əvvəlcədən gözlənilən bir şeydir?
[Şirkət]də hansı layihələr və məhsullar üzərində işlədiniz?
Java-da çox ipli proqramlaşdırma haqqında danışın: nə istifadə etdiniz?
Testləri yaxşılaşdırmaq mümkündürmü, məsələn, kod miqdarını azaltmaqla?
Komandayı necə birləşdirdilər?
class User { String ad; public int hashCode() { return ad.hashCode(); } public boolean equals(Object o) { return o instanceof User u && ad.equals(u.ad); } } Map<User, String> map = new HashMap<>(); User u = new User(); u.ad = "Bob"; map.put(u, "inkişafçı"); u.ad = "Alice"; System.out.println(map.get(u));
Verilənlər bazasından tapşırıqları alan 10 tətbiq var. İki nümunənin eyni tapşırığı götürməməsini necə təmin etmək olar?
Nə sinxron idi və nə dəyişdi? Hansı iki haldan (cədvələ görə və ya status dəyişiklikləri ilə) sinxron idi?
Komanda və məhsulda nə axtarırsınız? İş yerini seçərkən hansı meyarlarınız var?
JPA/Hibernate-də N+1 problemi nədir? Necə həll olundu?
@PutMapping("/create") public Book create(@RequestBody CreateBook request) throws Exception { System.out.println("Kitabın mövcud olub-olmadığını yoxlayın " + map); Book book = new ObjectMapper().convertValue(map, Book.class); Book b = repo.findByTitle(book.getTitle()); if (b != null) { throw new Exception("Kitab artıq mövcuddur"); } book.setId(UUID.randomUUID().toString()); repo.save(book); log.debug("Kitab {} tərəfindən {} ilə yaradıldı, id {}", book.getTitle(), book.getAuthor(), book.getId()); return book; } @GetMapping("/get") public Book get(@QueryParam("id") String id) { log.debug("Kitab alınır " + id); return repo.findAll().stream() .filter(b -> b.getId().equals(id)) .findFirst().get(); } @GetMapping("/{id}") public Book get(@RequestParam("id") String id) { log.debug("Kitab alınır ", id); return repo.findById(id).orElseThrow(() -> new BookAlreadyExeption("kitab tapılmadı")) findAll().stream() .filter(b -> b.getId().equals(id)) .findFirst().get(); }
SELECT ad FROM person JOIN payment ON person.id = payment.person_id GROUP BY person.id HAVING SUM(payment_value) > 100;
Bu tətbiqin əsas problemi nədir? - Optimizasiya üçün yaddaş keşi istifadə edilmir. - Eyni hash-də müxtəlif məlumat saxlama növləri - Məlumatları oxumadan əvvəl keçid yoxlaması nəticə vermir - `RedisTemplate`-də standart serializatorların olmaması - Hissəvi əməliyyatlar üçün pipeline istifadə edilmir
Kod tapşırığı: Spring @Transactional və öz-özünə çağırış (kodun ekran görüntüsü)
Soyadı ilə sıralama və açar ilə axtarış üçün nəticələr cədvəli üçün hansı kolleksiya istifadə edilməlidir?
REST istifadəçi məlumatlarının saxlanması ilə necə uyğunlaşır (məsələn, onlayn mağazada)?
İnkişaf təcrübəniz və hansı istiqamətdə böyümək istədiyiniz haqqında danışın.
Rəqəmlərlə konkret nəticələr və nailiyyətlər haqqında danışın.
Heç vaxt NOT IN şərtini optimallaşdırmaq məcburiyyətində qalmısınızmı? Bu nə qədər pisdir və necə optimallaşdırmaq olar?