Skill

জাভা ইন্টারভিউ প্রশ্ন (Java Interview Questions)

958

Java ইন্টারভিউয়ের জন্য প্রস্তুতি নেওয়ার সময় কিছু সাধারণ এবং প্রয়োজনীয় প্রশ্নগুলোর উপর মনোনিবেশ করা গুরুত্বপূর্ণ। এখানে কিছু সাধারণ Java ইন্টারভিউ প্রশ্ন দেওয়া হলো যা আপনি প্রস্তুতি নিতে ব্যবহার করতে পারেন:


Java ইন্টারভিউ প্রশ্ন: বাংলা টিউটোরিয়াল

Java প্রোগ্রামিং ভাষার উপর ইন্টারভিউ প্রস্তুতি নিতে কিছু সাধারণ ও গুরুত্বপূর্ণ প্রশ্নের উত্তর সম্পর্কে জেনে রাখা অত্যন্ত গুরুত্বপূর্ণ। নিচে জাভা সম্পর্কিত কিছু গুরুত্বপূর্ণ প্রশ্ন এবং তাদের উত্তর দেওয়া হলো, যা ইন্টারভিউতে সহায়ক হতে পারে।

১. জাভা কী?

Java হলো একটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা যা Sun Microsystems (বর্তমানে Oracle) দ্বারা তৈরি। এটি সাধারণত Write Once, Run Anywhere (WORA) ধারণায় কাজ করে, যার মানে হলো, একবার কোড লিখে সেটি যে কোনো প্ল্যাটফর্মে রান করা সম্ভব।

২. জাভার প্রধান বৈশিষ্ট্যগুলি কী কী?

  • প্ল্যাটফর্ম ইন্ডিপেন্ডেন্সি: একবার কোড কম্পাইল করে, যে কোনো অপারেটিং সিস্টেমে রান করা যায়।
  • অবজেক্ট-ওরিয়েন্টেড: জাভা একটি অবজেক্ট-ওরিয়েন্টেড ভাষা, যা কোডের পুনরায় ব্যবহার এবং সংগঠন সহজ করে।
  • সিম্পল এবং নিরাপদ: জাভার সিনট্যাক্স সহজ, এবং এটি নিরাপদভাবে মেমরি ম্যানেজমেন্ট পরিচালনা করতে সক্ষম।
  • গারবেজ কালেকশন: মেমরি ব্যবস্থাপনার জন্য জাভাতে স্বয়ংক্রিয় গারবেজ কালেকশন রয়েছে।

৩. JDK, JRE এবং JVM এর মধ্যে পার্থক্য কী?

  • JDK (Java Development Kit): Java ডেভেলপমেন্টের জন্য প্রয়োজনীয় টুল, যেমন কম্পাইলার ও লাইব্রেরি।
  • JRE (Java Runtime Environment): JVM এবং প্রয়োজনীয় লাইব্রেরি ও অন্যান্য ফাইল নিয়ে গঠিত, যা জাভা প্রোগ্রাম চালানোর জন্য প্রয়োজন।
  • JVM (Java Virtual Machine): এটি Java কোড এক্সিকিউট করার জন্য দায়ী এবং এটি Java Bytecode কে মেশিন কোডে রূপান্তর করে।

৪. অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর মূল ধারণাগুলি কী কী?

  • ইনহেরিটেন্স (Inheritance): একটি ক্লাস অন্য একটি ক্লাস থেকে প্রোপার্টিজ ও মেথড গ্রহণ করতে পারে।
  • পলিমরফিজম (Polymorphism): একাধিক রূপে কাজ করার ক্ষমতা।
  • ইনক্যাপসুলেশন (Encapsulation): ডেটা এবং মেথডকে একটি ইউনিট হিসেবে প্যাক করা।
  • অ্যাবস্ট্রাকশন (Abstraction): কেবলমাত্র প্রয়োজনীয় তথ্য প্রদর্শন করা এবং অপ্রয়োজনীয় তথ্য লুকানো।

