JavaRush /Java блогы /Random-KK /Сұхбаттарда жиі қойылатын күрделі Java сұрақтары

Сұхбаттарда жиі қойылатын күрделі Java сұрақтары

Топта жарияланған
Егер сіз Java-бағдарламашысы лауазымына сұхбаттасуға дайындалған болсаңыз немесе сертификат алу үшін кез келген емтиханды (міндетті түрде бағдарламалаудан емес) тапсырған болсаңыз, онда сіз олардың қоятын сұрақтарының өте нақты екенін байқаған боларсыз. Олардың көпшілігі тілдің архитектурасы туралы ойлануға мәжбүр етеді, кейбіреулері терең білімге арналған. Тәжірибесіз сезіну өте қиын басқатырғыштарға немесе нюанстарға көбірек ұқсайтындары да бар. Бұл мақалада әзірлеуші ​​Сараанс Сингх бірнеше Java сұрақтарын ұсынады. Әрине, жауаптармен. Сұхбатта жиі қойылатын күрделі Java сұрақтары - 11. try/catch блогына return немесе System.exit() операторын қойсаңыз не болады? Бұл Java тіліндегі өте танымал «қуып жету» сұрағы. Бұл қулық - көптеген бағдарламашылар блоктың finallyкез келген жағдайда орындалатынына сенеді. returnБұл сұрақ блокқа операторды орналастыру try/catchнемесе try/catchоператор блогынан шақыру арқылы осы тұжырымдамаға қарсы шығады System.exit (). Бұл күрделі сұраққа жауап: блок оператор блокқа finallyорналастырылған кезде орындалады және оператор блогынан шақырылғанда орындалмайды . 2. Java бірнеше мұраны қолдайды ма? Бұл өте күрделі сұрақ. Сұхбат берушілер жиі айтады: егер C++ тікелей бірнеше мұраны қолдаса, неге Java мүмкін емес? Жауап көрінгеннен сәл күрделірек, өйткені Java бірнеше типті мұраны қолдайды, өйткені ондағы интерфейс басқа интерфейстерді кеңейте алады. Бірақ Java тілі іске асырудың бірнеше мұралануын қолдамайды. 3. Әдіс ата-аналық сыныпта ерекше жағдайды шығаратын жағдайда , оны тастайтын әдіс арқылы қайта анықтауға болады ма ? Шамадан тыс жүктеу және бас тарту ұғымдарына қатысты тағы бір күрделі сұрақ. Жауап: Ата-аналық сыныптың ерекшелігін қайта анықталған әдісте қауіпсіз түрде шығаруға болады , бірақ түрдегі тексерілген ерекшелікпен бірдей әрекетті жасай алмайсыз . 4. Ағындардың ресурстарға тұйықталусыз қол жеткізе алатынына қалай кепілдік беруге болады? Егер сіз көп ағынды codeты жазуда өте жақсы болмасаңыз, бұл сұрақ сіз үшін өте қиын болады. Бұл тіпті тығырықтар мен жарыс жағдайларымен айналыспаған тәжірибелі бағдарламашы үшін де қиын болуы мүмкін. Мұндағы қулық тәртіпте: ресурстарды алынған кері тәртіпте босату арқылы тығырықтан құтылуға болады. 5. Класстардың Java тілінен айырмашылығы неде ?returntry/catchtry/catchSystem.exit ()NullPointerExceptionRuntimeExceptionNullPointerException – RuntimeExceptionExceptionNNStringBufferStringBuilder Java тілі туралы классикалық сұрақ, кейбір әзірлеушілер қиын, ал басқалары өте қарапайым деп санайды. Класс JDK 1.5 жүйесінде енгізілген және олардың арасындағы жалғыз айырмашылық мынада , мысалы, немесе StringBuilderсыныптың әдістері синхрондалады , ал сыныптың сәйкес әдістері жоқ. Осы негізгі айырмашылыққа байланысты жолды біріктіру -мен жылдамырақ . Іс жүзінде оны пайдалану ұсынылмайды, өйткені пайдалану жағдайларының 99% -ында жолды біріктіру бір жіпте орындалады. 6. 1,0/0,0 өрнегі нені қайтарады? Ол ерекше жағдайды шығарады немесе компиляция қатесін тудырады ма? Сынып туралы тағы бір күрделі сұрақ . Java әзірлеушілері екі қарапайым деректер түрін және класын білсе де , өзгермелі нүкте операцияларын орындаған кезде , -ға және олармен байланысты арифметикалық есептеулерді реттейтін ережелерге жеткілікті көңіл бөлмейді . Бұл сұрақтың жауабы қарапайым: ешқандай ерекшелік тасталмайды, мән қайтарылады . 7. Негізгі нысанды онда бұрыннан бар негізгі нысанға кірістіруге әрекеттенсеңіз не болады ? Бұл күрделі сұрақ басқа жиі қойылатын сұрақтың бөлігі болып табылады: олар Java тілінде қалай жұмыс істейді? Java тілі туралы түсініксіз және күрделі сұрақтарға арналған танымал тақырып. Жауап мынада, егер сіз кілтті ішіне қайта енгізуге тырыссаңыз , ол ескісін ауыстырады, себебі сынып қайталанатын кілттерге рұқсат бермейді. Және сол кілт бірдей хэш-codeты білдіреді, сондықтан ол хэш сегментінде бір жерде аяқталады. Quora материалдарына негізделгенStringBufferlength()capacity()append()StringBuilderStringBuilderStringBufferStringBufferDoubleDoubleDouble.INFINITYNaN-0.0ArithmeticExceptionDouble.INFINITYHashMapHashMapHashMapHashMapHashMap
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION