ফিজবুজ এবং এর বাইরে কার্যকরভাবে [বন্ধ]


38

সাক্ষাত্কার প্রক্রিয়ার অংশ হিসাবে আমরা প্রাথমিকভাবে প্রার্থীদের 'ফিজবুজ' করতে বলি আজকাল ফিজবুজকে সঠিকভাবে উত্তর দিতে পারে এমন প্রার্থীদের শতাংশ নাটকীয়ভাবে বেড়েছে - এটি ওয়েবে জনপ্রিয়তার কারণে হতে পারে।

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

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

আমরা যেটা পেয়েছি তা হল যে 65% প্রার্থী (38 টির নমুনা আকার) FizzBuzz কে পুরোপুরি ব্যর্থ করেছে FizzBuzz v2.0 সাধারনত এই প্রার্থীদের প্রক্রিয়াটি পরে আবিষ্কার করা হবে, তবে এটি সনাক্ত করার একটি দুর্দান্ত উপায় বলে মনে হয় তাদের প্রথম দিকে।

আমার প্রশ্নটি ফিজবুজ পুরানো কিনা তা নয়, বরং ফিজবজ ভি 2 প্রশ্নে ব্যর্থ প্রার্থীদের এত বেশি সংখ্যক প্রার্থীদের কী কারণগুলি অবদান রাখতে পারে তা নয়।

  • প্রশ্নটি কি খুব দ্ব্যর্থক?
  • একটি সাক্ষাত্কার পরিবেশের চাপ কি এই ধরনের তুচ্ছ কাজটি সম্পূর্ণ করতে না পারা সমালোচনামূলকভাবে চিন্তা করার ক্ষমতা হ্রাস করে?

প্রশ্ন:

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

  1. স্ট্রিং এ A অক্ষর উপস্থিত থাকলে কেবল Fizz মুদ্রণ করুন
  2. স্ট্রিংয়ে বি বর্ণটি থাকলে কেবল বাজ প্রিন্ট করুন
  3. স্ট্রিং এ এবং বি উভয় থাকে তবেই কেবল বাজবুজ মুদ্রণ করুন
  4. যদি স্ট্রিংটিতে A এবং B উভয়ই থাকে না তবে কেবল FizzFizz মুদ্রণ করুন
  5. স্ট্রিংটিতে কেবল একটি এ এবং কেবল একটি বি রয়েছে তবে কেবল ফিজবজ মুদ্রণ করুন

প্রার্থীদের জিজ্ঞাসা করা কিছু সাধারণ প্রশ্নগুলি হ'ল:

  • এটা ক্ষেত্রে সংবেদনশীল হওয়া উচিত?
  • "A এবং B রয়েছে" এর অর্থ A এর বি এর আগে আসা উচিত
  • কোনটিই পয়েন্ট পূরণ না হলে মুদ্রণ করা উচিত?
  • একাধিক শর্ত পূরণ করতে পারলে কী হবে?

আমরা দেখতে পেয়েছি যে বিপুল সংখ্যাগরিষ্ঠ প্রার্থী সফলভাবে প্রশ্নটি সমাপ্ত করেছেন, তারা ফিজবজ-এর মতো তারা কেবল এটি করেছেন এমন কিছুই জিজ্ঞাসা করেননি।


26
প্রশ্নটি একটু অস্পষ্ট রেখে দিন। এই পদ্ধতিতে আপনি দেখতে পাচ্ছেন কোন সম্ভাবনার স্পষ্টতা জিজ্ঞাসা করার জন্য যথেষ্ট গাম্পশন রয়েছে (যা নিজেই বিকাশের মূল বিষয়)।
থমাস এডিং

17
সঠিক উত্তর হ'ল সম্ভাব্য বিকাশকারীকে বিএকে 'এই ভয়ঙ্কর প্রয়োজনীয়তা ঠিক করতে' বলুন।
কर्क ব্রডহર્স্ট

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

13
@ গ্রেডেনারপেফের্নসেস যে প্রার্থীরা কোনও প্রশ্নই করেনি তারা কীভাবে এই পরীক্ষাটি সফলভাবে শেষ করতে পারে? এটি অসম্ভব কারণ প্রয়োজনীয়তাগুলি পরস্পরবিরোধী; স্পষ্টতা ছাড়াই এই মহড়াটি কেবল করা যায় না!
আন্দ্রেস এফ।

