თუ თქვენ GC-ს პროექტირებთ, რა მიდგომებს იცით ნაგვის შეგროვების შესახებ გარდა მისაღწევობის გრაფის გადავლენის?
Java
Deadlock რა არის? როგორ განსხვავდება race condition-დან? როგორ თავიდან ავიცილოთ deadlock, თუნდაც შეუძლებელი იყოს ლოკების აღების წესის წინასწარი განსაზღვრა?
In-memory შენახვის გამოყენებით, getTop(User user, int limit) და addDocument(Document document) მეთოდებით RecommenderService-ის განხორციელება
სიგნალის რა წონა აქვს? ეს რა არის?
სტეკი და ჰიპი რა მიზნით არის საჭირო? რა განსხვავებაა?
რატომ დაეცა ტესტი NullPointerException-ით და როგორ უნდა გამოსწორდეს?
რა არის heap (ჰიპ)?
როგორ ხდება ობიექტების წაშლა heap-დან Java-ში? ისაუბრე 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? რა გამოიყენეი სთრიმ-უსაფრთხო გამოთვლილის განსახორციელებლად synchronized-ის ნაცვლად?
რა პრობლემა შეიძლება წარმოიშვას წარმოების გარემოში, როდესაც რამდენიმე REST-შეტყობინება ერთდროულად მიმართავს სერვისს?
რა უარყოფითი მხარეები აქვს მიმდინარე მიდგომას, როდესაც ყოველი getTop-ის გამოძახებისას მთელი სია სორტირებულია?
როგორ ჩნდება primitive სტეკში და როგორ heap-ში?
/** * ორი რიცხვის მოძებნა მასივში, რომლის ჯამი უდრის მოცემულ რიცხვს * <p> * დაწერეთ ფუნქცია, რომელიც პირველ არგუმენტად იღებს არალაგებულ დადებით რიცხვებს შორის მასივს * და მეორე არგუმენტად დადებით რიცხვს. ფუნქციამ უნდა დააბრუნოს true, თუ მასივში * არსებობს 2 რიცხვი, რომლის ჯამიც მეორე არგუმენტს უდრის. * <p> * შესავალი: ([10, 15, 3, 7], 17) * გამოსავალი: true */
როგორ სწორად განვახორციელოთ დამოკიდებულებები (Dependency Injection) სერვისში — რა მიდგომა არის უმჯობესია?
განმარტეთ ACID-ის აბრევიატურა და ახსენით თითოეული თვისება.
Unix ოჯახის ოპერაციული სისტემებში fork სისტემური ზარი რა არის?