გეცოდინება თუ როგორ გამორთო GC Java-ს პროგრამაში?
Java
შეისწავლეთ შესრულებისა და მეხსიერების გამოყენების განსხვავებები Java-ში int[] და Integer[] გამოყენებას შორის, განსაკუთრებით მოცემული კოდის ფრაგმენტის კონტექსტში: ```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]); } } ```
რა არის ამორტიზებული სირთულე?
დაწერეთ JUnit ტესტები RecommenderServiceImpl-ისთვის, რომლებიც დაფარავენ ძირითადი ფუნქციონალობას
რა არის race condition? როგორ დავამარცხოთ იგი? მიეცით მაგალითი და დაასახელეთ ბრძოლების მეთოდები Java-ში.
შენი რეალური გამოცდილებიდან GC ოპტიმიზაციის შესახებ ისაუბრე — იყო თუ არა ათეულწუთიანი პაუზები და როგორ ოპტიმიზირდი მათ?
/** * ორი რიცხვის ძიება მასივში, რომლის ჯამი თანხვედრია მოცემულ რიცხვს * <p> * დაწერეთ ფუნქცია, რომელიც იღებს პირველ არგუმენტად დადებით * არასწორად დალაგებულ რიცხვების მასივს * და მეორე არგუმენტად დადებით რიცხვს. * ფუნქციამ უნდა დააბრუნოს true, თუ მასივში * არსებობს 2 რიცხვი, რომლის ჯამიც მეორე არგუმენტს უდრის. * <p> * შესავალი: ([10, 15, 3, 7], 17) * გამოსავალი: true */
რა განსხვავებაა დაბინძურებული წაკითხვის (dirty read) და არასაიმედო წაკითხვის (non-repeatable read) შორის?
მითხარი დეტალურად, როგორ განსაზღვრება ობიექტის ხელმისაწვდომობა GC-ში.
რა არის საშუალო ალგორითმული სირთულე? შეგიძლია ახსნა და მიაწოდო მაგალითები სხვადასხვა სირთულეებით ალგორითმების?
რა მოხდება, თუ ერთ კლასში რამდენიმე ველი volatile მორგებულად იქნება მონიშნული?
როგორ შევასწოროთ დამოკიდებულებების ინვერსიის პრინციპის დარღვევა — შემოგთავაზეთ რეფაქტორინგი ცალკე შენახვის საშუალებით?
მიწოდეთ ტრანზაქციების კონსისტენციის (საერთო წესის) დარღვევის მაგალითი.
რომელ მეთოდებს იცნობთ ჰეშ-ტაბლებში შეჯახების გადაჭრისთვის?
დასახელეთ ორი Java-საკვანძო სიტყვა, რომლებიც გამოიყენება მრავალთრაკიანი დამუშავების კონტექსტში, და ახსენით, რატომ არის საჭირო volatile.