Ce metode de gestionare a tranzacțiilor în Spring cunoști?
Java
În ce domeniu de vizibilitate sunt create implicit bean-urile în Spring?
Aveți o arhitectură de microservicii: ați scris adnotarea într-un serviciu specific sau pentru întregul proiect? Cum ați distribuit soluția?
Povestiți despre un caz de optimizare a unei interogări SQL: care a fost problema și cum a fost rezolvată?
Cum se aplică adnotarea în practică? Ai scris propriile tale adnotări personalizate?
Revizuirea codului: uită-te la metoda getDivisions (capturi de ecran cu codul) — ce ți-a plăcut, ce nu? Este justificată utilizarea sortării Insensitive Order, tratarea erorilor, streaming etc.?
Ce înseamnă propagation atunci când un metod este apelat din contextul unei tranzacții deja deschise?
Cum să gestionezi problema N+1?
Dacă entitatea a fost încărcată cu o singură interogare și apelăm metoda de obținere a entității asociate — câte interogări vor fi executate în total?
Ce este pattern-ul Singleton?
Ce niveluri de izolare a tranzacțiilor cunoști?
Cum ai explica unui alt dezvoltator ce este Spring Data și care este valoarea sa?
Ce este o adnotare în Java? Cum ai explica acest lucru altui dezvoltator?
Metoda save() din depozitul JPA creează o entitate nouă sau actualizează una existentă?
Ați folosit vreodată TransactionTemplate în activitatea dvs.? Oferiți un exemplu în care ați decis programatic dacă să anulați tranzacția sau nu.
Este justificată utilizarea adnotării @Transactional(readOnly=true) în această metodă?
Ce metode de tratare a excepțiilor ați folosit în aplicațiile Spring Boot?
Ce parametri are adnotarea @Transactional?
De ce este ales în mod implicit scope-ul singleton pentru beans și de ce crearea unui obiect este considerată o operație costisitoare?
Sarcină: există două microservicii, trebuie să transferați un tabel mare (peste 3 milioane de înregistrări) de la unul la altul (să faceți o copie locală). Cum ați implementa acest lucru, având în vedere că datele se pot schimba frecvent și este nevoie de tranzacționalitate (totul sau nimic)?