Եթե դուք նախագծում եք GC, ի՞նչ մոտեցումներ եք գիտակցում աղբահանության հավաքման բացի հասանելիության գրաֆի շրջագայությունից։
Java
Ինչ է deadlock-ը: Ինչպե՞ս է այն տարբերվում race condition-ից: Ինչպե՞ս խուսափել deadlock-ից, նույնիսկ եթե հնարավոր չէ նախապես որոշել լոկերի գրավման կարգը։
Կիրառեք RecommenderService-ը, օգտագործելով getTop(User user, int limit) և addDocument(Document document) մեթոդները, հիշողության մեջ պահեստի միջոցով
Ինշատորի քաշը որքան է? Ի՞նչ է դա?
Ի՞նչ է անհրաժեշտ ստեկը և ինչու է անհրաժեշտ հիպը: Ի՞նչ տարբերություն կա։
Ինչու է թեստը ձախողվել NullPointerException-ով և ինչպես դա շտկել?
Ինչ է heap (հիպ)?
Ինչպես է Java-ում տեղի ունենում օբյեկտների հեռացումը heap-ից: Խոսեք Garbage Collector-ի մասին։
Համեմատեք հետևյալ կոդի հատվածների կատարողականությունը, որոնք պատճենում են տարրերը 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]); } } ``` Ներլուծեք և բացատրեք այս մոտեցումների կատարողականության և վարքագծի տարբերությունները։
Որ SOLID սկզբունքը խախտվում է ներկայիս իրականացման մեջ, որտեղ ծառայությունը խիստ կապված է կոնկրետ պահեստավորման իրականացման հետ (ArrayList)?
Ի՞նչ մեթոդներ եք ճանաչում Unix օպերացիոն համակարգի ինտերֆեյսների մակարդակով հաղորդագրությունների փոխանցման (IPC) համար:
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]); } }
Ինչու է անհրաժեշտ synchronized-ը: Ինչի համար կօգտագործեիր thread-անվտանգ հաշվողը synchronized-ի փոխարեն?
Ի՞նչ խնդիր կարող է առաջանալ արտադրական միջավայրում՝ միաժամանակ մի քանի REST-հայցերով ծառայությանը մուտք գործելիս։
Ի՞նչ թերություններ ունի ներկայիս մոտեցումը, երբ ամեն անգամ getTop-ը կանչելիս ամբողջ ցուցակը դասակարգվում է։
Ինչպե՞ս է հայտնվում primitive-ը stack-ում և ինչպես heap-ում։
/** * Երկու թիվ որոնել զանգվածում, որոնց գումարը հավասար է տրված թվին * <p> * Գրեք ֆունկցիա, որը որպես առաջին արգումենտ ընդունում է ոչ դասավորված դրական թվեր պարունակող զանգված * և որպես երկրորդ արգումենտ՝ դրական թիվ։ Ֆունկցիան պետք է վերադարձնի true, եթե զանգվածում * կա 2 թիվ, որոնց գումարը հավասար է երկրորդ արգումենտին։ * <p> * Մուտք: ([10, 15, 3, 7], 17) * Ելք: true */
Ինչպես ճիշտ ներդնել կախվածությունները (Dependency Injection) ծառայությունում — ո՞ր մոտեցումն է նախընտրելի?
Անգլերեն ACID կրճատման բացատրությունը և յուրաքանչյուր հատկության բացատրությունը։
Ի՞նչ է Unix ընտանիքի օպերացիոն համակարգերի համակարգային կանչը fork-ը։