6
@ এসএমএলটার্স আপনি লেক্স বিশেষাকে ধরে নিতে পারবেন না প্রয়োজনীয়তার লেখক যা চান তা হ'ল কারণ এটি বাস্তব বিশ্বে কোনও যুক্তিসঙ্গত ধারণা নয়। সুতরাং এই ব্যায়ামটি আপাত দ্বন্দ্ব সম্পর্কে প্রশ্ন না করেই শেষ করা যায় না। প্রশ্ন জিজ্ঞাসা না করে কেউ পরীক্ষা শেষ করে ফেললে তা সহজেই ভুল হয়ে গেছে।
আন্দ্রেস এফ।

উত্তর:


31

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

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

এখানে পরীক্ষার অংশটি নিয়মের অগ্রাধিকার আদেশ। আপনি এটি নির্দিষ্ট না। ইনপুট "এবিসি" Fizz, Buzz, BuzzBuzz বা FizzBuzz মুদ্রণ করতে পারে - এর যে কোনও একটিই সঠিক

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

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

FIZZBUZZ এর মতো, এই পরীক্ষার ফলাফলটি কীভাবে ফলাফল প্রাপ্ত হয়েছে সে সম্পর্কে আপনার পর্যবেক্ষণগুলির মতোই ভাল - ফলাফল অপ্রাসঙ্গিক।

আমি এটিকে কিছুটা সামান্য টুইট করব - কেবল এটি আরও আকর্ষণীয় করে তুলতে - 'কেবল' বেরিয়ে আসুন। এটি উপরের লাইনে আচ্ছাদিত ("নিম্নলিখিতগুলির মধ্যে একটি মুদ্রণ করুন"), এবং দেখুন যে লোকেরা এটি সম্পর্কে জিজ্ঞাসা করে। যদি প্রার্থী "কেবল "টিকে মিস করে এবং আপনার কাছে সময় থাকে তবে এটি নির্দেশ করুন এবং দেখুন কী ঘটে। যদি তিনি "কেবল" সাথে ডিল করেন তবে এটি প্রয়োজনীয়তা থেকে সরিয়ে দিন এবং কোডটি পরিবর্তন করতে তাদেরকে পান।


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

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

7
আপনারা সকলেই এই পরীক্ষাগুলি অকেজো বলে মনে করেন তাদের সাথে খুব বেশি চেষ্টা করার চেষ্টা করছেন ... ফিজবজ এবং এর সহযোগীরা কেবল একটি উদ্দেশ্যেই উপস্থিত রয়েছে: 90% এমন আবেদনকারীকে আগাছা ছড়িয়ে দেওয়া, যারা কীভাবে প্রোগ্রামিং করতে জানে না
রবার্ট হার্ভে

@ রবার্তাহারভে: ব্যতীত এমন কিছু লোক রয়েছে যেগুলি প্রোগ্রাম করতে পারে তবে এক পর্যায়ে বিভিন্ন কারণে ফিজবুজ নিয়ে সমস্যা হত। (আমি তাদের মধ্যে একজন হয়েছি)।
জেমস পি। রাইট

3
@ জেমস পি। রাইট মিথ্যা নেতিবাচক ইন্টারভিউওয়ালা নয় ইন্টারভিউয়ের পক্ষে সমস্যা। যতক্ষণ মিথ্যা ধনাত্মক সংখ্যা কম থাকে ততক্ষণ ফিজবুজের মতো একটি পরীক্ষা ইন্টারভিউয়ারদের জন্য কার্যকর হতে পারে।
জে কে।

27

আপনার প্রয়োজনীয়তার মধ্যে "কেবল" শব্দটি সমস্ত প্রশ্নের মধ্যে একটি দ্বন্দ্ব তৈরি করে।

সুতরাং চাপের মধ্যে থাকা আপনার প্রশ্নগুলির পরীক্ষাগুলি সংগ্রহের প্রয়োজনীয়তা রয়েছে, আপনি কি নিশ্চিত যে দক্ষতার সংমিশ্রণের জন্য আপনি পরীক্ষা করতে চান?

আপনি যদি প্রয়োজনের জমায়েতে পরীক্ষা করতে চান তবে আমি একটি প্রশ্নের দ্বিধা তৈরি করার পরামর্শ দেব। আপনি যদি ফিজবজ-এর জন্য প্রতিস্থাপন চান তবে অস্পষ্টতা সরিয়ে ফেলুন।

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

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


