Java
Ի՞նչ կլինի, եթե մեկ դասում մի քանի դաշտ նշվեն volatile մոդիֆիկատորով։
Խոսեք ձեր վերջին աշխատավայրում (Lekton) ձեր աշխատանքային փորձի մասին։ Ինչով եք զբաղվել, ինչ տեխնոլոգիա եք օգտագործել։
Ի՞նչ է Saga դիզայնը, ինչպես է այն աշխատում և ինչու է անհրաժեշտ:
Ինդեքսները SQL-ում ի՞նչ են և ինչու են անհրաժեշտ: Որո՞նք են դրանց թերությունները։
Ինչպես պայքարել deadlock-ի դեմ պեսիմիստական արգելափակման ժամանակ?
/** * Մեթոդը հաշվում է, թե թեկնածուն քանի միավոր է վաստակել, * պահպանում է արդյունքը տվյալների բազայում և կանչում է callback արտաքին ծառայությունում */ public void process(Candidate c) { transactionTemplate.executeWithoutResult(status -> { Score s = interviewScoreMLService.compute(c); String body = objectMapper.writeValueAsString(Map.of(c.getName(), s)); Mono<ResponseEntity<Void>> request = WebClient.create() .post() .body(BodyInserters.fromValue(body)) .retrieve() .toBodilessEntity(); scoreRepository.saveScore(s); }); }
Ի՞նչ է կոդի սխալ վարքագծի հիմնական պատճառը: Օբյեկտների անփոփոխությունը խախտված է Կտրվածքի վիճակը կառավարված չէ Կապի պատճառով կատարողականությունը վատթարանում է Կապի օբյեկտների հակասությունը հանգեցնում է deadlock-ի Ավելորդ սինխրոնիզացիա ռեսուրսների Օբյեկտների սկզբնական վիճակները չեն սկսվելimport java.util.concurrent.*; class Competition { private final Object lock = new Object(); public void syncMethodA(Competition competitor) { synchronized (lock) { try { Thread.sleep(100); } catch (InterruptedException e) {} competitor.syncMethodB(this); } } public void syncMethodB(Competition competitor) { synchronized (lock) { try { Thread.sleep(100); } catch (InterruptedException e) {} competitor.syncMethodA(this); } } } public class FitnessApp { public static void main(String[] args) { Competition comp1 = new Competition(); Competition comp2 = new Competition(); Thread t1 = new Thread(() -> comp1.syncMethodA(comp2)); Thread t2 = new Thread(() -> comp2.syncMethodB(comp1)); t1.start(); t2.start(); } }
Ի՞նչ էր RPS-ի գագաթնակետին: Քանի՞ն է գրանցվել:
Կարող է ցանկացած օբյեկտ ավելացնել HashMap-ի որպես բանալի?
Ինչպե՞ս իրականացնել արագության սահմանափակում արտաքին API-ի համար, որը սահմանափակում է RPS-ով: Ինչպես տարբեր են վիրտուալ հոսքերը/կորուտինները համակարգային հոսքերից:
Ներկայացրեք տեխնիկական բարելավման օրինակ նախագիծում՝ բացի բիզնես-պարտականություններից.
Ի՞նչ է Kafka-ն և RabbitMQ-ն տարբերությունը։
Ինչպես կարդալ կոնկրետ գլխագիր (օրինակ, աշխատակցի համար) վերահսկիչում?
Ի՞նչ մոտեցումներ կան անապահով ինտեգրացիայի հետ գործ ունենալու համար, որը կարող է պատասխան չտալ մի քանի րոպեից մինչև մի օր:
Դուք ունեք փորձ BeanPostProcessor գրելու համար: Ի՞նչ գործառույթի համար։
Կաֆկայում իրադարձությունների հերթականությունը կարեւոր էր: Ինչպե՞ս էր ապահովվում:
[անուն] հարցրեց: Դուք այնտեղ աշխատանքային պայմանագրով աշխատե՞լ եք:
```java // 2 public class Interfaces { public static void main(String[] args) { A a = new A() {}; B b = new B() {}; AB ab = new AB(); a.print(); b.print(); ab.print(); } public interface A { default void print() { System.out.println("interface A"); } } public interface B extends A { default void print() { System.out.println("interface B"); } } public static class AB implements A, B { } } ```
պատմիր SAGA ձևի մասին՝ օրգանիզացիա և քորեոգրաֆիա։
Որ տեսակի ինդեքս օգտագործել միջին կամ վերջի տողը որոնելու համար (LIKE '%տեքստ%')?