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

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