৫. জাভাতে অবজেক্ট এবং ক্লাস এর মধ্যে পার্থক্য কী?

  • ক্লাস হলো একটি টেম্পলেট বা ব্লুপ্রিন্ট যা অবজেক্ট তৈরি করতে ব্যবহৃত হয়।
  • অবজেক্ট হলো একটি ক্লাসের ইনস্ট্যান্স, যা ক্লাসে সংজ্ঞায়িত বৈশিষ্ট্য এবং কার্য সম্পাদন করতে পারে।

৬. জাভাতে স্ট্যাটিক কীওয়ার্ড কী?

স্ট্যাটিক কীওয়ার্ডটি কোনো মেথড, ভেরিয়েবল, বা ব্লকের সাথে ব্যবহার করা হয়, যা ক্লাসের জন্য সাধারণত থাকে, অর্থাৎ এটি অবজেক্ট তৈরি না করেই অ্যাক্সেস করা যায়।

৭. জাভাতে ফাইনাল কীওয়ার্ড কী?

  • ফাইনাল ভেরিয়েবল: মান একবার সেট করা হলে আর পরিবর্তন করা যায় না।
  • ফাইনাল মেথড: এই মেথডটি সাবক্লাস দ্বারা ওভাররাইড করা যাবে না।
  • ফাইনাল ক্লাস: এই ক্লাসটি অন্য কোনো ক্লাস ইনহেরিট করতে পারবে না।

৮. জাভাতে গারবেজ কালেকশন কী?

গারবেজ কালেকশন হলো একটি প্রক্রিয়া, যা অব্যবহৃত অবজেক্টগুলিকে মেমরি থেকে স্বয়ংক্রিয়ভাবে সরিয়ে মেমরি মুক্ত করে। এটি জাভাতে System.gc() মেথড ব্যবহার করে ডেকে আনা যায়।

৯. অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং বনাম প্রসেডিউরাল প্রোগ্রামিং-এর মধ্যে পার্থক্য কী?

  • অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP): এটি অবজেক্টের মাধ্যমে কোড সংগঠিত করে এবং পুনরায় ব্যবহারযোগ্য করে। উদাহরণ: Java, C++
  • প্রসেডিউরাল প্রোগ্রামিং: এটি কোডকে ফাংশনের মাধ্যমে বিভক্ত করে। উদাহরণ: C, Pascal

১০. জাভাতে কনস্ট্রাক্টর কী?

কনস্ট্রাক্টর হলো একটি বিশেষ ধরনের মেথড, যা কোনো ক্লাসের অবজেক্ট তৈরি করার সময় আহ্বান করা হয়। এটি অবজেক্টকে আরম্ভ করার জন্য ব্যবহার করা হয় এবং এর নাম ক্লাসের নামের মতো হয়।

১১. জাভাতে ইনহেরিটেন্স কী এবং এর প্রকারভেদ কী?

ইনহেরিটেন্স হলো একটি ক্লাস থেকে অন্য একটি ক্লাস প্রোপার্টিজ এবং মেথড গ্রহণ করার প্রক্রিয়া। ইনহেরিটেন্সের প্রধান প্রকারগুলি হলো:

  • সিঙ্গেল ইনহেরিটেন্স: একটি ক্লাস একক প্যারেন্ট ক্লাস থেকে ইনহেরিট করে।
  • মাল্টি-লেভেল ইনহেরিটেন্স: একটি ক্লাস ইনহেরিট করা হয় যা অন্য একটি ক্লাস থেকে ইনহেরিট করে।
  • হায়ারারকিক্যাল ইনহেরিটেন্স: একটি প্যারেন্ট ক্লাস থেকে একাধিক চাইল্ড ক্লাস ইনহেরিট করে।

১২. ওভারলোডিং এবং ওভাররাইডিং এর মধ্যে পার্থক্য কী?

  • ওভারলোডিং: একই নামের মেথড বিভিন্ন প্যারামিটার নিয়ে সংজ্ঞায়িত করা হয়।
  • ওভাররাইডিং: সাবক্লাসের মধ্যে প্যারেন্ট ক্লাসের মেথড পুনরায় সংজ্ঞায়িত করা হয়।

