আপনি যদি কখনও জাভা প্রোগ্রামার পদের জন্য একটি সাক্ষাত্কারের জন্য প্রস্তুত হয়ে থাকেন বা কোনও সার্টিফিকেশন পরীক্ষায় উত্তীর্ণ হন (প্রোগ্রামিং সম্পর্কে অগত্যা নয়), তাহলে আপনি সম্ভবত ইতিমধ্যেই লক্ষ্য করেছেন যে সেখানে জিজ্ঞাসা করা প্রশ্নগুলি খুব নির্দিষ্ট। তাদের মধ্যে অনেকেই আপনাকে ভাষার নকশা সম্পর্কে ভাবতে বাধ্য করে। কিছু আপনার জ্ঞানের গভীরতা যাচাই করার জন্য ডিজাইন করা হয়েছে। এমন কিছু প্রশ্ন আছে যা অন্য যেকোনো কিছুর চেয়ে ধাঁধার মতো দেখায়, অন্যরা ভাষার সূক্ষ্মতার সাথে সম্পর্কিত যা অনুশীলন ছাড়া উপলব্ধি করা খুব কঠিন। এই নিবন্ধে, বিকাশকারী সরানসিং জাভা সম্পর্কে এরকম কয়েকটি প্রশ্ন উপস্থাপন করেছেন। অবশ্যই উত্তর সহ।
1. যদি আমি একটি রিটার্ন স্টেটমেন্ট বা System.exit() একটি try/catch ব্লকে রাখি তাহলে কি হবে? এটি একটি খুব জনপ্রিয় এবং সূক্ষ্ম জাভা প্রশ্ন। কৌশলটি হল যে অনেক প্রোগ্রামার বিশ্বাস করেন যে

finally
ব্লকটি সর্বদা কার্যকর করা হয়। return
একটি ব্লকে একটি বিবৃতি স্থাপন করে try/catch
বা System.exit()
একটি ব্লকের ভিতর থেকে কল করে try/catch
, প্রশ্নটি এই বিশ্বাসের উপর সন্দেহ সৃষ্টি করে। এই জটিল প্রশ্নের উত্তর হল: ব্লকটি finally
কার্যকর করা হবে যখন একটি return
বিবৃতি একটি ব্লকে স্থাপন করা হয় try/catch
, কিন্তু যখন একটি ব্লকের System.exit()
মধ্যে থেকে ডাকা হয় তখন এটি কার্যকর করা হবে না। 2. জাভা কি একাধিক উত্তরাধিকার সমর্থন করে? এটি একটি খুব চতুর প্রশ্ন. ইন্টারভিউয়াররা প্রায়ই প্রশ্ন করেন, "যদি C++ সরাসরি একাধিক উত্তরাধিকার সমর্থন করে, তাহলে জাভা কেন পারে না?" উত্তর _try/catch
এটি মনে হতে পারে তার চেয়ে একটু বেশি জটিল, যেহেতু জাভা একাধিক ধরনের উত্তরাধিকার সমর্থন করে। সর্বোপরি, একটি জাভা ইন্টারফেস অন্যান্য ইন্টারফেস প্রসারিত করতে পারে। এটি বলেছে, জাভা বাস্তবায়নের একাধিক উত্তরাধিকার সমর্থন করে না। 3. যদি একটি অভিভাবক শ্রেণীর একটি পদ্ধতি NullPointerException
s ছুঁড়ে দেয়, তবে এটি কি একটি পদ্ধতি দ্বারা ওভাররাইড করা যেতে পারে যা RuntimeException
s নিক্ষেপ করে? এটি ওভারলোডিং এবং ওভাররাইডিং সম্পর্কিত আরেকটি জটিল প্রশ্ন। উত্তর: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.POSITIVE_INFINITY
Double.NEGATIVE_INFINITY
NaN
-0.0
ArithmeticException
নিক্ষেপ করা হবে না; অভিব্যক্তি মূল্যায়ন Double.POSITIVE_INFINITY
করে 7. যদি আপনি একটি কী ঢোকানোর চেষ্টা করেন যেটিতে HashMap
ইতিমধ্যেই সেই কী রয়েছে? এই জটিল প্রশ্নটি অন্য একটি প্রায়শই জিজ্ঞাসিত প্রশ্নের অংশ: HashMap
জাভাতে কীভাবে কাজ করে? HashMap
জাভা সম্পর্কে বিভ্রান্তিকর এবং জটিল প্রশ্নের একটি জনপ্রিয় উৎস। এখানে উত্তর আছে: আপনি যদি a তে একটি কী পুনরায় সন্নিবেশ করার চেষ্টা করেন HashMap
তবে পুরানো কীটি প্রতিস্থাপন করা হবে, যেহেতু HashMap
ক্লাসটি ডুপ্লিকেট কীগুলিকে অনুমতি দেয় না। এবং একই কী একই হ্যাশ কোড পাবে, যার মানে এটি হ্যাশ বাকেটের একই জায়গায় শেষ হবে। Quora উপকরণের উপর ভিত্তি করে
GO TO FULL VERSION