6
আপনি কি এমন কাউকে ভাড়াটে রাখতে চান যে অস্পষ্ট প্রয়োজনীয়তাগুলি স্পষ্ট করে না কারণ প্রশ্ন জিজ্ঞাসা করে কাউকে বিরক্ত করতে ভয় পাচ্ছে?
হ্যান্স-পিটার স্টার

2
@ Hstoerr, সম্ভবত না তবে একটি সাক্ষাত্কারটি যথাযথ চাপযুক্ত পরিস্থিতি।
এ গিলফ্রিন

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

16

আমরা দেখতে পেয়েছি যে বিপুল সংখ্যাগরিষ্ঠ প্রার্থী সফলভাবে প্রশ্নটি সমাপ্ত করেছেন, তারা ফিজবজ-এর মতো তারা কেবল এটি করেছেন এমন কিছুই জিজ্ঞাসা করেননি।

প্রয়োজনীয়তার অস্পষ্টতার সাথে কেউ প্রশ্ন জিজ্ঞাসা না করে সঠিকভাবে v2.0 শেষ করতে পারে না।


2
+1 ... এটি যেমন দাঁড়িয়েছে, প্রয়োজনীয়তাগুলি পারস্পরিক পরস্পরবিরোধী তাই খুব কমপক্ষে টাই-ব্রেকের কোনও ধরণের নির্দিষ্টকরণ করতে হবে।
কনরাড রুদল্ফ

4
মজার বিষয় হল, নিয়মগুলি আদেশের একটি ধারণা দিয়েছে (জেনেরিক কেস থেকে শুরু করে বিশেষ ক্ষেত্রে) এবং আমি প্রায় সহজাতভাবে বিপরীত ক্রমে এটি করার সিদ্ধান্ত নিয়েছিলাম। আমি যদি এই জাতীয় পরীক্ষায় আছি তবে আমি দ্বিধাগ্রস্থতা অনুভব করব না তবে আমার প্রবৃত্তিটি অনুসরণ করব।
কোডডিজম

4
@ কোডিজম দুর্ভাগ্যক্রমে একজন প্রগ্রেমার হিসাবে আপনার প্রবৃত্তিটি ব্যবহারকারী যা চেয়েছিলেন তার ঠিক বিপরীত হতে পারে।
স্টেফান

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

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

4

আপনি যদি কোনও অস্পষ্টতা অপসারণ করতে চান তবে আপনি প্রয়োজনীয়তাগুলিকে এতে পরিবর্তন করতে পারেন:

আপনার পছন্দসই প্রোগ্রামিং ভাষায় একটি রুটিন লিখুন যা স্ট্রিংগুলির একটি তালিকা ইনপুট হিসাবে গ্রহণ করবে এবং তালিকার প্রতিটি স্ট্রিংয়ের জন্য নিম্নলিখিতটি করুন:

  1. "ফিজ" মুদ্রণ করুন যদি স্ট্রিংটিতে '$' অক্ষর থাকে এবং এতে '?' থাকে না।
  2. স্ট্রিংয়ে অক্ষর থাকলে 'বাজ' মুদ্রণ করবেন? ' এবং এতে '$' থাকে না।
  3. "ফিজবজ" মুদ্রণ করুন যদি স্ট্রিংটিতে হ'ল '$' এবং ঠিক একটি '?' থাকে।
  4. স্ট্রিং-এ ঠিক একটি '$' এবং একের বেশি '?' থাকে তবে "বাজবাজ" মুদ্রণ করুন।
  5. স্ট্রিংটিতে হ'ল 'বাজবুজ' মুদ্রিত হলে '?' এবং একাধিক '$'।
  6. "FizzFizz" মুদ্রণ করুন যদি স্ট্রিংটিতে '$' থাকে না এবং এতে '?' থাকে না।

3

প্রশ্নটি কি খুব দ্ব্যর্থক?

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

একটি সাক্ষাত্কার পরিবেশের চাপ কি এই ধরনের তুচ্ছ কাজটি সম্পূর্ণ করতে না পারা সমালোচনামূলকভাবে চিন্তা করার ক্ষমতা হ্রাস করে?

এটি সম্ভবত প্রার্থীর ফিজবুজকে "ক্র্যামিং" করার ইঙ্গিত দেয়: চাপ বা না, প্রোগ্রামটি খুব সহজ।

