ব্যর্থ সাক্ষাত্কার কোডিং অনুশীলনের উত্তরটি আমার দেওয়া উচিত? [বন্ধ]


14

আমাদের কাছে সিনিয়র স্তরের সাক্ষাত্কার প্রার্থী ফিজবজ প্রশ্ন 1 2 এর সার্থকতা ব্যর্থ করেছিলেন ।
আমি বলতে চাইছি, সত্যই, সম্পূর্ণ, পুরোপুরি, ব্যর্থ হয়েছে প্রশ্নটি - এমনকি কাছেও নয়।
এমনকি আমি তাকে একটি লুপ এবং এটি ব্যবহার করার বিষয়ে ভাবতেও প্রশিক্ষণ দিয়েছিলাম3 এবং বিশেষ কেস হিসাবে বিবেচনা 5করা সত্যই মূল্যবান।

সে উড়িয়ে দিয়েছে।

শুধু কিউএর উদ্দেশ্যে, আমি তিনটি সতীর্থকে একই একই প্রশ্ন দিয়েছি; তাদের 5 মিনিট সময় দিয়েছে; এবং তারপরে তাদের সিডো-কোড সংগ্রহ করতে ফিরে এসেছিল। তাদের সবাই এটি পেরেক দিয়েছিল এবং এর আগে প্রশ্নটি দেখেনি। দুজন জিজ্ঞাসা করলেন কৌশলটি কী ...

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

আমার প্রশ্ন হ'ল যুক্তিযুক্ত প্রশ্নের উত্তর আমার তাকে দেওয়া উচিত ছিল কিনা।

তিনি জানতেন যে সে তাদের উড়িয়ে দিয়েছে এবং পরে সাক্ষাত্কারে এটি স্বীকার করেছে।
অন্যদিকে, তিনি কখনই এর উত্তর বা আমি কী প্রত্যাশা করছিলাম তা জিজ্ঞাসা করেননি।

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

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

এই পরিস্থিতি সামাল দেওয়ার সঠিক উপায় কী?


1 ঠিক আছে, এটি আসল ফিজবজ প্রশ্নের প্রশ্নের লিঙ্ক নয়, তবে এটি ফিজবুজকে ঘিরে একটি ভাল পি.এসই আলোচনা এবং এর বিভিন্ন দিকের লিঙ্ক।

2 করতে সাহায্য নির্মল, এই Fizz-buzz এই সামান্য পার্থক্য আমি জিজ্ঞাসা করলাম এবং এটি থেকে প্রকল্প ইউলার প্রথম সমস্যা । বিকল্প মুদ্রণ Fizz | সংখ্যাগুলি সংক্ষিপ্ত করার জন্য বাজ এবং আপনার একই মৌলিক প্রশ্ন রয়েছে।
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Write a function that finds the sum of all the multiples of 3 or 5 below 1000.

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

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


34
তাদের আলগা করে কাটুন এবং আপনার দিনটির সাথে এগিয়ে যান। যতদূর আমি উদ্বিগ্ন, "সিনিয়র স্তরে" ফিজবুজকে ব্যর্থ করা উদ্দেশ্যমূলক এবং দূষিতভাবে আমার সময় নষ্ট করছে।
স্টিভেন ইভার্স

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

6
@ জোয়েলথেরটন - এখানে প্রায় একই জিনিস। আমি যেখানেই যাই না কেন ফোন স্ক্রিনের জন্য চাপ দিয়েছি। আপনি যদি সি # ব্যবহার করে সিনিয়র হওয়ার জন্য আবেদন করছেন এবং কোনও মান ধরণের এবং একটি রেফারেন্স টাইপের মধ্যে পার্থক্য বলতে না পারেন, আপনি কোনও সাক্ষাত্কার পাচ্ছেন না।
টেলাস্টিন

3
@ 0 এ 0 ডি, একটি দলকে নেতৃত্ব দেওয়া ভাল বিকাশকারী হতে আলাদা ধরণের দক্ষতা। আমি দলের নেতৃত্বগুলি দেখেছি যারা খারাপ বিকাশকারীও ছিল।
কিরেলেসা

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

উত্তর:


15

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

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


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

11
@ Itত্বিকজি সত্যই, প্রার্থী যদি প্রোগ্রামিং পজিশনের জন্য সাক্ষাত্কার নিচ্ছেন এবং ফিজবজ সামলাতে না পারেন, আমি সম্ভবত ... হাসি (আরে, আমি কখনও বলিনি যে আমি একজন ভাল সাক্ষাত্কারকারী ছিলাম ;)। এটি বলেছিল, কয়েক মাস আগে আমি কয়েক দিনের লড়াইয়ে হেরেছি যা আমার কোডের মধ্যে অত্যন্ত তুচ্ছ ওবিওই পরিণত হয়েছিল । আমাদের সকলের আমাদের অফ মুহুর্ত রয়েছে, এবং আমি প্রার্থীটিকে একটি অনুশীলন জগাখিচুড়ি করতে বলি না, আমি সম্ভবত খুব দ্রুতই পরের দিকে চলে যাই। যদি তারা পরেরটিতেও ব্যর্থ হয় তবে আমি সম্ভবত তাদের সময়ের জন্য তাদের ধন্যবাদ জানাই এবং এগিয়ে যাব।
ইন্নিস

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

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

15

উত্তর দিচ্ছি

আমি বলছিলাম যে প্রার্থী যদি জিজ্ঞাসা করতে যথেষ্ট আগ্রহী না হন তবে আমি আমার নিঃশ্বাস নষ্ট করব না, তবে @ ইন্নিস_রিজোজ উত্তরটি আরও ভাল।

সাক্ষাত্কারগুলি বেশ দ্রুত গতিযুক্ত। আমি জানি আমি প্রায়শই কোনও সাক্ষাত্কারের পরে বেশিরভাগ দিন জিনিসগুলি সন্ধান করি।

যে ব্যক্তিরা ফিজবজ ক্লাসিক কোড করতে পারেন না

আমি ভাবছি একটি বড় স্টিকিং পয়েন্ট% অপারেটর সম্পর্কে সচেতন হচ্ছে। আপনি আশা করবেন যে কেউ তুলনা করার কথা ভাবতে পারে (myInt / 3) == (myDouble / 3.0)তবে একটি সাক্ষাত্কারের চাপের সাথে ... তবুও, ফিজবজ ক্লাসিক একটি নিষ্ঠুর-শক্তি পদ্ধতির জোর করে, এটিকে সমাধানের সবচেয়ে সহজ অ্যালগোরিদম সমস্যার ক্যাটাগরিতে রেখে। একটি ইঙ্গিত হিসাবে, আপনি কি লোকদের অর্ধ-ক্রেডিটের জন্য কেবল "ফিজ" কোড করার জন্য এবং সম্ভবত "বাজ "টিকে উন্নত হিসাবে যুক্ত করার চেষ্টা করেছেন?

আমি মনে করি আপনার প্রশ্নের চূড়ান্ত উত্তর হ'ল ভাল প্রার্থীদের সন্ধান করা সত্যিই কঠিন।

সাধারণভাবে সাক্ষাত্কারের প্রশ্নগুলি

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

হতে পারে একটি থিঙ্ক ট্যাঙ্কের অ্যালগরিদম প্রশ্নগুলিও প্রয়োজনীয়, তবে আমি এগুলি "প্রিয় প্রকল্প" প্রশ্নের পক্ষে রেখে দিয়েছি।

ফিজবউজের সম (পুত্র)

আপনার সাক্ষাত্কারের প্রশ্নটি FizzBuzz এর সমতুল্য নয়:

যদি আমরা 10 এর নীচে সমস্ত প্রাকৃতিক সংখ্যাগুলি 3 বা 5 এর গুণক হিসাবে তালিকাভুক্ত করি তবে আমরা 3, 5, 6 এবং 9 পাই। এই গুণকের যোগফল 23 হয় is 3 বা 5 এর সমস্ত গুণকের যোগফল খুঁজে বের করে এমন একটি ফাংশন লিখুন 1000 এর নিচে