১৩. জাভাতে this এবং super কীওয়ার্ডের ভূমিকা কী?

  • this: বর্তমান ক্লাসের রেফারেন্স প্রদানের জন্য ব্যবহৃত হয়।
  • super: প্যারেন্ট ক্লাসের মেথড এবং প্রোপার্টি অ্যাক্সেস করার জন্য ব্যবহৃত হয়।

১৪. জাভাতে অ্যাবস্ট্রাক্ট ক্লাস এবং ইন্টারফেস এর মধ্যে পার্থক্য কী?

  • অ্যাবস্ট্রাক্ট ক্লাস: এমন ক্লাস যার কিছু মেথড সংজ্ঞায়িত নেই এবং তা সাবক্লাসে বাস্তবায়িত করতে হয়।
  • ইন্টারফেস: শুধুমাত্র মেথডের ডিক্লারেশন থাকে, সব মেথডই পায় public এবং abstract

১৫. জাভাতে কী String ইমিউটেবল (Immutable)?

হ্যাঁ, String জাভাতে ইমিউটেবল, যার মানে হলো একবার কোনো String অবজেক্ট তৈরি হলে তার মান পরিবর্তন করা যায় না। পরিবর্তন করতে হলে নতুন String অবজেক্ট তৈরি করতে হয়।

১৬. জাভাতে Exception কী?

Exception হলো একটি ইভেন্ট যা প্রোগ্রাম চলাকালীন সময়ে ঘটে এবং স্বাভাবিক প্রোগ্রাম ফ্লোতে বাধা দেয়। Exception দুই ধরনের হতে পারে:

  • Checked Exception: কম্পাইল টাইমে চেক হয়, যেমন IOException
  • Unchecked Exception: রানটাইমে চেক হয়, যেমন NullPointerException

১৭. জাভাতে synchronized কীওয়ার্ড কী?

synchronized কীওয়ার্ড ব্যবহার করা হয় যখন মেথড বা ব্লক একাধিক থ্রেড দ্বারা একসাথে অ্যাক্সেস হওয়া থেকে নিরাপদ রাখতে হয়। এটি থ্রেড-সেফটি নিশ্চিত করে।

১৮. জাভাতে Java Collections Framework কী?

Java Collections Framework একটি স্ট্যান্ডার্ড লাইব্রেরি যা ডেটা সংগ্রহ এবং প্রক্রিয়াকরণের জন্য বিভিন্ন ক্লাস এবং ইন্টারফেস সরবরাহ করে। এর মধ্যে প্রধানত List, Set, Map, Queue ইত্যাদি ডেটা স্ট্রাকচার রয়েছে।

১৯. জাভাতে HashMap এবং Hashtable এর মধ্যে পার্থক্য কী?

  • HashMap: এটি নাল (null) ভ্যালু এবং কী সমর্থন করে, এবং এটি সিঙ্ক্রোনাইজড নয়
  • Hashtable: এটি নাল কী বা ভ্যালু সমর্থন করে না এবং এটি সিঙ্ক্রোনাইজড

২০. জাভাতে Multithreading কী এবং কেন এটি গুরুত্বপূর্ণ?

Multithreading হলো একটি প্রক্রিয়া যেখানে একই প্রোগ্রাম একাধিক থ্রেডের মাধ্যমে একসাথে চালানো হয়। এটি প্রোগ্রামের পারফরম্যান্স বাড়ায় এবং সিস্টেমের রিসোর্সকে কার্যকরভাবে ব্যবহার করতে সহায়ক।

উপসংহার

এই প্রশ্নগুলো জাভা ইন্টারভিউতে প্রায়শই জিজ্ঞাসিত হয় এবং Java প্রোগ্রামিংয়ের মৌলিক ও গুরুত্বপূর্ণ ধারণাগুলি বোঝার জন্য গুরুত্বপূর্ণ। এই প্রশ্নগুলোর উত্তর জানলে ইন্টারভিউতে আপনার সাফল্যের সম্ভাবনা বাড়বে।

Java ইন্টারভিউয়ের জন্য প্রস্তুতি নেওয়ার সময় কিছু সাধারণ এবং প্রয়োজনীয় প্রশ্নগুলোর উপর মনোনিবেশ করা গুরুত্বপূর্ণ। এখানে কিছু সাধারণ Java ইন্টারভিউ প্রশ্ন দেওয়া হলো যা আপনি প্রস্তুতি নিতে ব্যবহার করতে পারেন:


Java ইন্টারভিউ প্রশ্ন: বাংলা টিউটোরিয়াল

Java প্রোগ্রামিং ভাষার উপর ইন্টারভিউ প্রস্তুতি নিতে কিছু সাধারণ ও গুরুত্বপূর্ণ প্রশ্নের উত্তর সম্পর্কে জেনে রাখা অত্যন্ত গুরুত্বপূর্ণ। নিচে জাভা সম্পর্কিত কিছু গুরুত্বপূর্ণ প্রশ্ন এবং তাদের উত্তর দেওয়া হলো, যা ইন্টারভিউতে সহায়ক হতে পারে।

১. জাভা কী?

Java হলো একটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা যা Sun Microsystems (বর্তমানে Oracle) দ্বারা তৈরি। এটি সাধারণত Write Once, Run Anywhere (WORA) ধারণায় কাজ করে, যার মানে হলো, একবার কোড লিখে সেটি যে কোনো প্ল্যাটফর্মে রান করা সম্ভব।

২. জাভার প্রধান বৈশিষ্ট্যগুলি কী কী?

  • প্ল্যাটফর্ম ইন্ডিপেন্ডেন্সি: একবার কোড কম্পাইল করে, যে কোনো অপারেটিং সিস্টেমে রান করা যায়।
  • অবজেক্ট-ওরিয়েন্টেড: জাভা একটি অবজেক্ট-ওরিয়েন্টেড ভাষা, যা কোডের পুনরায় ব্যবহার এবং সংগঠন সহজ করে।
  • সিম্পল এবং নিরাপদ: জাভার সিনট্যাক্স সহজ, এবং এটি নিরাপদভাবে মেমরি ম্যানেজমেন্ট পরিচালনা করতে সক্ষম।
  • গারবেজ কালেকশন: মেমরি ব্যবস্থাপনার জন্য জাভাতে স্বয়ংক্রিয় গারবেজ কালেকশন রয়েছে।

৩. JDK, JRE এবং JVM এর মধ্যে পার্থক্য কী?

  • JDK (Java Development Kit): Java ডেভেলপমেন্টের জন্য প্রয়োজনীয় টুল, যেমন কম্পাইলার ও লাইব্রেরি।
  • JRE (Java Runtime Environment): JVM এবং প্রয়োজনীয় লাইব্রেরি ও অন্যান্য ফাইল নিয়ে গঠিত, যা জাভা প্রোগ্রাম চালানোর জন্য প্রয়োজন।
  • JVM (Java Virtual Machine): এটি Java কোড এক্সিকিউট করার জন্য দায়ী এবং এটি Java Bytecode কে মেশিন কোডে রূপান্তর করে।

৪. অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর মূল ধারণাগুলি কী কী?

  • ইনহেরিটেন্স (Inheritance): একটি ক্লাস অন্য একটি ক্লাস থেকে প্রোপার্টিজ ও মেথড গ্রহণ করতে পারে।
  • পলিমরফিজম (Polymorphism): একাধিক রূপে কাজ করার ক্ষমতা।
  • ইনক্যাপসুলেশন (Encapsulation): ডেটা এবং মেথডকে একটি ইউনিট হিসেবে প্যাক করা।
  • অ্যাবস্ট্রাকশন (Abstraction): কেবলমাত্র প্রয়োজনীয় তথ্য প্রদর্শন করা এবং অপ্রয়োজনীয় তথ্য লুকানো।

