"RAII আইডিয়ামটি ব্যাখ্যা করুন" একটি ভাল সি ++ স্ক্রিনিংয়ের প্রশ্ন? [বন্ধ]


13

আমি যে সংস্থার সাথে কাজ করি একটি সংস্থা আমাকে সম্ভাব্য ক্লায়েন্টের কাছে কাউকে পাঠানোর সময় তারা সম্পূর্ণ বিব্রত না হওয়ার জন্য তা নিশ্চিত করার জন্য প্রার্থী ফোন স্ক্রিনিং করতে বলেছে।

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

এমনকি সি ++ বিকাশকারীদের একটি দম্পতিও আমি তাদের দক্ষতার বিচার করার জন্য যথেষ্ট ভাল জানি যে তারা এই শব্দটি চিনতে পারেনি, তবে কৌশলটির সংক্ষিপ্তসারটি পড়ে বলেছিলেন, "ওহ, হ্যাঁ, আমি জানি না যে নামটি ছিল had আমি কেবল সেগুলো কিছু হিসাবে আপনি চিন্তা শুধু যা করতে হবে । " আমি স্ট্রোস্ট্রপের বইয়ের দ্বিতীয় সংস্করণ থেকে এই শব্দটি মনে করি, যদিও পুরো প্রভাবটি তখন ডুবে যায়নি।

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

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


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

9
বুদ্ধি বদল, ভাল অনুশীলন হয় না। কোনও নির্দিষ্ট মূর্খতা সম্পর্কে জিজ্ঞাসা করার পরিবর্তে কীভাবে সহজভাবে জিজ্ঞাসা করা যায়, "ক্লাসটি ফাঁস হয় না তা নিশ্চিত করার জন্য আপনি কী কী পদক্ষেপ গ্রহণ করেন?"
blrfl

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

2
আপনার সমস্যাটি আমার প্রত্যাশা মতো নয়। আমি ধরে নিয়েছিলাম যে আপনি এমন কাউকে খুঁজে পাবেন যিনি জানে যে RAII কী, ভাড়া করা হয়, এবং কেবল পরে আপনি কী খুঁজে পান যে তারা এখনও কোডিংয়ে স্তন্যপান করেন।
কেভিন

1
@ জেসনট্রু: আমার মনে হয় ফিজ বাজ প্রশ্নগুলি স্ট্রিংকে উল্টানোর মতো প্রকৃত প্রোগ্রামিং প্রশ্ন হিসাবে বিবেচিত হয়। তবে যাইহোক আমি মনে করি এটি একটি দুর্দান্ত প্রশ্ন। আপনি ইন্টারভিউওয়ালা সবচেয়ে উত্তেজনাপূর্ণ বা গুরুত্বপূর্ণ বলে মনে করেন যে সি ++ - 0x এর বৈশিষ্ট্যগুলি জিজ্ঞাসা করার বিষয়েও বিবেচনা করতে পারেন। এটি কিছুটা শক্ত তবে আপনি যদি একটি ভাল উত্তর পান তবে এটি সম্ভবত ভাল জিনিসগুলির অর্থ। এবং প্রশ্নটি সর্বদা ফিরে যেতে পারে, 'আপনি যদি ফাঁকা তাকান তবে' লাইব্রেরিগুলি সবচেয়ে গুরুত্বপূর্ণ / আকর্ষণীয় কী '।
কেভিন

উত্তর:


24

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

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


একটি দুর্দান্ত পরামর্শ। আমি এই পদ্ধতির পছন্দ।
জেসনট্রু

একটি ফোনের সাক্ষাত্কারে খুব বেশি সময় নেয়।
হ্যালো ওয়ার্ল্ড

15

প্রস্তাবিত হওয়ায় এটি ব্যবহারিক প্রশ্ন বলে আমি মনে করি না। আমি মনে করি আপনি অনেকগুলি বিকাশকারী "ওহ, হ্যাঁ, আমি জানি না যে একটি নাম ছিল" শিবিরের মধ্যে পড়ে যাবে find আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি প্রার্থীদের ধারণাটি পরীক্ষা করুন, ধারণার নাম নয়। তাদের একটি কোড উদাহরণ দিন এবং এটি কেন অসম্পূর্ণ তা জিজ্ঞাসা করুন বা তাদের ধারণাটি জানেন বলে প্রমাণ করুন।


3

আমি মনে করি এটি একটি বৈধ প্রশ্ন। যদিও আমি জানি না যে RAII শব্দটি কতটা জনপ্রিয় (আমার দলে, আমরা সমস্ত সময় RAII শব্দটি ব্যবহার করি) তবে আপনি যদি ব্যতিক্রম-নিরাপদ এবং মাল্টি-থ্রেডেড-সুরক্ষাও চান তবে রিসোর্স হ্যান্ডলিংয়ের ধারণাটি গুরুত্বপূর্ণ especially ।


3

ঠিক আছে, আমি জানি যে আমি যখন কেউ সক্ষম কিনা জানতে চাই, আমি প্রথমে করণীয় হ'ল তাদের সংক্ষিপ্তকরণের জ্ঞান পরীক্ষা করে check এটি একবার প্রতিষ্ঠিত হয়ে গেলে, আমি নিশ্চিত করি যে তারা অন্যান্য প্রযুক্তিগুলির নামগুলি আমার কাছে দুর্দান্ত বলে মনে হয়েছে know যদি তারা এর পরেও সেখানে থাকে তবে আমি তাদের প্রিয় রঙগুলির একটি তালিকা চাই ask

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