যেখানে ফিজবুজ ক্লাসিক আপনাকে n পুনরাবৃত্তির মধ্য দিয়ে যেতে বাধ্য করে (প্রতিটি সংখ্যা বা Fizz / Buzz মুদ্রণ করতে), আপনার সমস্যা n / 5 + n / 3 + n / 15 পুনরাবৃত্তিতে বা এমনকি পুনরাবৃত্তিতেও করা যেতে পারে - প্রত্যক্ষ স্থির- পয়েন্ট গণনা সম্ভব। নিম্নলিখিত প্রোগ্রামটি এই তিনটি পদ্ধতির তুলনা করে:

public static void main(String[] args) {
  long n = Long.valueOf(args[0]).longValue();
  long sum = 0;
  long ms = System.currentTimeMillis();
  // Brute force method  Performance: cn
  for (long i = 1; i <= n; i++) {
    if ((i % 3) == 0) { sum += i;
    } else if ((i % 5) == 0) { sum += i; }
  }
  System.out.print("Brute force sum:    " + sum);
  System.out.println(" time: " + (System.currentTimeMillis() - ms));
  ms = System.currentTimeMillis();

  // Second solution: iterate through only numbers we are
  // interested in.  Performance: c * (n/3 + n/5 + n/15)
  // We counted multiples of 15 twice, so subtract one of them
  sum = countSum(n, 3) + countSum(n, 5) - countSum(n, 15);
  System.out.print("Only multiples sum: " + sum);
  System.out.println(" time: " + (System.currentTimeMillis() - ms));
  ms = System.currentTimeMillis();

  // Third solution: Use high school algebra.  Performance: c
  sum = sumSeries(n, 3) + sumSeries(n, 5) - sumSeries(n, 15);
  System.out.print("Sum of series:      " + sum);
  System.out.println(" time: " + (System.currentTimeMillis() - ms));
}

// Iteravely sum all multiples of skip
private static long countSum(long n, long skip) {
  long skipTotal = skip;
  long grandTotal = 0;
  while (skipTotal <= n) {
    grandTotal += skipTotal; skipTotal += skip;
  }
  return grandTotal;
}

// Thanks to @Caleb for pointing this out!  High school algebra
// tells us that the sum of a series is: (n * (a1 + an)) / 2
// where a1 is the first term and an is the nth term.  E.g. The
// sum of a series of 3 is: (n/3 * (3 + n - (n % 3))) / 2
// Since we are thinking about performance here, we'll shift
// right one instead of dividing by 2 for style points.  ;-D
private static long sumSeries(long n, long skip) {
  return (n/skip * (skip + n - (n % skip))) >> 1;
}

আউটপুট (FizzBuzz <1000 এর যোগফল):

$JDK_HOME/bin/java FizzBuzzNot 999
Brute force sum:    233168 time: 0
Only multiples sum: 233168 time: 0
Sum of series:      233168 time: 0

পারফরম্যান্স তুলনার জন্য বৃহত্তর এন সহ:

$JDK_HOME/bin/java FizzBuzzNot 1000000000
Brute force sum:    233333334166666668 time: 4744
Only multiples sum: 233333334166666668 time: 818
Sum of series:      233333334166666668 time: 0

যারা এটিকে অফ-টপিক হিসাবে ডাউন-ভোট দিয়েছেন তাদের জন্য দ্রষ্টব্য

এই প্রশ্নের সমাধান উপস্থাপনের বিষয়টিটি দেখানো হচ্ছে যে সামের ফিজবজ-এর ব্রেস্ট ফোর্স সলিউশনটি ফিজবজ ক্লাসিকের সাথে সমান, সুম সমস্যার আরও ভাল সমাধান পাওয়া যায়, এটি একে মৌলিকভাবে পৃথক সমস্যা তৈরি করে। যদি আপনি কোনও সিরিজের যোগফলের সঠিক সূত্রটি মনে না রাখেন বা 3 বা 5 পদক্ষেপে পদক্ষেপ নেওয়ার সময় এটি প্রয়োগ হয় তা বুঝতে না পারলে FizzBuzz এর যোগফল অত্যন্ত জটিল।

আপনি যদি অর্ধেক সিরিজটি অর্ধে বিভক্ত করে, অর্ধেকটি বিপরীত করে এবং তাদের জুটি তৈরি করে একটি সিরিজের যোগফলের সূত্রটি পুনরায় প্রাপ্ত করেন তবে আপনি (এন + 1) (এন / 2) পাবেন যা আপনাকে সত্যিকারের অগোছালো পথে নামিয়ে আনতে পারে যতদূর পর্যন্ত পূর্ণসংখ্যা বিভাগ এবং ছাঁটাই করা অবশিষ্টাংশগুলি উদ্বিগ্ন। এই সূত্রের (এন (এ 1 + এ)) / 2 সংস্করণ এন এর সমস্ত মানের জন্য একটি সহজ উত্তরের জন্য একেবারে সমালোচিত।


3
এটি সরাসরি (রুবি) গণনা করা যায়: t = { |i| (i * (i+1)) / 2 }; fizzbuzz = { |n| 3 * t((n-1)/3) + 5 * t((n-1)/5) }
কেভিন cline


1
@ গ্লেনএইচ Y হ্যাঁ, আমি আমার মন্তব্যটি মুছে ফেললাম কারণ এটি ছিল গুজখিল। গ্লেন তার বিশ্লেষণের পক্ষে প্রাপ্য, এমনকি যদি এটি সমস্ত প্রশ্নের প্রশ্নের উত্তর না দেয় তবে: ডি (তা ছাড়া, আমি মুহুর্তের আগে আমি আমার নিজের সমাধানটি সম্পূর্ণভাবে কোড করেছিলাম এবং চেষ্টা করেছি)
অ্যান্ড্রেস এফ

