CodeGym /جاوا بلاگ /Random-SD /مٿيان 21 جاوا انٽرويو سوال
John Squirrels
سطح
San Francisco

مٿيان 21 جاوا انٽرويو سوال

گروپ ۾ شايع ٿيل
جاوا انٽرويو جا ڪيترائي سوال آهن ۽ اسان انهن سڀني کي هڪ مضمون ۾ گڏ نٿا ڪري سگهون. تنهن هوندي به هتي توهان ڳولي سگهو ٿا ڪجهه تمام عام جاوا انٽرويو سوالن جي مطابق، آئي ٽي ڪمپنين جي HR مينيجرز. مٿيان 21 جاوا انٽرويو سوال - 1
  1. "جڙڻ" public static void main(String args[]).

    هڪ مشهور جاوا انٽرويو سوالن لاءِ تازو، ۽ تمام آسان.

    • publicهڪ رسائي ترميمي آهي. اسان ان کي استعمال ڪريون ٿا هن طريقي جي رسائي جي وضاحت ڪرڻ لاءِ. هتي ترميم ڪندڙ آهي "عوامي"، تنهنڪري ڪنهن به طبقي کي هن طريقي تائين رسائي آهي.

    • static. هن جاوا لفظ جو مطلب آهي ته اسان هي طريقو استعمال ڪندا آهيون بغير ڪنهن ڪلاس جو نئون Object ٺاهي.

    • Voidواپسي جو طريقو آهي. ان جو مطلب اهو آهي ته طريقو ڪنهن به قدر واپس نٿو ڪري.

    • mainطريقو جو نالو آهي. JVM "ڄاڻي ٿو" ان کي ايپليڪيشن ۾ داخلا پوائنٽ جي طور تي (ان کي هڪ خاص دستخط هجڻ گهرجي). Mainهڪ طريقو آهي جتي مکيه عمل ٿئي ٿي.

    • String args[]. هي اهو پيٽرولر آهي جيڪو مکيه طريقي سان منظور ڪيو ويو آهي. هتي اسان وٽ String قسم جا دليل آهن جيڪي توهان جي جاوا ايپليڪيشن قبول ڪري ٿي جڏهن توهان ان کي هلائيندا آهيو. توھان انھن کي ٽرمينل تي ٽائيپ ڪري سگھو ٿا.

  2. equals()۽ جي وچ ۾ ڇا فرق آهي ==؟

    پهريون، " ==" هڪ آپريٽر آهي جڏهن ته equals()هڪ طريقو آهي. اسان ==آپريٽر استعمال ڪندا آهيون حوالن جي مقابلي لاءِ (يا ايڊريس موازن) ۽ equals()طريقو مواد جي مقابلي لاءِ. ان جو مطلب اهو آهي ته ==چيڪ ڪري ٿو ته ٻئي شيون ساڳئي ميموري جي جڳهه ڏانهن اشارو ڪن ٿا جڏهن ته equals()شين ۾ قدرن جي ڀيٽ ۾.

  3. ڇا اسان بغير طريقي جي پروگرام تي عمل ڪري سگھون ٿا main()؟

    ڪيترائي جاوا بنيادي انٽرويو سوال واقعي آسان آهن. هن وانگر. تنهنڪري مختصر جواب آهي: ها، اسان ڪري سگهون ٿا. مثال طور اسان اهو ڪري سگهون ٿا جامد بلاڪ استعمال ڪندي.

    توھان استعمال ڪري سگھوٿا جامد بلاڪ جامد ڊيٽا ميمبر کي شروع ڪرڻ لاءِ. اهو mainطريقو کان اڳ، ڪلاس لوڊ ڪرڻ جي وقت تي عمل ڪيو ويندو آهي.

    class Example{
     Static{
    System.out.println("static block is invoked");
    }
      public static void main(String args[]){
       System.out.println("Now main method");
      }
    }

    پيداوار آهي:

    static block is invoked
    Now main method
  4. مڪمل مکيه طريقي جي غير موجودگي بابت ڇا؟ جيڪڏهن توهان بنيادي طريقي جي بغير ڪنهن عام ڪلاس کي هلائڻ جي ڪوشش ڪندا آهيو، توهان کي ايندڙ غلطي ملي ٿي: مکيه طريقو ڪلاس ٽيسٽ ۾ نه مليو، مهرباني ڪري مکيه طريقي جي وضاحت ڪريو جيئن: عوامي جامد باطل مکيه (String [] args) يا JavaFX ايپليڪيشن ڪلاس کي وڌائڻ گهرجي javafx.application.Application. غلطي پاڻ چوي ٿي ته جيڪڏهن هي هڪ JavaFX ايپليڪيشن آهي ۽ ڪلاس javafx.application.Application مان ورثي ۾ مليل آهي، ته اهو ممڪن آهي.
  5. اعتراض ڇا آهي immutable؟ ڇا توهان immutableاعتراض ٺاهي سگهو ٿا؟

    توھان انھن جي ٺاھڻ کان پوء ھڪڙي طبقي جي شين کي تبديل نٿا ڪري سگھو immutable. تنهن ڪري هڪ دفعو توهان انهن کي ٺاهيو، توهان انهن کي تبديل نٿا ڪري سگهو. جيڪڏهن توهان Immutableاعتراض کي تبديل ڪرڻ جي ڪوشش ڪندا آهيو ته توهان هڪ نئون اعتراض (ڪلون) حاصل ڪندا آهيو ۽ هن ڪلون کي ٺاھڻ دوران تبديل ڪريو.

    ھڪڙو سٺو مثال آھي String، اھو immutableجاوا ۾ آھي. ان جو مطلب آهي ته توهان اعتراض کي تبديل نه ٿا ڪري سگهو، پر توهان اعتراض جي حوالي سان تبديل ڪري سگهو ٿا.

  6. هيٺ ڏنل ڪوڊ ۾ ڪيتريون شيون ٺهيل آهن؟

    جاوا ٽيڪنيڪل انٽرويو سوالن مان هڪ جيڪو متبادل ڪري ٿو #4.

    String s1="Hello";
    String s2="Hello";
    String s3="Hello";

    جواب آهي ”صرف هڪ“ ڇاڪاڻ ته جاوا وٽ اسٽرنگ پول آهي. جڏهن اسان نئين () آپريٽر کي استعمال ڪندي هڪ String آبجیکٹ ٺاهيندا آهيون، اهو هيپ ميموري ۾ هڪ نئون اعتراض ٺاهيندو آهي. جيڪڏهن اسان String لفظي نحو استعمال ڪندا آهيون، جهڙوڪ اسان جي مثال ۾، اهو شايد موجوده اعتراض کي واپس ڪري سگهي ٿو String پول مان، جيڪڏهن اهو اڳ ۾ ئي موجود آهي.

  7. هيٺ ڏنل ڪوڊ ۾ ڪيتريون شيون ٺهيل آهن؟

    String s = new String("Hello");

    اتي 2 شيون آهن. هڪ آهي تار مسلسل تلاءَ ۾ (جيڪڏهن اڳ ۾ ئي موجود نه هجي) ۽ ٻيو ڍير ۾ آهي.

  8. جاوا ۾ ڪلاس ۽ Stringڪلاسن ۾ ڇا فرق آهي ؟StringBuilderStringBuffer

    مٿين جاوا انٽرويو سوالن ۾ هڪ اڳواڻ آهي.

    سڀ کان پهريان Stringهڪ ناقابل قابل ڪلاس آهي. ان جو مطلب آهي ته توهان ان جي مواد کي هڪ ڀيرو ٺاهي نه ٿا سگهو. جڏهن ته StringBuffer۽ StringBuilderتبديل ٿيندڙ ڪلاس آهن، تنهنڪري توهان انهن کي بعد ۾ تبديل ڪري سگهو ٿا. جيڪڏهن اسان Stringاعتراض جي مواد کي تبديل ڪريون ٿا، اهو هڪ نئون اسٽرنگ ٺاهي ٿو، تنهنڪري اهو اصل ۾ تبديل نٿو ڪري. اهو ئي سبب آهي ته ڪارڪردگي سان گڏ StringBufferکان بهتر آهي String.

    وچ ۾ بنيادي فرق StringBuffer۽ StringBuilderان StringBufferجي طريقن کي هم وقت سازي ڪئي وئي آهي جڏهن ته StringBuilder's نه آهن.

  9. ڇا ان ۾ ڪو فرق آھي Stringجيڪو لفظي استعمال ڪندي ٺاھيو ويو ھو ۽ new()آپريٽر سان؟

    هتي آهي. جيڪڏهن اسان آپريٽر سان هڪ اسٽرنگ ٺاهيندا آهيون new()، اهو ظاهر ٿئي ٿو هيپ ۽ اسٽرنگ پول ۾ (جيڪڏهن اڳ ۾ موجود ناهي). جيڪڏھن توھان ٺاھيو Stringھڪڙو لفظي استعمال ڪندي، اھو ٺاھيو ويو اسٽرنگ پول ۾ (جيڪڏھن اڳ ۾ موجود نه آھي). هڪ اسٽرنگ پول ڍير جي اندر هڪ اسٽوريج علائقو آهي، جيڪو اسٽرنگ لٽرلز کي ذخيرو ڪري ٿو.

  10. ڇا توھان جاوا ۾ اوور رائيڊ privateيا طريقو ڪري سگھو ٿا؟static

    روڪيز لاءِ جاوا ٽرڪي انٽرويو سوالن مان هڪ. privateتوهان واقعي جاوا ۾ اوور رائڊ يا staticطريقو نٿا ڪري سگهو .

    توھان طريقن کي ختم نٿا ڪري سگھو privateڇو ته نجي رسائي جي وضاحت ڪندڙ جو دائرو صرف ڪلاس جي اندر آھي. جڏهن توهان ڪجهه اوور رائيڊ ڪرڻ وارا آهيو، اسان کي والدين ۽ ٻار جو طبقو هجڻ گهرجي. جيڪڏهن سپر ڪلاس جو طريقو آهي private، چائلڊ ڪلاس ان کي استعمال نٿو ڪري سگهي، ۽ چائلڊ ڪلاس ۾ طريقن کي نون طريقن طور سمجهيو ويندو (اوور رائڊ نه ڪيو ويو).

    Staticطريقن کي به ختم نٿو ڪري سگهجي، ڇاڪاڻ ته staticطريقا پاڻ طبقي جو حصو آهن، ۽ طبقي جي ڪنهن به شيء جو حصو نه آهن. يقينن توهان staticٻارن جي طبقن ۾ ساڳي دستخط سان ساڳي طريقي جو اعلان ڪري سگهو ٿا، پر ٻيهر، انهن کي نئين طريقن وانگر سمجهيو ويندو.

  11. وچ ۾ فرق Abstract Class۽Interface

    مشهور جاوا ڊولپر انٽرويو سوالن مان هڪ آهي جيڪو OOP اصولن تي ڀاڙي ٿو. سڀ کان پهريان، جاوا ۾ interfaceهڪ رويي کي بيان ڪري ٿو ۽ abstract classترتيب ڏئي ٿو.

    خلاصو طبقو انٽرفيس
    اهو ممڪن آهي ته هڪ طريقو جسم (غير تجريدي طريقا) تجريدي طبقي ۾ انٽرفيس ۾ صرف تجريدي طريقا ٿي سگھن ٿا. جاوا 8 يا جديد ۾، اهو ممڪن ٿيو ته ڊفالٽ طريقن کي بيان ڪرڻ ۽ انهن کي سڌو سنئون انٽرفيس ۾ لاڳو ڪرڻ. پڻ، جاوا 8 ۾ انٽرفيس جامد طريقا ٿي سگھن ٿا.
    مثال متغير خلاصي طبقي ۾ ٿي سگھي ٿو هڪ انٽرفيس مثالي متغير نه ٿي سگھي.
    ٺاهيندڙن کي اجازت آهي انٽرفيس ۾ ڪو به ٺاھڻ وارو نه آھي.
    جامد طريقن جي اجازت آهي جامد طريقن جي اجازت نه آهي
    ڪلاس صرف هڪ خلاصو والدين ٿي سگهي ٿو ھڪڙو انٽرفيس مختلف طبقن کي لاڳو ڪري سگھي ٿو
    خلاصو طبقو مهيا ڪري سگھي ٿو انٽرفيس تي عمل درآمد. انٽرفيس خلاصي طبقي جي نفاذ کي مهيا نٿو ڪري سگهي.
    هڪ خلاصي طبقي کي اجازت آهي ته ٻئي جاوا ڪلاس کي وڌائڻ ۽ ڪيترن ئي جاوا انٽرفيس کي لاڳو ڪرڻ. هڪ انٽرفيس کي اجازت آهي ته ٻئي جاوا انٽرفيس کي وڌايو وڃي.
    جاوا خلاصو ڪلاس خانگي ۽ محفوظ طبقي جا ميمبر ٿي سگھن ٿا جاوا انٽرفيس جا ميمبر ڊفالٽ طور عوامي آھن
  12. ڇا اسان ڪلاس static۾ متغير ۽ طريقن جو اعلان ڪري سگھون ٿا abstract؟

    ها، اهو ممڪن آهي ته staticمتغيرن ۽ طريقن کي abstractطريقن ۾ بيان ڪرڻ. جامد حوالن تائين رسائي حاصل ڪرڻ لاءِ اعتراض ڪرڻ جي ڪا ضرورت ناهي. تنهنڪري اسان کي اجازت ڏني وئي آهي ته ڪلاس جي اندر اعلان ڪيل جامد حوالي سان ڪلاس abstractجو نالو استعمال ڪندي abstract.

  13. JVM پاران ڪهڙي قسم جي ياداشت وارا علائقا مختص ڪيا ويا آهن؟

    ڪلاس ايريا اسٽور پرڪلاس ڍانچي، مثال طور، رن ٽائم مسلسل پول، فيلڊز، طريقي جي ڊيٽا، ۽ طريقن لاء سڀئي ڪوڊ.

    هيپ هڪ رن ٽائم ڊيٽا جو علائقو آهي جتي ميموري کي مختص ڪيو ويو آهي شيون.

    اسٽيڪ اسٽور فريم. اهو مقامي متغير ۽ جزوي نتيجن تي مشتمل آهي، ۽ طريقي جي دعوت ۽ واپسي ۾ حصو وٺندو آهي. هر سلسلي ۾ هڪ خانگي JVM اسٽيڪ آهي، هڪ ئي وقت تي ٺهيل آهي جيئن موضوع. ھڪڙو نئون فريم ٺاھيو ويندو آھي ھر دفعي ھڪڙي طريقي کي سڏيو ويندو آھي. هڪ فريم تباهه ٿي ويندو آهي جڏهن ان جي طريقي جي دعوت مڪمل ٿئي ٿي.

    پروگرام ڪائونٽر رجسٽر ۾ جاوا ورچوئل مشين جي ھدايت جو پتو شامل آھي جيڪو ھن وقت جاري ڪيو پيو وڃي.

    Native Method Stack ۾ اهي سڀئي اصلي طريقا شامل آهن جيڪي ايپليڪيشن ۾ استعمال ڪيا ويا آهن.

  14. جاوا ۾ گهڻن ورثي جي اجازت ڇو نه آهي؟

    اهو واقعي پيچيده هوندو. تصور ڪريو ٽن طبقن A، B۽ C۽ Cوارث A۽ B. ھاڻي، A۽ Bڪلاسن جو ھڪڙو ئي طريقو آھي ۽ توھان ان کي چائلڊ ڪلاس اعتراض مان سڏيندا آھيو... ڪھڙو؟ Aجي يا Bجي؟ هتي اسان وٽ ابهام آهي.

    جيڪڏهن توهان ٻن طبقن جا وارث ٿيڻ جي ڪوشش ڪندا آهيو جاوا رينڊر مرتب وقت جي غلطي.

  15. ڇا اسان main()طريقي سان اوور لوڊ ڪري سگھون ٿا؟

    mainيقينا، اسان کي اجازت ڏني وئي آهي جاوا پروگرام ۾ ڪيترائي طريقا استعمال ڪندي طريقي سان اوورلوڊنگ. ان کي آزمائي ڏس!

  16. ڇا اسان ھڪڙي ٺاھيندڙ جو اعلان ڪري سگھون ٿا final؟

    نه. هڪ تعمير ڪندڙ کي قرار نه ٿو ڏئي سگهجي finalڇاڪاڻ ته اهو وراثت نه ٿو ٿي سگهي. تنهن ڪري تعمير ڪندڙن کي قرار ڏيڻ بي معنيٰ آهي final. بهرحال، جيڪڏهن توهان اهو ڪرڻ جي ڪوشش ڪئي، جاوا ڪمپلر توهان کي هڪ غلطي اڇلائي ٿو.

  17. ڇا اسان انٽرفيس جو اعلان ڪري سگھون ٿا final؟

    نه، اسان اهو نٿا ڪري سگهون. هڪ انٽرفيس نٿو ٿي سگهي finalڇاڪاڻ ته انٽرفيس کي ان جي تعريف مطابق ڪجهه طبقي طرفان لاڳو ڪيو وڃي. تنهن ڪري، انٽرفيس ٺاهڻ جو ڪو احساس ناهي final. بهرحال، جيڪڏهن توهان ائين ڪرڻ جي ڪوشش ڪندا، مرتب ڪندڙ هڪ غلطي ڏيکاريندو.

  18. static binding۽ جي وچ ۾ ڇا فرق آهي dynamic binding؟

    جنهن bindingکي مرتب ڪرڻ واري وقت تي حل ڪري سگهجي ٿو، ان کي چئبو آهي staticابتدائي بائنڊنگ. Bindingسڀني جي static، private۽ finalطريقن سان گڏ ڪيل وقت تي ڪيو ويندو آهي.

    ڪمپيلر ۾ Dynamic bindingڪو طريقو نه چونڊيو وڃي ٿو سڏيو وڃي. Overriding جو هڪ مثالي مثال آهي dynamic binding. اوور رائيڊنگ ۾ والدين ۽ ٻار ٻنهي طبقن جو ساڳيو طريقو آهي.

    Static Binding
    class Cat{
     private void talk()
    {System.out.println("cat is mewing...");
    }
    
     public static void main(String args[]){
      Cat cat=new Cat();
      cat.talk();
     }
    }
    Dynamic Binding
    class Animal{
     void talk(){
    System.out.println("animal is talking...");
    }
    }
    
    class Cat extends Animal{
     void talk(){
    System.out.println("cat is talking...");
    }
     public static void main(String args[]){
      Animal animal=new Cat();
      animal.talk();
     }
    }
  19. جاوا ۾ صرف پڙهڻ لاءِ ڪلاس ڪيئن ٺاهيو؟

    توھان اھو ڪري سگھوٿا ڪلاس جي سڀني شعبن کي پرائيويٽ ڪرڻ سان. صرف پڙهيل طبقي وٽ صرف حاصل ڪرڻ وارا طريقا آهن جيڪي طبقي جي ذاتي ملڪيت کي واپس طريقي سان واپس آڻيندا آهن main. توھان ھن ملڪيت کي تبديل ڪرڻ جي قابل نه آھيو، ان جو سبب آھي سيٽرز جو طريقو.

    public class HockeyPlayer{
    private String team ="Maple leaf";
    public String getTeam(){
    return team;
    }
    }
  20. جاوا ۾ صرف لکڻ جو ڪلاس ڪيئن ٺاهيو؟

    ٻيهر، توهان کي سڀني طبقي جي شعبن کي ٺاهڻ گهرجي private. هاڻي، توهان جي لکڻ جي صرف ڪلاس ۾ صرف سيٽر طريقا هجڻ گهرجن ۽ نه حاصل ڪرڻ وارا. تنهن ڪري، اسان طبقي جي ملڪيتن کي نه پڙهي سگهون ٿا.

    public class HockeyPlayer{
    private String team;
    public void setTeam(String college){
    this.team = team;
    }
    }
  21. هر tryبلاڪ جي پٺيان هڪ بلاڪ هجڻ گهرجي catch، اهو نه آهي؟

    نه. اهو هڪ ضرورت نه آهي. هر tryبلاڪ بلاڪ کان سواء ٿي سگهي ٿو catch. اهو يا ته ڪيچ بلاڪ يا آخرڪار بلاڪ يا ان کان سواءِ به ٿي سگهي ٿو.

    public class Main{
         public static void main(String []args){
            try{
                int variable = 1;
                System.out.println(variable/0);
            }
            finally
            {
                System.out.println("the other part of the program...");
            }
         }
    }

    پيداوار:

    Exception in thread main java.lang.ArithmeticException:/ by zero
    the other part of the program...

    هڪ وڌيڪ مثال:
    class Main {
            public static void main(String[] args) throws IOException {
                try(InputStreamReader inputStreamReader = new InputStreamReader(System.in);
                    BufferedReader reader = new BufferedReader(inputStreamReader)){
                    System.out.println("test");
                }
            }
        }

    پيداوار:

    test

    پي ايس: جاوا کان اڳ 8 انٽرفيس ۾ طريقا صرف خلاصا ٿي سگھن ٿا. جاوا 8 يا جديد ۾، اهو ممڪن ٿيو ته ڊفالٽ طريقن کي بيان ڪرڻ ۽ انهن کي سڌو سنئون انٽرفيس ۾ لاڳو ڪرڻ.
  22. throwلفظن ۽ لفظن جي وچ ۾ ڇا فرق آهي throws؟

    Throwsاستعمال ڪيو ويندو آهي هڪ استثناء جو اعلان ڪرڻ لاء، تنهنڪري اهو ڪم ڪري ٿو بلاڪ وانگر try-catch. Throwلفظ استعمال ڪيو ويندو آھي ھڪڙي استثناءَ کي واضح طور تي ھڪڙي طريقي يا ڪوڊ جي ڪنھن ٻئي بلاڪ مان.

    Throwڪلاس جي هڪ مثال جي پٺيان آهي Exception۽ throws جي پٺيان آهي استثنا طبقي جا نالا.

    Throwطريقو جسم ۾ استعمال ڪيو ويندو آهي استثنا اڇلائڻ لاء. Throwsاستعمال ڪيو ويندو آھي ھڪڙي طريقي جي دستخط ۾ استثناء جو اعلان ڪرڻ لاءِ جيڪو ٿي سگھي ٿو طريقي ۾ موجود بيانن ۾.

    ان کي اجازت آهي ته هڪ وقت ۾ هڪ استثنيٰ اڇلائي پر توهان ڪيترن ئي استثنان کي سنڀالي سگهو ٿا انهن کي throwلفظ استعمال ڪندي اعلان ڪندي. توهان ڪيترن ئي استثنان جو اعلان ڪري سگهو ٿا، مثال طور، public void method()throws IOException, SQLException.

هتي اسان وٽ صرف چند جاوا انٽرويو سوال ۽ جواب هئا. هي مضمون انٽرويو سيريز جو پهريون آهي. ايندڙ هڪ (جلد اچي رهيو آهي) ڊيٽا جي جوڙجڪ جي سوالن بابت آهي.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION