तुम्ही जावा प्रोग्रामरच्या पदासाठी मुलाखतीसाठी कधीही तयारी केली असेल किंवा कोणतीही प्रमाणपत्र परीक्षा उत्तीर्ण केली असेल (प्रोग्रामिंगसाठी आवश्यक नाही), तर तुम्ही कदाचित आधीच लक्षात घेतले असेल की तेथे विचारलेले प्रश्न अतिशय विशिष्ट आहेत. त्यापैकी बरेच जण तुम्हाला भाषेच्या रचनेबद्दल विचार करण्यास भाग पाडतात. काही तुमच्या ज्ञानाच्या खोलवर तपासणी करण्यासाठी डिझाइन केलेले आहेत. असे प्रश्न आहेत जे इतर कोणत्याही गोष्टीपेक्षा कोड्यासारखे दिसतात, तर इतर भाषेच्या बारकावेशी संबंधित आहेत जे अभ्यासाशिवाय समजणे फार कठीण आहे. या लेखात डेव्हलपर सरन्स सिंग , Java बद्दल असे काही प्रश्न मांडतात. उत्तरांसह, नक्कीच.
1. मी ट्राय/कॅच ब्लॉकमध्ये रिटर्न स्टेटमेंट किंवा System.exit() टाकल्यास काय होईल? हा एक अतिशय लोकप्रिय आणि सूक्ष्म जावा प्रश्न आहे. युक्ती अशी आहे की अनेक प्रोग्रामर मानतात की

finally
ब्लॉक नेहमी कार्यान्वित केला जातो. return
ब्लॉकमध्ये विधान ठेवून try/catch
किंवा ब्लॉकमधून कॉल करून System.exit()
, try/catch
प्रश्न या विश्वासावर शंका निर्माण करतो. या अवघड प्रश्नाचे उत्तर आहे: ब्लॉकमध्ये स्टेटमेंट ठेवल्यावर ब्लॉक finally
कार्यान्वित केला जाईल , परंतु ब्लॉकमधून कॉल केल्यावर तो कार्यान्वित केला जाणार नाही . 2. जावा एकाधिक वारसा समर्थन करते? हा खूप अवघड प्रश्न आहे. मुलाखत घेणारे सहसा विचारतात, "जर C++ डायरेक्ट मल्टिपल इनहेरिटन्सला सपोर्ट करते, तर Java का करू शकत नाही?" उत्तर _return
try/catch
System.exit()
try/catch
जावा बहुविध प्रकारच्या इनहेरिटन्सला सपोर्ट करत असल्याने ते वाटण्यापेक्षा थोडे अधिक क्लिष्ट आहे. शेवटी, जावा इंटरफेस इतर इंटरफेस वाढवू शकतो. ते म्हणाले, Java अंमलबजावणीच्या एकाधिक वारसास समर्थन देत नाही. 3. जर पालक वर्गातील एखादी पद्धत NullPointerException
s फेकते, तर ती s फेकणाऱ्या पद्धतीद्वारे ओव्हरराइड केली जाऊ शकते का RuntimeException
? ओव्हरलोडिंग आणि ओव्हरराइडिंगशी संबंधित हा आणखी एक अवघड प्रश्न आहे. उत्तर: ओव्हरराइड केलेली पद्धत सुरक्षितपणे NullPointerException
पालक वर्ग — RuntimeException ला फेकून देऊ शकते, परंतु तुम्ही चेक केलेल्या अपवाद प्रकार जसे की तसे करू शकत नाही Exception
. 4. थ्रेड्स डेडलॉकशिवाय संसाधनांमध्ये प्रवेश करू शकतात याची तुम्ही हमी कशी देता ?N
N
मल्टीथ्रेडेड कोड लिहिणे ही तुमची क्षमता नसल्यास, तुम्ही या प्रश्नावर खरोखर अडखळू शकता. डेडलॉक आणि शर्यतीच्या परिस्थितीचा सामना न केलेल्या अनुभवी प्रोग्रामरसाठी देखील हे कठीण असू शकते. येथे संपूर्ण युक्ती क्रमाने आहे: तुम्ही ज्या रिव्हर्स ऑर्डरमध्ये संसाधने प्राप्त केली होती त्या क्रमाने रिलीझ करून डेडलॉक रोखू शकता. 5. Java मधील वर्ग आणि वर्गांमध्ये काय फरक आहे ? StringBuffer
StringBuilder
हा एक क्लासिक Java भाषेचा प्रश्न आहे जो काही विकासकांना अवघड वाटतो आणि इतरांना - अगदी सोपा. StringBuilder
JDK 1.5 मध्ये वर्ग दिसला . या वर्गांमधील फरक एवढाच आहे की , , आणि , StringBuffer
सारख्या पद्धती समक्रमित केल्या जातात, तर संबंधित पद्धतीlength()
capacity()
append()
StringBuilder
नाही. या मूलभूत फरकाचा अर्थ असा आहे की स्ट्रिंग जोडणी StringBuilder
सह पेक्षा वेगवान आहे StringBuffer
. वास्तविक, वापरण्याची StringBuffer
शिफारस केलेली नाही, कारण 99% वेळा स्ट्रिंग जोडणी एकाच थ्रेडवर केली जाते. 6. अभिव्यक्ती 1.0/0.0 चे मूल्यांकन केल्याने काय परिणाम होतो? तो अपवाद किंवा संकलन त्रुटी निर्माण करेल? हा वर्गाबद्दलचा आणखी एक अवघड प्रश्न आहे . Java डेव्हलपर्सना आदिम दुहेरी डेटा प्रकार आणि वर्गाच्या अस्तित्वाची जाणीव आहे , परंतु फ्लोटिंग-पॉइंट ऑपरेशन्स करताना ते , , , आणि संबंधित अंकगणितीय गणना नियंत्रित करणार्या नियमांकडे पुरेसे लक्ष देत नाहीत . या प्रश्नाचे उत्तर सोपे आहे: अ
Double
Double
Double.POSITIVE_INFINITY
Double.NEGATIVE_INFINITY
NaN
-0.0
ArithmeticException
फेकले जाणार नाही; अभिव्यक्तीचे मूल्यमापन करते Double.POSITIVE_INFINITY
. 7. आधीपासून ती की असलेली की मध्ये तुम्ही की घालण्याचा प्रयत्न केल्यास काय होईल HashMap
? हा अवघड प्रश्न दुसर्या वारंवार विचारल्या जाणार्या प्रश्नाचा भाग आहे: HashMap
Java मध्ये कसे कार्य करते? HashMap
Java बद्दल गोंधळात टाकणारे आणि अवघड प्रश्नांचे लोकप्रिय स्त्रोत आहे. येथे उत्तर आहे: तुम्ही a मध्ये पुन्हा की समाविष्ट करण्याचा प्रयत्न केल्यास HashMap
, जुनी की बदलली जाईल, कारण HashMap
वर्ग डुप्लिकेट कीला परवानगी देत नाही. आणि त्याच कीला समान हॅश कोड मिळेल, याचा अर्थ ती हॅश बकेटमध्ये त्याच ठिकाणी संपेल. Quora सामग्रीवर आधारित
GO TO FULL VERSION