আমি মনে করি পরিবর্তিত ফিজবুজ মূলটির সাথে তুলনাযোগ্য নয়, কারণ এর আদর্শ সমাধানটি আলাদা: যদিও একটি শৃঙ্খলা if-then-elseগ্রহণযোগ্য থেকে যায় তবে আমি মনে করি যে এই সমস্যাটির জন্য একটি টেবিল-ভিত্তিক সমাধান আরও উপযুক্ত:

static string[,] FB = new string[3,3] {
    {"FizzFizz", "Buzz", "Buzz"}
,   {"Fizz", "FizzBuzz", "BuzzBuzz"}
,   {"Fizz", "BuzzBuzz", "BuzzBuzz"}
};
static string FizzBuzz(string str) {
    return FB[
        Math.Min(str.Count(c => c == 'a'), 2)
    ,   Math.Min(str.Count(c => c == 'b'), 2)
    ];
}

সমস্যার জায়গার আকার হ'ল 3x3না 2x2, তাই এটি মূল ফিজবুজের চেয়ে অনেক সহজেই কোনও টেবিলের মানচিত্র করে। আসলে, আমি বুঝতে চাইলে মূল ফিজবজ সমস্যার একটি টেবিল-ভিত্তিক সমাধান পেয়েছি

private static string[] FB = new[] {"{0}", "Fizz", "Buzz", "BizzBuzz"};
public static void Main() {
    for (var i = 1 ; i <= 100 ; i++) {
        Console.WriteLine(FB[(i%5==0?2:0)+(i%3==0?1:0)], i);
    }
}

2

এখানে দুটি জিনিস:

  1. হ্যাঁ আমার মনে হয় বেশিরভাগ লোকেরা কেবল ফিজার বাজকে গুগল করে এবং তারা যখন এটি প্রসারিত করার চেষ্টা করে তখন হোঁচট খায়
  2. চেক আউট করুন: http://dave.fayr.am/posts/2012-10-4-finding-fizzbuzz.html এটি কীভাবে আপনি উপযুক্ত বিমূর্ততা ব্যবহার করে ফিজ বাজ সমাধান করতে পারবেন তা দুর্দান্ত ব্যাখ্যা করেছে।

ব্যতীত তিনি কখনও বিমূর্তির সঠিক স্তরে পৌঁছান না। তিনি সোনারাদের সাথে ঘনিষ্ঠ হন, তবে আমি মনে করি এটি কিছুটা জটিল। শেষে একটি সোজা ফরোয়ার্ড শর্তযুক্ত একটি সাধারণ কী / মান তালিকা, ব্রেইনফাকের চেয়ে আরও জটিল যে কোনও ভাষায় করা যথেষ্ট সহজ।
jmoreno

2

আমরা দেখতে পেয়েছি যে বিপুল সংখ্যাগরিষ্ঠ প্রার্থী সফলভাবে প্রশ্নটি সমাপ্ত করেছেন, তারা ফিজবজ-এর মতো তারা কেবল এটি করেছেন এমন কিছুই জিজ্ঞাসা করেননি।

আমি এমন সাক্ষাত্কার প্রক্রিয়া দেখেছি যা প্রোগ্রামারদের উচ্চস্বরে চিন্তা করতে এবং তাদের চিন্তা প্রক্রিয়াটি দেখতে প্রশ্ন জিজ্ঞাসা করে। আমি এই প্রক্রিয়াটি আরও ভাল পছন্দ করি।

আমি এই ফিজবজ ভি 2.0 এর মাধ্যমে পড়ি এবং আমি সেখানে # 3 এবং # 5 প্রয়োজনীয়তা জিজ্ঞাসা করব। আমি অন্য লোকদের সম্পর্কে জানি না তবে আমি ইঞ্জিনিয়ারিংয়ে দেখি যে আমি কোনও অস্পষ্টতা চাই না তাই আমি প্রশ্ন জিজ্ঞাসা করি। কারণ পরে লাইনটি (কোডেড এবং সমস্ত) নীচে নেমে গেছে, আমি খুঁজে বের করতে চাই না যে আমাকে অনুমান করতে হয়েছিল এবং এটি ভুল ছিল।


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

2

অস্পষ্টতা এড়ানোর সবচেয়ে সহজ উপায় হ'ল কয়েকটি উদাহরণ দেখানো:

"এ" রিটার্ন "ফিজ্জা" "এএবিএ" ফিরিয়ে দিয়েছে "ফিজ" "বি" ফিরিয়ে দিয়েছে "বাজ" "এবিবি" "ফিরিয়ে দিয়েছে" বাজে "" এবি "ফিরিয়ে দিয়েছে" ফিজবজ "" আবাবাব "ফিরিয়ে দিয়েছে" বাজবুজ "" "ফিঞ্জফিজ" "আব "ফিজফিজফিজ" প্রত্যাবর্তন


1
একজন ভাল প্রার্থী কিছু পরীক্ষার স্ট্রিং এবং প্রত্যাশিত ফলাফলগুলি দিয়ে শুরু করবেন এবং তারপরে ইউনিট পরীক্ষার বিষয়ে কথা বলবেন, বা প্রয়োজনীয়তাগুলি আরও আনুষ্ঠানিকভাবে এবং কম अस्पष्टভাবে পুনরায় লিখবেন। তারপরে তারা পরিষ্কার প্রয়োজনীয়তার গুরুত্ব এবং প্রয়োগের ত্রুটিগুলির তুলনায় কীভাবে প্রয়োজনীয়তা ত্রুটিগুলি আরও বেশি ব্যয়বহুলতার অর্ডার হতে পারে তা নির্ধারণ করার বিষয়ে কথা বলবে।
জন লিয়ন

2

প্রার্থীকে দ্বন্দ্বমূলক / অস্পষ্ট প্রয়োজনীয়তা দেওয়ার পরিবর্তে তাদের জিজ্ঞাসা করুন তারা কীভাবে এই পরিস্থিতিগুলি পরিচালনা করে। অন্যথায় আপনি নিজেকে অযোগ্য বা খারাপ দেখানোর জন্য বিশ্বাসঘাতক ভারসাম্য রশ্মির উপর রাখছেন "এই সাক্ষাত্কারের প্রশ্নটি বা ব্যক্তি যে এটি জিজ্ঞাসা করছে তাকে বোঝানো ছাড়া আমি কীভাবে আমার উত্তর পেতে পারি?"

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

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

এবং ধরে নিবেন না যে প্রত্যেকে হোয়াইটবোর্ড ব্যবহার করতে চায় বা হাতের লেখার সময়কালে আরামদায়ক। আমাদের মধ্যে কেউ কেউ 12 বছর বয়স থেকেই টাইপ করে আসছি (স্পেস কোয়েস্টকে অনেক ধন্যবাদ সহ) আমি নিজের হাতে কলম বা মার্কার দিয়ে সোজা ভাবতেও পারি না। এটি 20-ফ্রিকিং -13, ইতিমধ্যে হোয়াইটবোর্ডগুলির সাথে কী আছে? লোকেরা যখন আমাকে একটি কলম এবং কাগজ দেয় এবং একটি কোড-পরীক্ষা করতে বলে, তখন হাসি দমন করা শক্ত।


1

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

তবে আমি "সফল" প্রার্থীদের প্রশ্ন জিজ্ঞাসা না করার বিষয়ে কিছুটা চিন্তা করি। আমি তারা চেষ্টা করেছিলাম যে তারা বুঝতে পেরেছিল যে আপনি কিছু ক্ষেত্রে 4 টি বিধি প্রয়োগ করতে পারেন এবং প্রশ্নটির মধ্যে এমন কিছু নেই যা এই অস্পষ্টতাটি সমাধান করবে এবং তাদের সাথে তারা কীভাবে আচরণ করেছে তা তাদের বুঝিয়ে দিতে বলবেন। সম্ভবত আপনার প্রশ্নটি তাদের জিজ্ঞাসা করতে বাধ্য করার পক্ষে যথেষ্ট দ্ব্যর্থক নয় বা সম্ভবত আপনার তাদের উচ্চস্বরে চিন্তা করতে বলা উচিত।

বিটিডাব্লু: আমি আশ্চর্যজনক যে আপনি একটি "সঠিক সমাধান" সম্পর্কে কথা বলছেন বলে মনে হচ্ছে। আপনি যদি প্রশ্নটির মতো শব্দটি ব্যবহার করেন তবে "ফিজ", "বাজ", "বাজবউজ" বা "ফিজবজ" যদি আপনি "এবি" পান তবে মুদ্রণ করা বৈধ। সুতরাং আইএমএইচও-তে কোনও প্রশ্নই জিজ্ঞাসা করা হয়নি এমন সমাধান সম্পূর্ণ ভুল।

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