এই অ্যাডভান্সড / অযৌক্তিক সাক্ষাত্কারের প্রশ্নগুলি কি জাভা সম্মতি সম্পর্কিত? [বন্ধ]


12

এখানে সম্প্রতি এমন কিছু প্রশ্ন রয়েছে যা আমি সম্প্রতি সাক্ষাত্কারীদের জিজ্ঞাসা করেছি যারা বলে যে তারা জাভা সম্মতি জানে:

  1. "মেমোরি ভিজিবিলিটি" এর বিপত্তি ব্যাখ্যা করুন - জেভিএম যেভাবে চলকগুলিতে কোনও মনিটর দ্বারা সুরক্ষিত এবং ঘোষিত নয় এমন কিছু ক্রিয়াকলাপগুলিকে পুনরায় অর্ডার করতে পারে volatile, যেমন একটি থ্রেড অন্য থ্রেডের পরিবর্তনগুলি দেখতে না পারে। সাধারণত আমি এই বিপদটি উপস্থিত রয়েছে এমন কোডটি দেখিয়ে এটির জিজ্ঞাসা করি (উদাহরণস্বরূপ, NoVisibilityগোয়েটস এট আল দ্বারা "জাভা কনকুরেন্সির অনুশীলন" থেকে তালিকাভুক্ত ৩.১ এর উদাহরণ) এবং কী ভুল তা জিজ্ঞাসা করে।
  2. কীভাবে volatileকেবল প্রকৃত ভেরিয়েবল ঘোষিত volatileনয় তা পরিবর্তনশীল পরিবর্তনের আগে কোনও থ্রেড দ্বারা তৈরি ভেরিয়েবলের কোনও পরিবর্তনকে কীভাবে প্রভাবিত করে তা ব্যাখ্যা করুন volatile
  3. আপনি volatileপরিবর্তে ব্যবহার করতে পারেন কেন synchronized?
  4. wait()এবং এর সাথে একটি শর্ত পরিবর্তনশীল প্রয়োগ করুন notifyAll()। আপনার কেন ব্যবহার করা উচিত তা ব্যাখ্যা করুন notifyAll()। শর্ত ভেরিয়েবলটি কেন একটি whileলুপ দিয়ে পরীক্ষা করা উচিত তা ব্যাখ্যা কর ।

আমার প্রশ্ন হ'ল - জাভা সমন্ধি জানেন এমন কাউকে জিজ্ঞাসা করা কি এগুলি উপযুক্ত বা খুব উন্নত?

এবং যখন আমরা এটি করছি, আপনি কি মনে করেন যে জাভা সম্মতিতে কাজ করা কারও জাভা আবর্জনা সংগ্রহের একটি উচ্চ-গড় জ্ঞান থাকা উচিত?


4
আমি কেবল উদ্বিগ্ন হ'ল "দক্ষতা" না দিয়ে "মুখস্থ করা তথ্যের" আগাছায় avoidোকা।
টাইলার

5
এই প্রশ্নগুলি যে কোনও জাভা পজিশনে নিযুক্ত হওয়ার জন্য একেবারে যুক্তিসঙ্গত বলে মনে হচ্ছে যার জন্য উচ্চ স্তরের সম্মতি প্রয়োজন।
রিগ

2
যদি আপনি এমন একটি পজিশনের জন্য ভাড়া নিচ্ছেন যা একই সাথে বিকাশের প্রয়োজন হয় তবে এগুলি কেবল শুরু। তবে আমি অবাক হয়েছি যে কেউ যদি আপনার প্রশ্নের উত্তর notifyAll()"ওএস শিডিয়ুলারের কাজ করতে বিশ্বাস করে না, তাই আমি ব্যবহার করি notify()"
জানালেন

2
আমি জুক লক্স, ডেটা স্ট্রাকচার, থ্রেড পুল এবং অনিরাপদ সম্পর্কে: কি'ও যোগ করবো :-)
মার্টিজ ভার্বার্গ

2
অন্যরা প্রশ্নের জটিলতা সম্পর্কে কথা বলেছেন। তারা প্রকল্পের সাথে প্রাসঙ্গিক বলে ধরে নিচ্ছেন, কিছু সহজ প্রশ্ন নিয়ে তাদের কাছে নেতৃত্ব দেওয়ার বিষয়টি নিশ্চিত করুন এবং প্রার্থী যদি তাদের গভীরতার বাইরে চলে আসে তবে প্রশ্নটির এই লাইনটি ছেড়ে দিন - এটি তাদের সময় এবং আপনার অপচয় এবং শক্তি নষ্ট করে দেয় সাক্ষাত্কারের। আপনারা জানেন এমন প্রশ্ন জিজ্ঞাসার কোনও অর্থ নেই যে তারা জবাব দিতে পারবে না। অন্যান্য বিষয়ের উপর একই গভীরতায় যাওয়ার জন্য প্রস্তুত হতে নিশ্চিত করুন - কারণ এখানে কেউ কেউ দুর্বল, এর অর্থ এই নয় যে তারা সক্ষম এবং অন্যান্য শক্তির মাধ্যমে নিজেকে প্রমাণ করতে সক্ষম নয়।
শান ম্যাকসোমিংথ