৫. জাভাতে অবজেক্ট এবং ক্লাস এর মধ্যে পার্থক্য কী?

  • ক্লাস হলো একটি টেম্পলেট বা ব্লুপ্রিন্ট যা অবজেক্ট তৈরি করতে ব্যবহৃত হয়।
  • অবজেক্ট হলো একটি ক্লাসের ইনস্ট্যান্স, যা ক্লাসে সংজ্ঞায়িত বৈশিষ্ট্য এবং কার্য সম্পাদন করতে পারে।

৬. জাভাতে স্ট্যাটিক কীওয়ার্ড কী?

স্ট্যাটিক কীওয়ার্ডটি কোনো মেথড, ভেরিয়েবল, বা ব্লকের সাথে ব্যবহার করা হয়, যা ক্লাসের জন্য সাধারণত থাকে, অর্থাৎ এটি অবজেক্ট তৈরি না করেই অ্যাক্সেস করা যায়।

৭. জাভাতে ফাইনাল কীওয়ার্ড কী?

  • ফাইনাল ভেরিয়েবল: মান একবার সেট করা হলে আর পরিবর্তন করা যায় না।
  • ফাইনাল মেথড: এই মেথডটি সাবক্লাস দ্বারা ওভাররাইড করা যাবে না।
  • ফাইনাল ক্লাস: এই ক্লাসটি অন্য কোনো ক্লাস ইনহেরিট করতে পারবে না।

৮. জাভাতে গারবেজ কালেকশন কী?

গারবেজ কালেকশন হলো একটি প্রক্রিয়া, যা অব্যবহৃত অবজেক্টগুলিকে মেমরি থেকে স্বয়ংক্রিয়ভাবে সরিয়ে মেমরি মুক্ত করে। এটি জাভাতে System.gc() মেথড ব্যবহার করে ডেকে আনা যায়।

৯. অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং বনাম প্রসেডিউরাল প্রোগ্রামিং-এর মধ্যে পার্থক্য কী?

  • অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP): এটি অবজেক্টের মাধ্যমে কোড সংগঠিত করে এবং পুনরায় ব্যবহারযোগ্য করে। উদাহরণ: Java, C++
  • প্রসেডিউরাল প্রোগ্রামিং: এটি কোডকে ফাংশনের মাধ্যমে বিভক্ত করে। উদাহরণ: C, Pascal

১০. জাভাতে কনস্ট্রাক্টর কী?

কনস্ট্রাক্টর হলো একটি বিশেষ ধরনের মেথড, যা কোনো ক্লাসের অবজেক্ট তৈরি করার সময় আহ্বান করা হয়। এটি অবজেক্টকে আরম্ভ করার জন্য ব্যবহার করা হয় এবং এর নাম ক্লাসের নামের মতো হয়।

১১. জাভাতে ইনহেরিটেন্স কী এবং এর প্রকারভেদ কী?

ইনহেরিটেন্স হলো একটি ক্লাস থেকে অন্য একটি ক্লাস প্রোপার্টিজ এবং মেথড গ্রহণ করার প্রক্রিয়া। ইনহেরিটেন্সের প্রধান প্রকারগুলি হলো:

  • সিঙ্গেল ইনহেরিটেন্স: একটি ক্লাস একক প্যারেন্ট ক্লাস থেকে ইনহেরিট করে।
  • মাল্টি-লেভেল ইনহেরিটেন্স: একটি ক্লাস ইনহেরিট করা হয় যা অন্য একটি ক্লাস থেকে ইনহেরিট করে।
  • হায়ারারকিক্যাল ইনহেরিটেন্স: একটি প্যারেন্ট ক্লাস থেকে একাধিক চাইল্ড ক্লাস ইনহেরিট করে।

১২. ওভারলোডিং এবং ওভাররাইডিং এর মধ্যে পার্থক্য কী?

  • ওভারলোডিং: একই নামের মেথড বিভিন্ন প্যারামিটার নিয়ে সংজ্ঞায়িত করা হয়।
  • ওভাররাইডিং: সাবক্লাসের মধ্যে প্যারেন্ট ক্লাসের মেথড পুনরায় সংজ্ঞায়িত করা হয়।