আমার কোড দেখুন। আমি কীভাবে জিনিসগুলি করব তা আমাকে জিজ্ঞাসা করুন। গরু ঘরে না আসা পর্যন্ত আমি হোয়াইটবোর্ডে ডুডল ক্রেপ করব। আমি আপনাকে একটি অ্যাপ কোড করব। আমাকে বুলশিট ট্রিভিয়া প্রশ্ন দেবেন না। ট্রিভিয়া সর্বদা আঘাত বা মিস হয় এবং এটি কখনই মৌলিক নয়।


স্ক্রিনিং সাক্ষাত্কারে আমি প্রচুর রহস্য জ্ঞানের প্রশ্ন জিজ্ঞাসা করি না, তবে কেউ পুরোপুরি অযোগ্য নয় তা নিশ্চিত করার জন্য আমার কিছুটা সময়সীমার যত্ন নেওয়া উচিত বলে আশা করা হচ্ছে। তদনুসারে, আমি একটি উন্মুক্ত সমাপ্ত প্রশ্ন খুঁজছি যা পরীক্ষার্থীকে তাদের নিজস্ব পটভূমি প্রদর্শন করার সুযোগ দেওয়ার সময় আমাকে কিছু স্তরের জ্ঞান যাচাই করতে দেয়। আমি "কিছু" সরাসরি জ্ঞান আশা করি যদি কেউ বলেন যে তারা তাদের জীবনবৃত্তান্তে প্রযুক্তি এক্স জানেন; আমার প্রশ্নটি ফুটে উঠেছে, আমি C ++ প্রোগ্রামার সম্পর্কে আরও জ্ঞানের আশা করব যা আরও কথোপকথনের একটি দরকারী প্রবেশদ্বার?
জেসনট্রু

4
@ জেসন: ঠিক আছে, আমি সম্ভবত কয়েক মাসের জন্য RAII সংক্ষিপ্ত বিবরণটি মনে করতে সক্ষম হব। বছরের পর বছর আমি সি ++ স্পর্শ না করেও কী সেই অল্পকালীন জ্ঞান আমাকে সক্ষম করে তোলে? এটা পিঠির ট্রিভিয়া। তারা কীভাবে লকগুলি পরিচালনা করে তা জিজ্ঞাসা করুন এবং নিশ্চিত করুন যে তারা আসল জ্ঞানটি বুঝতে পেরেছে, অদ্ভুত সংক্ষিপ্ত রূপটি নয়।
স্যাটোনিকপপি

1
@ জেসন: আমি একমত আমি কেবল একমত নই যে বেসিকগুলি এই ধরণের ট্রিভিয়া অন্তর্ভুক্ত করে। একজন নির্বোধ এটি হয়ত জানেন, এবং কোনও বিশেষজ্ঞ হয়ত জানেন না। আপনি দক্ষতা সম্পর্কিত অপ্রাসঙ্গিক কোনও বিষয়ে আপনার নির্বাচন প্রক্রিয়াটি ভিত্তি করছেন।
স্যাটোনিকপপি

5
আরআইআইআই কী বলা হয় তা জানা প্রয়োজনীয় জ্ঞান নয়। কিন্তু স্বয়ংক্রিয়ভাবে প্যাটার্ন পৌঁছানোর হয়।
btilly

2
RAII ভাল সি ++ এর একটি প্রাথমিক ধারণা এবং শব্দটি কমপক্ষে 20 বছর ধরে রয়েছে। আমি মনে করি এটিকে ট্রিভিয়া হিসাবে বরখাস্ত করা কিছুটা অন্যায়। যদিও আপনি ভাল সি ++ বিকাশকারী থাকতে পারেন যারা এই শব্দটি জানেন না, আমার কাছে এটি এমন কারও ঘ্রাণে আসে যারা তাদের কারুকাজটি গবেষণা করে না।
কাজ ড্রাগন

1

যদি আপনার উদ্দেশ্যটি মোট অযোগ্যদের দ্রুত স্ক্রিন করা হয়, তবে এর মতো কিছু চেষ্টা করুন:

ফিজবজ টেস্ট

তারপরে আপনি সি ++ দক্ষতার মূল্যায়নের জন্য আরও ভাল অবস্থানে থাকা লোকদের কাছে সি ++ ধারণা এবং অনুশীলনগুলি রেখে যেতে পারেন।


1
আমি এই প্রশ্নটি প্রায়শই ব্যবহার করেছি এবং পেয়েছি এবং উপরে আমার মন্তব্যে এটি উল্লেখ করেছি তবে 25 মিনিটের ফোনে কথোপকথনে জিজ্ঞাসা করা আমার কাছে বিশ্রী মনে হয়।
জেসনট্রু

0

এটি একটি বৈধ প্রশ্ন, তবে স্ক্রিনিংয়ের জন্য নয়। আমি এটি একটি লিখিত প্রশ্ন হিসাবে ব্যবহার করেছি, সাক্ষাত্কারে আলোচিত হবে। অগ্রিম বিজ্ঞপ্তি প্রদত্ত চিন্তার নিদর্শনগুলির জন্য আপনি প্রচুর অন্তর্দৃষ্টি পেতে পারেন। স্ক্রিনিংয়ের প্রশ্ন হিসাবে এটি কেবল একটি বাজে জাল।

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