উত্তর:


11

এটি আপনি নির্ভর করে যে আপনি ২ বছরের জাভা অভিজ্ঞতার সাথে বা years বছরের জাভা অভিজ্ঞতার সাথে একজনকে জিজ্ঞাসা করছেন কিনা depends কোনও স্থপতি / প্রযুক্তিগত নেতৃত্ব / সিনিয়রদের জন্য তাদের যথাযথ প্রশ্ন মনে হয় তবে একটি জুনিয়র এবং সম্ভবত একটি মাঝারি স্তরের জন্যও এগুলি এক ধরণের কঠিন বলে মনে হয়।

এছাড়াও আপনি নিম্ন স্তরের সিঙ্ক্রোনাইজেশন প্রক্রিয়া সম্পর্কে প্রশ্ন জিজ্ঞাসা করছেন যা java.util.concurrentবর্তমানে জাভা বিকাশে বেশিরভাগ দ্বারা প্রতিস্থাপিত হয়েছে ; পরিবর্তে wait()/notify() তালা পছন্দ করা হয়। আপনি দেখতে পাচ্ছেন যে কার্যকর জাভা 2 য় সংস্করণে একটি অধ্যায় ফেলে দেওয়া হয়েছে যা অপেক্ষা / অবহিত মেকানিজমকে বিশদভাবে ব্যাখ্যা করেছে, কারণ এটি দরকারী হিসাবে বিবেচিত হয়নি। এছাড়াও, ধারকটি বেশিরভাগ ক্ষেত্রে উচ্চ স্তরে মাল্টিথ্রেডিং পরিচালনা করে; একটি EJB এর পদ্ধতিগুলি থ্রেড-নিরাপদ উদাহরণস্বরূপ প্রোগ্রামার থেকে কোনও উদ্বেগ ছাড়াই (এর অর্থ এই নয় যে প্রোগ্রামাররা মাল্টিথ্রেডিং জানেন না)।

আমি আসলে দেখতে পাচ্ছি যে মাল্টিথ্রেডিং কোনও প্রোগ্রামিং ভাষার সাব-পার্টের চেয়ে অপারেটিং সিস্টেমের সাব-পার্ট হিসাবে রয়েছে। কোনও ব্যক্তি সত্যিকার অর্থে মাল্টিথ্রেডিং এবং সমান্তরাল প্রোগ্রামিং প্রশ্নগুলি মুটিেক্স, সেমফোরস বা সময়সূচী সম্পর্কে বুঝতে পারে কিনা তা দেখার জন্য প্রথমে এবং কেবলমাত্র পরে, নির্দিষ্ট প্রোগ্রামিং ভাষায় বাস্তবায়ন সম্পর্কে বিশদটি জিজ্ঞাসা করা উচিত।


2
অপেক্ষা () এবং বিজ্ঞপ্তি () মন্তব্যগুলিতে +1 করুন - তবে সম্মতিতে পারদর্শী একজন বিকাশকারী এই জায়গার জাভা এর দক্ষতার ইতিহাস এবং বিবর্তন জানতে পারবেন (জাভা F এর এফ অ্যান্ড জে পর্যন্ত সমস্ত উপায় সহ)।
মার্টিজ ভার্বার্গ

@ এম 3 তম: আমি যে ব্যক্তিদের এই প্রশ্নগুলি জিজ্ঞাসা করেছি তার শেষ 10 বছরের জাভা অভিজ্ঞতা ছিল এবং একই সাথে প্রোগ্রামিং জানার দাবি করেছিল। lockবনাম পোস্ট করার জন্য ধন্যবাদ wait/notify- আমি lockগোয়েজ বইটি সম্পর্কে জানতাম কিন্তু বুঝতে পারি নি যে এটি এখন পুরানো উপায়ে পছন্দ করা হয়েছে। আমি @ মার্তিজন এর সাথে একমত নই যদিও এই স্তরের অভিজ্ঞতার সাথে কোনও ব্যক্তির পুরানো পদ্ধতির বিষয়ে সচেতন হওয়া উচিত। যাইহোক আমার আবার প্রশ্ন জিজ্ঞাসা করার অর্থ নেই (উদাহরণস্বরূপ যেহেতু আমি ইতিমধ্যে এটির উত্তর হিসাবে চিহ্নিত করেছি - আপনার দ্বারা :-)) তবে আমার মনে হয় যে 10 বছরের অভিজ্ঞতার সাথে এই প্রশ্নগুলির উত্তর দিতে সক্ষম হওয়া উচিত, না?
স্পার্ক_স্প্রেড