১৩. জাভাতে this এবং super কীওয়ার্ডের ভূমিকা কী?

  • this: বর্তমান ক্লাসের রেফারেন্স প্রদানের জন্য ব্যবহৃত হয়।
  • super: প্যারেন্ট ক্লাসের মেথড এবং প্রোপার্টি অ্যাক্সেস করার জন্য ব্যবহৃত হয়।

১৪. জাভাতে অ্যাবস্ট্রাক্ট ক্লাস এবং ইন্টারফেস এর মধ্যে পার্থক্য কী?

  • অ্যাবস্ট্রাক্ট ক্লাস: এমন ক্লাস যার কিছু মেথড সংজ্ঞায়িত নেই এবং তা সাবক্লাসে বাস্তবায়িত করতে হয়।
  • ইন্টারফেস: শুধুমাত্র মেথডের ডিক্লারেশন থাকে, সব মেথডই পায় public এবং abstract

১৫. জাভাতে কী String ইমিউটেবল (Immutable)?

হ্যাঁ, String জাভাতে ইমিউটেবল, যার মানে হলো একবার কোনো String অবজেক্ট তৈরি হলে তার মান পরিবর্তন করা যায় না। পরিবর্তন করতে হলে নতুন String অবজেক্ট তৈরি করতে হয়।

১৬. জাভাতে Exception কী?

Exception হলো একটি ইভেন্ট যা প্রোগ্রাম চলাকালীন সময়ে ঘটে এবং স্বাভাবিক প্রোগ্রাম ফ্লোতে বাধা দেয়। Exception দুই ধরনের হতে পারে:

  • Checked Exception: কম্পাইল টাইমে চেক হয়, যেমন IOException
  • Unchecked Exception: রানটাইমে চেক হয়, যেমন NullPointerException

১৭. জাভাতে synchronized কীওয়ার্ড কী?

synchronized কীওয়ার্ড ব্যবহার করা হয় যখন মেথড বা ব্লক একাধিক থ্রেড দ্বারা একসাথে অ্যাক্সেস হওয়া থেকে নিরাপদ রাখতে হয়। এটি থ্রেড-সেফটি নিশ্চিত করে।

১৮. জাভাতে Java Collections Framework কী?

Java Collections Framework একটি স্ট্যান্ডার্ড লাইব্রেরি যা ডেটা সংগ্রহ এবং প্রক্রিয়াকরণের জন্য বিভিন্ন ক্লাস এবং ইন্টারফেস সরবরাহ করে। এর মধ্যে প্রধানত List, Set, Map, Queue ইত্যাদি ডেটা স্ট্রাকচার রয়েছে।

১৯. জাভাতে HashMap এবং Hashtable এর মধ্যে পার্থক্য কী?

  • HashMap: এটি নাল (null) ভ্যালু এবং কী সমর্থন করে, এবং এটি সিঙ্ক্রোনাইজড নয়
  • Hashtable: এটি নাল কী বা ভ্যালু সমর্থন করে না এবং এটি সিঙ্ক্রোনাইজড

২০. জাভাতে Multithreading কী এবং কেন এটি গুরুত্বপূর্ণ?

Multithreading হলো একটি প্রক্রিয়া যেখানে একই প্রোগ্রাম একাধিক থ্রেডের মাধ্যমে একসাথে চালানো হয়। এটি প্রোগ্রামের পারফরম্যান্স বাড়ায় এবং সিস্টেমের রিসোর্সকে কার্যকরভাবে ব্যবহার করতে সহায়ক।

উপসংহার

এই প্রশ্নগুলো জাভা ইন্টারভিউতে প্রায়শই জিজ্ঞাসিত হয় এবং Java প্রোগ্রামিংয়ের মৌলিক ও গুরুত্বপূর্ণ ধারণাগুলি বোঝার জন্য গুরুত্বপূর্ণ। এই প্রশ্নগুলোর উত্তর জানলে ইন্টারভিউতে আপনার সাফল্যের সম্ভাবনা বাড়বে।

Promotion

Are you sure to start over?

Loading...