Java
Դո՞ք սա բավարար է թելային անվտանգության համար, եթե դասում երկու դաշտ կա invariants-ով (մեկը խիստ փոքր է մյուսից), յուրաքանչյուրը պաշտպանված է AtomicInteger-ով։
Ինչպես ապահովել բաժանված գործարք մի քանի ծառայությունների վրա?
Դուք ունե՞ք հերթերի օգտագործման փորձ ձեր նախագծերում։
Կարող եք տալ կոդում ստատիկ բլոկի օգտագործման օրինակ?
Արդյո՞ք անհրաժեշտ է բաժանել աղյուսակները մասերի (sharding)՝ հարցումների արագությունը բարձրացնելու համար։
Որո՞նք են Protocol Buffer-ով տվյալների սերիալիզացիայի առավելությունները և թերությունները։
@Transactional-ի օգտագործման առանձնահատկությունները Spring-ում: Տրանսակցիաների մեկուսացման մակարդակները։
Պատմեք, թե ինչպես էր կազմակերպված ձեր նախորդ աշխատանքի վայրում զարգացման գործընթացը՝ բիզնեսի կարիքից մինչև թողարկում։
Ինչպե՞ս է իրականացվում փոխանցումների աջակցությունը @Transactional նշանով Spring Framework-ում։
Դու աշխատե՞լ եք ձեր նախագծերում Spring Data և Hibernate ինտեգրացիայի հետ։
Երբ և ինչպես են կանչվում ստատիկ ֆունկցիաները՝ օբյեկտում կամ դասում?
Դուք ունե՞ք փորձ Data API-ի մեջ parallel մեթոդի օգտագործման համար տվյալների հոսքի համար։
Ինչպես է որոշվում Bean օբյեկտի տեսադաշտը ստանդարտ պայմաններում ըստ նախնական կարգավորումների?
Կարող եք բացատրել @SpringBootTest նշանի գործողության մեխանիզմը Spring Boot-ի թեստերում?
Ի՞նչ մոտեցումներ կան անապահով ինտեգրացիայի հետ գործ ունենալու համար, որը կարող է պատասխան չտալ մի քանի րոպեից մինչև մի օր:
Ի՞նչ է կատարողականության տարբերությունը հիմնական տվյալների տեսակների և նրանց օբյեկտային պատյանների օգտագործման միջև։
Համեմատեք հետևյալ կոդի հատվածների կատարողականությունը, որոնք պատճենում են տարրերը 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]); } } ``` Ներլուծեք և բացատրեք այս մոտեցումների կատարողականության և վարքագծի տարբերությունները։
Կարող եք օգտագործել ձեր նախագծերում ExecutorService կոմպոնենտը թելերի կառավարում համար?
Ինչպե՞ս է կատարվում արտահայտությունների մշակումը Java-ում Stream հոսքերի կատարման ժամանակ։
Որ հոսքերով? (հստակեցնող հարց՝ մուտք/արտահոսքերի հիշատակումից հետո)