2
আপনি সিরিজটির যোগফল খুঁজছেন, এই সিরিজটি মডুলো = 0 এর ভিত্তিতে, সূত্রটি এন / 2 * (এম + এনএম) ব্যবহার করা যেতে পারে। যেখানে এম = মডুলো সংখ্যা এবং এন = সিরিজের উপাদানগুলির সংখ্যা (ওরফে ফ্লোর (এক্স / এম)। তারপরে এটি সহজ, এস (3) + এস (5) - এস (3 * 5) [যাতে কিছু সংখ্যা কি দুইবার গণনা পাবেন না]।
jmoreno

3
আপনার সমস্যা হতে পারে এর একটি কারণ হ'ল আপনি দু'বার কয়েকটি সংখ্যা গণনা করছেন (যারা 15 দ্বারা বিভাজ্য)। একটি উদাহরণস্বরূপ প্রোগ্রামের জন্য দেখুন আদর্শ one.com
ক্লোন /

8

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

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

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

সুতরাং না, আপনার উত্তরটি "দেওয়া" উচিত নয়, তবে আপনার প্রার্থনাটি ব্যর্থ হওয়ার পরে সঠিক উত্তরটি শুনতে জোর দেওয়ার প্রত্যাশা করা উচিত । যদি তারা না করে তবে এটি আমার বইয়ের একটি বিশাল লাল পতাকা।

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


1
কেন? আপনি উত্তরটি পরে গুগল করতে পারেন। ফিজবজ বেশ জনপ্রিয়। কেউ যদি মডিউলাস বিভাগ না জানেন তবে আমি সত্যই উদ্বিগ্ন।
ব্রায়ান

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

আমি ফিজবুজ সম্পর্কে সত্যই মতামত পেয়েছি ... তবে এটি সঠিক উত্তর। যদি প্রার্থী উত্তর না জিজ্ঞাসা করে, তা তাদের দেবেন না।
জেমস পি। রাইট

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

1
@ 0 এ 0 ডি, ফিজবুজ-এর সাথে জড়িত "গণিত" কেবলমাত্র কোনও পরীক্ষা করে 3 এবং / অথবা 5 দ্বারা বিভাজ্য কিনা তা পরীক্ষা করে দেখছে যে আপনি যে লেখায় প্রতিটি অ্যাপে গণিতের সেই স্তরটি উপস্থিত থাকে। এমনকি আমার মতো "বিজনেস ডেভস" যারা এই জাতীয় গণিতের স্তরকে বারবার ব্যবহার করে একই ধরণের প্রকল্পগুলি প্রয়োগ করে। গ্লেনএইচ 7, আমি এমনকি নিশ্চিত নই যদি ফিজবুজ-এ পুনরাবৃত্তি ব্যবহার আমাকে প্রভাবিত করবে বা আমাকে ভয় দেখাবে .... অবশ্যই বিপজ্জনক ওভারকিলের মতো বলে মনে হচ্ছে।
গ্রাহাম

4

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

এটি করতে সক্ষম না হওয়ায় সত্যিই কোনও পুনরুদ্ধার নেই। এটি সেই সমস্ত প্রয়োজনীয় উপদ্রবগুলির মধ্যে একটি যা আপনার ক্ষেত্রে কেবলমাত্র ক্ষেত্রে বেরিয়ে আসা দরকার।

আমি বলব যে প্রাক-স্ক্রিন হিসাবে বিতরণ করা আপনার বোধগম্য হয় যাতে আপনি একটি সাক্ষাত্কারের জন্য সাইটে তাদের আনতে সবার সময় নষ্ট করেন না।


আমাদের প্রাক-স্ক্রিনের জন্য, আমরা কিছু নমুনা কোড চেয়েছিলাম, যা সরবরাহ করা হয়েছিল। এই কোডটির উন্নত সি # ভাষার বৈশিষ্ট্যগুলির কিছুটা মধ্যবর্তী ছিল, তাই আমি আশাবাদী যে তিনি কেবলমাত্র এক বা দুই মিনিটের মধ্যে লজিক প্রশ্নগুলির মধ্য দিয়ে উড়িয়ে দেবেন।

7
প্রদত্ত নমুনা কোড যখন কোনও সাক্ষাত্কারে প্রদর্শিত জ্ঞানের সাথে মেলে না, তখনই আমার মস্তিষ্কটি তাত্ক্ষণিকভাবে নমুনা কোড সম্পর্কে সন্দেহজনক হয়ে ওঠে।
গ্রাহাম

@ গ্রাহাম: তাকে 6 মাসের জন্য টেম্পোর হিসাবে ভাড়া করুন ..
ব্রায়ান

@ 0A0D দুঃখের বিষয় আমি কখনই এমন জায়গায় কাজ করিনি যা এই ধরণের নমনীয়তার সুযোগ দেয়। যদি অবস্থানটি পুরো সময়ের জিগ হয় তবে আমরা সেই ব্যক্তিকে অফার করতে পারি।
গ্রাহাম

3
সেই দৃশ্যে কোনও বেড়া নেই। যদি তার "নমুনা কোড" একটি শক্তিশালী জ্ঞান প্রদর্শন করে এবং তিনি ফিজবজ কোডটি করতে না পারেন, নমুনাটি টানুন এবং তার বিশদটি জিজ্ঞাসা করুন। তিনি যদি এটি ব্যাক আপ করতে না পারেন তবে আমার প্রিয় লাইনের জন্য সময় এসেছে "আমাদের কাছে এখনও কিছু পরীক্ষার্থী পর্যালোচনা করার আছে, আমরা আপনার কাছে ফিরে আসব" "
মাইকেল ব্রাউন

4

এমনকি আমি তাকে লুপ ব্যবহার করার বিষয়ে ভাবতেও প্রশিক্ষণ দিয়েছিলাম এবং এটি 3 এবং 5 কে বিশেষ ক্ষেত্রে বিবেচনা করার মতো মূল্যবান ছিল।

আপনার ফিজবুজ-ইশ প্রশ্নের "সঠিক" উত্তর আপনি কী মনে করেন তা জেনে রাখা আগ্রহজনক হবে । আমি যেখান থেকে বসেছি, সেখান থেকে আপনার প্রশ্নের চিঠিতে একটি ভাল লেখা (সি তে) রয়েছে:

int f(void) {
    // sum the multiples of 3 and of 5 and subtract multiples of 15 so we don't count them twice
    return ((1000/3)/2)*(999+3) + ((1000/5)/2)*(995+5) - ((1000/15)/2)*(990+15);
}

আরও ভাল হতে পারে:

যখন আপনি সরাসরি এটি গণনা করতে পারেন তখন কেন হ্যাক আপনি একটি প্রোগ্রাম লিখবেন?

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

আমার প্রশ্ন হ'ল যুক্তিযুক্ত প্রশ্নের উত্তর আমার তাকে দেওয়া উচিত ছিল কিনা।

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


আপনার শেষ অনুচ্ছেদে শক্ত উত্তরের জন্য +1। এবং আপনি একটি ভাল বক্তব্য উত্থাপন যে আমার উচিত ছিল "উত্তর" পরিবর্তে "একটি" উত্তর। সেই নির্দিষ্টটি সমাধান করার বিভিন্ন উপায় রয়েছে। হিসাবে হিসাবে discuss the problem, সেই উপাদানটি সাক্ষাত্কারের সময় অন্যান্য প্রশ্ন নিয়ে আসে। দুঃখজনকভাবে, প্রার্থী ... উত্তর দেওয়ার আগে আসার চেয়ে কম ছিল। আমি মূল প্রশ্নটিতে সেই দিকটি যুক্ত করিনি কারণ আমি "ভাল বিষয়গত" জন্য পি.এসই নির্দেশিকাগুলির মধ্যে রাখার চেষ্টা করছি।

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

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

@ ইউজার ১১7২77 That's That's এটাই কথা - ফিজবজের মত নয়, ওপি'র সাক্ষাত্কারের প্রশ্নের উত্তর একক গণনা দিয়ে দেওয়া যেতে পারে। প্রার্থী কোনও লুপ লিখতে পারে কিনা তা দেখার বিষয়টি যদি দেখার বিষয় হয় তবে এটি একটি দুর্বল পছন্দ। আপনি কোনও নির্দিষ্ট (এবং অস্থিরিত) কারণে প্রশ্নটি জিজ্ঞাসা করছেন এমন ধারনা নিয়ে একজন প্রার্থী একটি ধীর, আরও বেশি ভার্বোস সমাধান বেছে নেওয়ার আশা করতে পারবেন না। প্রকৃতপক্ষে, সাক্ষাত্কারকারী সহজেই একটি "কৌশল" প্রশ্ন হতে পারে তা দেখার জন্য প্রার্থী লক্ষ্য করে যে লুপিং সম্পূর্ণ অপ্রয়োজনীয়। আপনার মন পড়া প্রার্থীর দায়িত্ব নয়।
কালেব

2

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

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

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

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


2

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

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

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


how they work to arrive at the answer is a critical factor. আমি যখন কোনও মডুলাস অপারেটর ব্যবহারের প্রত্যাশা করছিলাম তখন এর মন্তব্যের জন্য +1 , কেবলমাত্র এটি কারণেই আমি এটি সমাধান করে ফেলতাম। আমি সীমানা শর্তের ত্রুটিগুলি পরিষ্কার না করেই সমস্যার সমাধানকারী অন্য কোনও পদ্ধতি দেখার জন্য আমি খুব উন্মুক্ত ছিলাম (পুনরাবৃত্তির সাথে পদ্ধতির বিষয়ে আমার বিভিন্ন মন্তব্য দেখুন ....)।

2

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

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

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


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


2

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

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

যতক্ষণ না আমরা এমন একটি স্ট্যান্ডার্ড নিয়ে আসি যা সমস্ত সফ্টওয়্যার ইঞ্জিনিয়ারদের তাদের ভাষা নির্বিশেষে শ্রেণিবদ্ধ করবে আমরা তাদের দক্ষতার স্তরটি নির্ধারণের জন্য পৃথক হয়েই থাকি। এবং আমরা "সিনিয়র ইঞ্জিনিয়ার্স" সর্বাধিক প্রাথমিক দক্ষতা পরীক্ষায় ব্যর্থতার শুনানি চালিয়ে যাব।

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


আপনি কি দয়া করে আপনার ব্লগের লিঙ্কটি সংশোধন করবেন?
আন্দ্রে

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