1
@ মার্তিজান ভার্বার্গ আমি আপনার উভয়ের সাথে একমত; একজন ভাল জাভা বিকাশকারী (বিশেষত একজন যে বলেন / তিনি সম্মতি জানে) অপেক্ষা () / অবহিত () কীভাবে ব্যবহার করবেন তা জানা উচিত; তারা কেন অবজেক্ট ক্লাসে উপস্থিত হয় তা নিয়ে কৌতূহলের জন্য অন্তত।
m3th0dman

1
@ স্পার_স্প্রেড একটি প্রোগ্রামার যা তার / তার জীবনবৃত্তান্তে স্পষ্টভাবে জানিয়েছে যে জাভা সম্মতিতে উত্তরগুলি জানা উচিত (কমপক্ষে সর্বশেষ 3)। অভিজ্ঞতার স্তর সম্পর্কে, যেমনটি আমি বলেছিলাম, ইমো এমন একটি প্রোগ্রামার যা দাবি / আর্কিটেক্ট / টেকনিক্যাল লিড হতে ইচ্ছুক \ সিনিয়র বিকাশকারী এবং 5+ জাভা অভিজ্ঞতা রয়েছে (ব্যাকএন্ড, জেএসপি এবং এমভিসি ফ্রেমওয়ার্ক নয়) উত্তরগুলি জানা উচিত। সংক্রান্ত lockবনাম wait/notify, কেশ পছন্দ করা হয় যখন আপনি কি সত্যিই নিম্ন-স্তরের বৈশিষ্ট্যগুলি প্রয়োজন কিন্তু বেশিরভাগ ক্ষেত্রেই একটি উচ্চ পর্যায়ের বিকল্প উপলব্ধ; ব্লকিংকিউ একটি বিশেষ উপকারী।
m3th0dman

14

এগুলি কি জাভা সমন্ধি জানেন বলে এমন কাউকে জিজ্ঞাসা করার জন্য উপযুক্ত বা খুব উন্নত?

আমি বলব এগুলি তুলনামূলকভাবে উন্নত প্রশ্ন। তবে তারা "অন্যায়" এই অর্থে নয় যে তারা কোনও কৌশলগত প্রশ্ন নয়।

প্রকৃতপক্ষে "ন্যায্যতা" কোনও প্রাসঙ্গিক মানদণ্ড নয়। আপনার (একজন সাক্ষাত্কারকারক হিসাবে) উদ্বেগজনক হওয়া উচিত তা হ'ল প্রশ্নগুলির উত্তর এবং আপনার উত্তরগুলির ব্যাখ্যাটি আপনি যে অবস্থান বা পজিশনের জন্য সাক্ষাত্কার করছেন তার পক্ষে সেরা প্রার্থীদের নির্বাচন করছে কিনা। (বা অন্যভাবে বলতে গেলে, আপনি কি প্রার্থীদের প্রত্যাখ্যান করছেন যে এই প্রশ্নগুলির "সঠিকভাবে" উত্তর না দেওয়ার কারণে আপনি সত্যই আরও বিবেচনা করা উচিত ?)

এবং যখন আমরা এটি করছি, আপনি কি মনে করেন যে জাভা সম্মতিতে কাজ করা কারও জাভা আবর্জনা সংগ্রহের একটি উচ্চ-গড় জ্ঞান থাকা উচিত?

আবার, এটি আসলে প্রাসঙ্গিক প্রশ্ন নয়। আপনার নিজের যে প্রশ্নটি জিজ্ঞাসা করা উচিত তা হ'ল আপনার এমন কাউকে দরকার যা জাভা আবর্জনা সংগ্রহ সম্পর্কে ভাল জ্ঞান রাখেন।


এই প্রতিক্রিয়ার জন্য অনেক ধন্যবাদ। আমি সত্যিই ইচ্ছুক আমি উত্তর হিসাবে উভয় চিহ্নিত করতে পারে। আপনি এখানে সাহায্য করার জন্য যে সময়টি নিয়েছিলেন তা আমি প্রশংসা করি।
স্পার_স্প্রেড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.