جيڪڏهن توهان ڪڏهن به جاوا پروگرامر جي پوزيشن لاءِ انٽرويو لاءِ تيار ڪيو آهي يا سرٽيفڪيٽ حاصل ڪرڻ لاءِ ڪو امتحان (ضروري ناهي ته پروگرامنگ ۾) ورتو هجي، ته پوءِ گهڻو ڪري توهان اڳ ۾ ئي محسوس ڪيو هوندو ته اهي سوال جيڪي پڇندا آهن اهي تمام مخصوص آهن. انھن مان گھڻا توھان کي ٻوليءَ جي فن تعمير جي باري ۾ سوچڻ تي مجبور ڪن ٿا، ڪجھ گہرا ڄاڻ لاءِ ٺاھيا ويا آھن. اهي پڻ آهن جيڪي وڌيڪ پزل وانگر آهن يا ڳڻتيون آهن جيڪي مشق کان سواء محسوس ڪرڻ تمام ڏکيو آهن. هن آرٽيڪل ۾، ڊولپر سارن سنگھ ڪيترن ئي جاوا سوالن کي مهيا ڪري ٿو. جوابن سان، يقينا. 1. ڇا ٿيندو جيڪڏھن توھان واپسي يا System.exit() بيان کي ڪوشش/ڪيچ بلاڪ ۾ رکو؟ هي جاوا ۾ هڪ تمام مشهور "پڪڙڻ" سوال آهي. چال اهو آهي ته ڪيترن ئي پروگرامرن کي يقين آهي ته بلاڪ
finally
ڪنهن به صورت ۾ عمل ڪيو ويندو. return
هي سوال هن تصور کي چئلينج ڪري ٿو هڪ بيان کي بلاڪ ۾ رکڻ try/catch
يا هڪ try/catch
بيان بلاڪ کان ڪال ڪندي System.exit ()
. هن مشڪل سوال جو جواب: بلاڪ تي finally
عمل ڪيو ويندو جڏهن هڪ بيان return
بلاڪ ۾ رکيل آهي try/catch
، ۽ عمل نه ڪيو ويندو جڏهن try/catch
بيان بلاڪ مان سڏيو ويندو System.exit ()
. 2. ڇا جاوا ڪيترن ئي ورثي جي حمايت ڪري ٿو؟ هي هڪ تمام مشڪل سوال آهي. انٽرويو وٺندڙ اڪثر چوندا آهن: جيڪڏهن C++ سڌو سنئون گهڻن ورثي جي مدد ڪري سگهي ٿو، جاوا ڇو نه ٿو ڪري سگهي؟ جواب ٿورڙو وڌيڪ پيچيده آهي ان کان وڌيڪ لڳي سگھي ٿو، ڇاڪاڻ ته جاوا ڪيترن ئي قسمن جي ورثي کي سپورٽ ڪري ٿو، ڇاڪاڻ ته ان ۾ هڪ انٽرفيس ٻين انٽرفيس کي وڌائي سگھي ٿو. پر جاوا ٻولي لاڳو ڪرڻ جي ڪيترن ئي ورثي کي سپورٽ نٿو ڪري. 3. ان صورت ۾ جتي هڪ طريقو NullPointerException
والدين طبقي ۾ هڪ استثنا اڇلائي ٿو، ڇا ان طريقي کي ختم ڪري سگهجي ٿو جيڪو اڇلائي ٿو RuntimeException
؟ اوور لوڊنگ ۽ اوور رائيڊنگ جي تصورن سان لاڳاپيل هڪ ٻيو مشڪل سوال. جواب: توهان محفوظ طور تي هڪ والدين طبقي جي استثنا کي اوور رائڊ ٿيل طريقي سان اڇلائي سگهو ٿا NullPointerException – RuntimeException
، پر توهان اهو نه ٿا ڪري سگهو قسم جي چڪاس ٿيل استثنا سان Exception
. 4. ڪيئن گارنٽي ڏجي ته ٿريڊز بغير ڪنهن وقفي جي وسيلن تائين رسائي ڪري سگهن ٿا ؟ N
N
جيڪڏهن توهان گھڻا موضوع واري ڪوڊ لکڻ ۾ تمام سٺو نه آهيو، اهو سوال توهان لاءِ واقعي مشڪل هوندو. اهو مشڪل ٿي سگهي ٿو جيتوڻيڪ هڪ تجربيڪار پروگرامر لاءِ جنهن ڊيل لاڪ ۽ نسل جي حالتن سان معاملو نه ڪيو آهي. هتي چال آرڊرنگ ۾ آهي: ريورس آرڊر ۾ وسيلن کي آزاد ڪرڻ سان تعطل کي روڪي سگهجي ٿو جنهن ۾ اهي حاصل ڪيا ويا. 5. ڪلاس ۽ جاوا ٻولي ۾ ڇا فرق آهي ؟StringBuffer
StringBuilder
جاوا ٻولي جي باري ۾ هڪ کلاسک سوال، ڪجهه ڊولپرز طرفان مشڪل ۽ ٻين طرفان تمام سادو سمجهيو ويندو آهي. ڪلاس StringBuilder
JDK 1.5 ۾ متعارف ڪرايو ويو ۽ انهن جي وچ ۾ فرق صرف اهو آهي ته طبقي جا طريقا StringBuffer
، مثال طور، length()
يا capacity()
، append()
هم وقت سازي ٿيل آهن، جڏهن ته طبقي جا لاڳاپيل طريقا StringBuilder
نه آهن. ھن بنيادي فرق جي ڪري، اسٽرنگ ڪنٽينشن StringBuilder
تيزيءَ سان آھي StringBuffer
. حقيقت ۾، StringBuffer
اهو استعمال ڪرڻ جي سفارش نه ڪئي وئي آهي، ڇاڪاڻ ته 99٪ استعمال جي ڪيسن ۾، اسٽرنگ ڪنٽينشن ساڳئي سلسلي تي ڪيو ويندو آهي. 6. اظهار 1.0/0.0 واپسي ڇا ڪندو؟ ڇا اهو هڪ استثنا اڇلائي ڇڏيندو يا هڪ تاليف جي غلطي جو سبب بڻائيندو؟ ڪلاس بابت هڪ ٻيو مشڪل سوال Double
. جيتوڻيڪ جاوا ڊولپرز سادو ڊيٽا ٽائپ ڊبل ۽ ڪلاس کان واقف هوندا آهن Double
، جڏهن فلوٽنگ پوائنٽ آپريشن ڪندا آهن، اهي Double.INFINITY
, NaN
, -0.0
۽ انهن قاعدن تي ڪافي ڌيان نه ڏيندا آهن جيڪي انهن سان لاڳاپيل رياضي جي حسابن کي سنڀاليندا آهن. هن سوال جو جواب سادو آهي: ڪابه استثنا نه ArithmeticException
ڏني ويندي، قيمت واپس ڪئي ويندي Double.INFINITY
. 7. ڇا ٿيندو جيڪڏهن توهان HashMap
هڪ اهم شئي کي هڪ اهم شئي ۾ داخل ڪرڻ جي ڪوشش ڪئي جيڪا اڳ ۾ ئي موجود آهي؟ هي مشڪل سوال هڪ ٻئي اڪثر پڇيا ويا سوال جو حصو آهي: اهي HashMap
جاوا ۾ ڪيئن ڪم ڪن ٿا؟ HashMap
جاوا ٻولي جي باري ۾ مونجهاري ۽ مشڪل سوالن لاءِ هڪ مشهور موضوع آهي. جواب اهو آهي ته جيڪڏهن توهان هڪ ڪنجي کي ٻيهر داخل ڪرڻ جي ڪوشش ڪئي ته HashMap
، اهو پراڻي کي تبديل ڪري ڇڏيندو ڇو ته ڪلاس HashMap
ڊپليڪيٽ ڪنجين جي اجازت نٿو ڏئي. ۽ ساڳي چاٻي جو مطلب آهي ساڳيو هيش ڪوڊ، تنهن ڪري اهو ختم ٿي ويندو ساڳي جاءِ تي هيش سيگمينٽ ۾. Quora مان مواد جي بنياد تي
GO TO FULL VERSION