Java
Ինչպե՞ս կկազմեք փոխազդեցությունը օգտագործողի հարցումները ընդունող ծառայության-ֆասադի և հաշվետվությունների պատրաստման ծառայության միջև (երկարատև գործողություն):
Ի՞նչ տեսակների ինդեքսներ օգտագործվեցին: Կային արդյոք բացասական ծախսեր ինդեքսների պատճառով:
@Transactional նշված մեթոդների կանչման առանձնահատկությունները։ Սելֆ-կոչի խնդիր։
Կարո՞ղ է JSON-ը վերլուծել առանց նախապես DTO դասի ստեղծելու: Դա ինչպես կարող է выгляստալ?
Որտե՞ղ է գալիս իրադարձությունը Kafka-ում: Ով է ասում, որ պետք է հաշվարկը կատարել?
Ինչպե՞ս կբաշխվի թեմաների և բաժինների ընթերցումը Processing Service (չափաբաժանման) օրինակների միջև։
Ի՞նչ է Compare-and-Swap (CAS) բազմատողային ծրագրավորման մեջ: Ինչու է այն օգտագործվում?
Ինչպես է աշխատում HashMap-ը?
Կա՞ք տեխնիկական փաստաթղթերի, ցուցումների, ուղեցույցների, runbook-ների գրելու փորձ։
Ինչպե՞ս փոխվեց հիշողության սպառումը: Պետք էր արդյոք ինչ-որ բան կարգավորել?
Ի՞նչ աղբահանման հավաքողներ (Garbage Collectors) եք գիտեք Java-ում: Կա՞ն առաջարկություններ տարբեր տեսակների օգտագործման համար։
Ինչպե՞ս կազմակերպել ընդհանուր TestContainer մի քանի թեստային դասերի համար առանց նրանց միջև կանգնելու։
class Person { String firstName; String lastName; Integer age; } Անհրաժեշտ է իրականացնել ստանդարտ մեթոդ, որը համեմատում է երկու Person օբյեկտներ։
```java import java.util.*; import java.lang.*; import java.io.*; class Codechef { public static void main (String[] args) throws java.lang.Exception { var autoNumbers = List.of(List.of("A123BC", "B421FT"), List.of("O543EC","B421FT", "I222OA")); autoNumbers.stream().flatMap(Collection::stream).forEach(System.out::println); Map<String, String> numberMap = autoNumbers.stream().flatMap(Collection::stream).collect(Collectors.toMap( n -> n, n -> n.replaceAll("[^0-9]", ""))); System.out.println(numberMap); } }
Համեմատեք հետևյալ կոդի հատվածների կատարողականությունը, որոնք պատճենում են տարրերը Integer զանգվածից int զանգված և հակառակը, ներառյալ այն դեպքը, երբ ստեղծվում են նոր Integer օբյեկտներ int արժեքներից: ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { x[i] = y[i]; } } ``` ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { y[i] = x[i]; } } ``` ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { y[i] = new Integer(x[i]); } } ``` Ներլուծեք և բացատրեք այս մոտեցումների կատարողականության և վարքագծի տարբերությունները։
Կարո՞ղ եք օգտագործել զանգված որպես բանալի HashMap-ում: Ինչու դա վատ գաղափար է?
Եթե ժամանակին չեք հասցրել, ինչ արեցիք?
Կատարեք LRU կեշ՝ հնացած արժեքների արտաքսմամբ (հիմնական իրականացում)
Որ հերթականությամբ պետք է տեղադրեք catch բլոկները (օրինակ, FileNotFoundException և IOException)?
Ի՞նչ է final բլոկը: Ի՞նչ է try-with-resources-ը։