Tapşırıq Verilmiş: CREATE TABLE profile ( id BIGSERIAL PRIMARY KEY, nickname VARCHAR, registered_at TIMESTAMP ); CREATE TABLE post ( id BIGSERIAL PRIMARY KEY, owner_id BIGINT REFERENCES profile (id), body TEXT, inserted_at TIMESTAMP, likes_count INT -- bəyənmələrin sayı ); CREATE TABLE subscription_count ( profile_id BIGINT REFERENCES profile (id) UNIQUE, followers_count INT, -- izləyicilərin sayı following_count INT -- izlənilənlərin sayı ); Tələb olunur: select p.id, sc.followers_count from post p join subscription_count sc on sc.profile_id = p.owner_id where sc.followers_count > 500 -- Index: create index on post (owner_id) -- Sorğu: select * from post where likes_count > ? AND owner_id = ?;
Java
PostgreSQL sorğularını necə təhlil edir və optimallaşdırırsınız?
Kodu oxuyun və səhvləri vurğulayın @Component public class AuthorSearchService { @Autowired private AuthorsRepository authorsRepository; @Autowired private StatisticsRepository statisticsRepository; private AlertRestClient arc = new AlertRestClient(); // Sorğuda həm tam ad, həm də adın yalnız bir hissəsi ola bilər, məsələn "Vladimir Panov" və ya "panov" @Transactional public List<Author> search(String query) { List<Author> authors = authorsRepository.findByNameContainingIgnoreCase(query); Statistics s = statisticsRepository.findById(query).orElse(null); if (s == null) s = new Statistics(query); s.setNumbers(s.getNumbers() + 1); statisticsRepository.save(s); if (s.getNumbers() > 1000 && authors.size() > 1000) { System.out.println("çox populyar axtarış çox məlumat ilə, xəbərdarlıq göndərilir..."); arc.send(query, s.getNumbers(), authors.size()); } return authors; } } @Entity @Data public class Author { @Id @GeneratedValue private Long id; private String name; @OneToMany(mappedBy = "author") private List<Book> books; public Author(String name) { this.name = name; } }
Xidmət hər bir neçə saatda OutOfMemoryError ilə çökməkdədir. Problemi necə araşdırmağa başlarsan?
Tamamilə özünüz tərəfindən həyata keçirilmiş böyük biznes vəzifəsi və ya inteqrasiya nümunəsi verin.
Kafka mesajlarının işlənməsini və sinxron RPC çağırışlarını necə optimallaşdırdığınızı daha ətraflı izah edin.
BeanPostProcessor yazma təcrübəniz varmı? Hansı vəzifə üçün?
Yeni yerdə nə etmək istəyirsiniz? Memarlıq qərarlarında iştirak sizin üçün nə deməkdir?
Əgər bir şey yerləşdirmişsənsə və hər şey çökmüşsə — siqnallar, nə baş verdiyini başa düşmürsən?
Əlaqəli verilənlər bazasında xarici açar hansı zəmanətləri verir? Əgər xarici açarlar varsa, valideyi qeydini silmək mümkündürmü?
Özünüz və təcrübəniz haqqında danışın
Çox iplikli tapşırıq: pulqabılar arasında köçürmələr zamanı proqram donacaqmı? Niyə?
Marker interfeysi nədir? Nəyə görə lazımdır?
Əgər keşik vaxtı bitərsə və sorğular kütləvi şəkildə verilənlər bazasına yönəldilərsə, verilənlər bazasına yükü necə azalda bilərsiniz?
Kodu oxuyun və səhvləri sayın ```java @Component public class AuthorSearchService { @Autowired private AuthorRepository authorRepository; @Autowired private StatisticsRepository statisticsRepository; private AlertRestClient arc = new AlertRestClient(); // Sorğuda həm tam dəyər, həm də yalnız adın bir hissəsi ola bilər, məsələn "Vadim Pavlo" və ya "pavlo" @Transactional public List<Author> search(String query) { List<Author> authors = authorRepository.findByNameContainingIgnoreCase(query); Statistics s = statisticsRepository.findById(query).orElse(null); if (s == null) s = new Statistics(query); s.setNumbers(s.getNumbers() + 1); statisticsRepository.save(s); if (s.getNumbers() > 1000 && authors.size() > 1000) { System.out.println("çox populyar axtarış, çox məlumat ilə, xəbərdarlıq göndərilir..."); arc.send(query, s.getNumbers(), authors.size()); } return authors; } } @Entity @Data public class Author { @Id @GeneratedValue private Long id; private String name; @OneToMany(mappedBy = "author") private List<Book> books; public Author(String name) { this.name = name; } } ```
Komandada kod nəzərdən keçirilməsi olubmu?
JIT və AOT tərtibatı arasındakı fərq və üstünlüklər nədir?
100 milyon qeydiyyatdan ibarət cədvəl var. value > 100 olan bütün qeydiyyatları seçməliyəm. Sorğunun icra vaxtını minimuma endirmək üçün hansı tövsiyələr var?
SQL sorğusu: 10-dan çox paylaşımı olan profilləri seçin
Hibernate olmadan, yerli SQL ilə optimist kilidləməni necə əl ilə həyata keçirmək olar?