কেন একটি সাক্ষাত্কারের সময় "সি # সম্পর্কে আপনি পাঁচটি জিনিসকে ঘৃণা করেন" এই প্রশ্নের উত্তর দেওয়া কেন এতটা কঠিন? [বন্ধ]


32

ইন পডকাস্ট 73 , জোএল স্পলস্কাই এবং জেফ অ্যাটউড আলোচনা, অন্যান্য বিষয়ের মধ্যে, "পাঁচটি জিনিস সবাই তাদের প্রিয় প্রোগ্রামিং ভাষা সম্পর্কে ঘৃণা করা উচিত":

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

কৌতূহলী হওয়ার কারণে, আমি যে সাক্ষাত্কার নিয়েছি তার কাছে এই প্রশ্নটি জিজ্ঞাসা করেছি। তাদের মধ্যে কেউ সি # about সম্পর্কে তাদের ঘৃণিত কমপক্ষে একটি জিনিস উদ্ধৃত করতে সক্ষম হয় নি ¹

কেন? এই প্রশ্নে এত কঠিন কি? ইন্টারভিউর স্ট্রেসাল প্রসঙ্গের কারণেই এই প্রশ্নটির উত্তরদাতাদের দ্বারা উত্তর দেওয়া অসম্ভব?

এই প্রশ্ন সম্পর্কে কিছু আছে যা এটি একটি সাক্ষাত্কারের জন্য খারাপ করে?


স্পষ্টতই, এর অর্থ এই নয় যে সি # নিখুঁত। আমার নিজের কাছে সি # সম্পর্কে ঘৃণিত পাঁচটি জিনিসের একটি তালিকা রয়েছে:

  • জেনেরিকগুলিতে ধরণের পরিবর্তনশীল সংখ্যার অভাব ( paramsআর্গুমেন্টের অনুরূপ )।
    Action<T>,
    Action<T1, T2>,
    Action<T1, T2, T3>,
          ⁞ সিরিয়াসলি ?!
    Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>

  • এফ # এর মতো পরিমাপের এককগুলির জন্য সমর্থনের অভাব।

  • কেবলমাত্র পড়ার বৈশিষ্ট্যের অভাব। private readonlyপ্রতিবারের মতো ব্যাকিং ফিল্ড লেখার জন্য আমি কেবল পঠনযোগ্য সম্পত্তি চাই বিরক্তিকর।

  • ডিফল্ট মান সহ বৈশিষ্ট্যের অভাব। এবং হ্যাঁ, আমি জানি যে আমি সেগুলি প্যারামিটারলেস কন্সট্রাক্টরে আরম্ভ করতে পারি এবং অন্যান্য সমস্ত কনস্ট্রাক্টরের কাছ থেকে কল করতে পারি। তবে আমি চাই না।

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

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


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


52
Why the question “give five things you hate about C#” is so difficult to answerকারণ এটি একটি তালিকার প্রশ্ন, এবং একটি খারাপ পদ্ধতি এটির উত্তর দেওয়ার সুযোগ পাওয়ার আগেই এটি "গঠনমূলক নয়" হিসাবে বন্ধ করবে ...; পি
ইয়ানিস

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

5
প্রোগ্রামিং ভাষা সম্পর্কে জিনিসগুলি ঘৃণা করার জন্য সম্ভবত আপনার মস্তিষ্কের সঞ্চয় স্থানটি আপনার মুখোমুখি হওয়া অন্যান্য ভাষাগুলির সাথে বেশিরভাগ ক্ষেত্রে পূর্ণ।
21

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

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

উত্তর:


42

যদি আমার অনুমান করতে হয়:

  1. কিছু প্রোগ্রামার বিভিন্ন ভাষা এক্সপোজার অভাব। যখন আপনি জানেন না যে আরও ভাল জিনিসের অস্তিত্ব রয়েছে তখন ভাষার সাথে জিনিসগুলি দেখতে অসুবিধা হয়।

  2. কিছু প্রোগ্রামার কেবল কোড বানর। তারা তাদের সামনে সমস্যাগুলি সবেच বিশ্লেষণ করে, কীভাবে তাদের প্রোগ্রামিংয়ের ভাষা আরও ভাল হতে পারে তার মতো কিছু ছেড়ে দিন।

  3. খুব কম লোকই বিশেষ সমালোচিত। তারা সুবিধাগুলি এবং বৈশিষ্ট্যগুলি দেখেন, ত্রুটিগুলি নয়। যদি সাক্ষাত্কারটি সেভাবে না চলে যায় তবে তাদের পক্ষে চিন্তাভাবনার সেই মোডে স্থানান্তরিত করা শক্ত।

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


22
2 নম্বর হিসাবে, আমরা সফটওয়্যার সিমিয়ানসকে পছন্দ করি , স্যার।
টনিডিজডেজেড

@ টম আমি ভেবেছিলাম এটি প্যান প্রোগ্রাম্যাটোরিবাস
স্টেফানো বোরিনি

9
@ টেলাস্টিন আপনার উত্তরে পাঁচটি বুলেট পয়েন্ট থাকা উচিত নয় ?
বেন জ্যাকসন

# 4 হ'ল তাৎক্ষণিকভাবে আমার মনে আসে, বিশেষত কাজের পরিবেশে যা সি # ব্যবহার করার প্রতিশ্রুতিবদ্ধ। সাধারণ সাক্ষাত্কার এবং কর্মক্ষেত্রের আচরণের পরামর্শের কথা বিবেচনা করে চাকরীর সাক্ষাত্কারে এটি জিজ্ঞাসা করা "খারাপ দৃষ্টিভঙ্গি" ধরার মতো টোপ বলে মনে হতে পারে যা তারা সেই ব্যক্তিকে ভাড়া নিতে না পারে। আইনী বিচারের বিপরীতে, চাকরির সাক্ষাত্কারগুলিতে এনট্রাপমেন্ট কার্যকর প্রতিরক্ষা হওয়ার সম্ভাবনা কম। ;-)
ড্রোনজ

35

আমি কল্পনা করব যে একটি সাক্ষাত্কারের সময় প্রশ্নের উত্তর দেওয়া এত কঠিন কারণ এটি:

  1. সত্যিই অপ্রত্যাশিত,

  2. একটি সাক্ষাত্কারকালে ব্যবহৃত ব্যক্তির চেয়ে অনেক বেশি চিন্তাভাবনা এবং চিন্তাভাবনা প্রয়োজন,

  3. খুব কম সময়ে সাধারণভাবে উত্তর দেওয়া শক্ত (সাক্ষাত্কারের আগে প্রস্তুত না হলে)।

1. এটি অপ্রত্যাশিত

অপ্রত্যাশিত প্রশ্নগুলি সত্যই শক্ত, বিশেষত একটি চাপযুক্ত প্রসঙ্গে। একটি সাক্ষাত্কারের সময় নিম্নলিখিত সংলাপটি কল্পনা করুন:

- HashSet<T>এবং মধ্যে পার্থক্য কি List<T>?
- হ্যাশসেটটি এমনভাবে অনুকূলিত হয়েছে যাতে কোনও উপাদানটির অনুসন্ধান খুব দ্রুত হয়। উদাহরণস্বরূপ আপনি যদি set.Contains()অনেকবার লুপের মধ্যে ব্যবহার করেন তবে setতালিকা থেকে হ্যাশসেটে স্থানান্তর করা জিনিসগুলিকে আরও দ্রুত করতে পারে।
- আপনি কীভাবে কেবল পঠিত সম্পত্তি তৈরি করবেন?
- আমি readonlyকোনও সম্পত্তি প্রাপ্তির জন্য ব্যাকিং ফিল্ড হিসাবে চিহ্নিত ক্ষেত্রটি ব্যবহার করি যার কেবলমাত্র প্রাপ্তি রয়েছে।
- এর ব্যবহার কী sealed?
- আপনি এটি ক্লাসগুলির জন্য ব্যবহার করেন যা উত্তরাধিকারসূত্রে প্রাপ্ত হবে না।
- আপনি ডেন্টিস্টকে শেষবার দেখেছেন?
- কি?!

2. এটা অনেক প্রয়োজন বিভিন্ন চিন্তা

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

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

৩. এটির জন্য সময় প্রয়োজন

সত্যি বলতে কী, আমার কাছে আমার # টির (আসলে আরও বেশি) জিনিসগুলির তালিকা রয়েছে যা আমি সি # সম্পর্কে ঘৃণা করি তবে আমি দীর্ঘ সময় ধরে এটি সম্পর্কে ভেবেছিলাম। .NET ফ্রেমওয়ার্ক 2 যুগের কয়েকটি জিনিস; আমি নেট নেট ফ্রেমওয়ার্ক 2 এর জন্য তালিকাভুক্ত বেশিরভাগ সমস্যাগুলি আর বৈধ নয় কারণ সেগুলি মুছে ফেলা হয়েছে, কিছুগুলি লিনকিউ এবং এই সমস্ত কার্যকরী প্রোগ্রামিং স্টাফ সহ, অন্যরা গতিশীল প্রোগ্রামিং সহ। আমি নিশ্চিত নই যে এই প্রশ্নটি তৈরি না করেই আমি একটি সাক্ষাত্কারের সময় পাঁচটি উপাদানই সন্ধান করতে সক্ষম হব।


3
আমার মনে হয় আপনি সাধারণত ঠিক, কিন্তু যথেষ্ট সময়ের জন্য একটি নির্দিষ্ট ভাষায় প্রোগ্রামিং কেবল হবে করতে আপনি এটি নির্দিষ্ট 'নিজস্ব চালচলন' ঘৃণা করি। কোনও ধরণের হিট তালিকার মতো। অথবা আমি যে কোনও ভাষা / প্ল্যাটফর্ম ব্যবহার করেছি তার জন্য কমপক্ষে আমার কাছে একটি আছে। বা সম্ভবত আমি কেবল নষ্ট এবং পিক করছি।
কে.স্টেফ

2
@ কে.স্টেফ: "হিট-লিস্ট" এটির জন্য একটি নিখুঁত নাম :)। আমি অবশ্যই আমার প্রিয় প্ল্যাটফর্মের সাথে আরও পাঁচটি সমস্যা ভাবতে পারি; যদি আপনি আমাকে এমন ভাষা সম্পর্কে জিজ্ঞাসা করেন যা আমি পছন্দ করি না তবে জোর করে ব্যবহার করতে পারি (যেমন জাভা বা পাইথন) আমি সম্ভবত কয়েক ঘন্টা যেতে পারি: পি।
টিখন জেলভিস

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

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

21

আমার মনে হয় এটা শব্দের কারণ কঠিন পাঁচটিঘৃণা শব্দটির কারণে এবং কিছুটা কম মাত্রায় ।

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

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

পরিবর্তে, আপনি জিজ্ঞাসা করতে পারেন যদি সি # এর উপর নির্ভর করে আপনি কী সম্পর্কে উন্নতি করবেন? এটি মধ্যস্থতাকারীকে যে কোনও সংখ্যক বিষয়ের সাথে উত্তর দেওয়ার অনুমতি দেয়। এই শব্দবন্ধ অপেক্ষাকৃত ইতিবাচক "উন্নতি" এর জন্য "ঘৃণা" শব্দের নেতিবাচকতারও বাণিজ্য করে।


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

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

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

  • বেশিরভাগ সি # -svyvy প্রার্থী যারা এটিকে জাভা / সি / সি ++ এর সাথে তুলনা করছেন তারা এতে খুশি । জাভা (ইভেন্টস, কলব্যাকস, গ্রাফিক্স লাইব্রেরি, ডাটাবেস ওয়ার্ক) এর চেয়ে অনেক ভাল কাজ করার জন্য সি # গ্রাউন্ড থেকে তৈরি করা হয়েছিল। জাভা ঘুরে দেখা যায় আরও সহজ ব্যবহার করার জন্য ডিজাইন করা হয়েছিল, এবং তাই C ++ এর চেয়ে সঠিক কোডের দিকে বেশি মনোযোগ নিবদ্ধ করে। আমি এখনও কোনও সি # প্রোগ্রামারের সাথে দেখা করতে পেরেছি যিনি এমন পরিবেশে সি ++ এ ফিরে যেতে চান যেখানে ফোস্কা দেওয়া কর্মক্ষমতা এবং কাছাকাছি-সার্কিট-স্তর নিয়ন্ত্রণ নিয়ন্ত্রণের প্রয়োজনীয়তা নয়।

অন্য কথায়, দেখুন-শার্পারগুলির কাছে এটি বেশ ভাল, সমস্ত বিষয় বিবেচনা করা হয়।

এখানে আমার তালিকা:

  • লাম্বদা স্টেটমেন্টগুলি দেখার মতো / মূল্যায়নযোগ্য নয় । নামযুক্ত পদ্ধতিতে কলগুলি ভিএস-এর কুইকওয়াচে প্লাগ ইন করা যায়। তাই এক্সপ্রেশন করতে পারেন। তবে ল্যাম্বডাস? নাহ (কমপক্ষে VS2010 এ নেই)। ডিবাগিং লিনক চেইনগুলিকে আসল কাজ করে তোলে।

  • স্ট্রিং ব্যতীত রেফারেন্স ধরণের জন্য paraচ্ছিক প্যারামিটার মানগুলি কেবল শূন্য হতে পারে । যদি আমি একটি ওভারলোড স্ট্যাক তৈরি করতাম তবে আমি অন্যান্য ডিফল্ট ব্যবহার করতে চাই। আমি অন্য কোনও প্যারামিটারের উপর ভিত্তি করে সম্পত্তি বা সাধারণ অভিব্যক্তির ভিত্তিতে একটি মান ডিফল্ট করতে সক্ষম হতে পারি। তবে পারছি না। সুতরাং overচ্ছিক পরামিতিগুলির বিকল্পগুলি এত মারাত্মকভাবে সীমাবদ্ধ হয়ে যাওয়ার পরে কোনও ওভারলোড স্ট্যাক তৈরি করার দরকার নেই (যা বয়লারপ্লেট পরিচালনা করার জন্য রিসার্পারের মতো একটি রিফ্যাক্টরিং সহকারী সহ গৌণ) is

  • গুরুতর উত্তরাধিকার কোডের সমস্যাগুলির জন্য সি # যথেষ্ট বয়স্ক হয়ে উঠছে । মূলত ১.১ এর জন্য লিখিত কোডের ফলে যে কেউ 4.0 ব্যবহার করতে পারে ভয়াবহতায় ডুবেছিল। এমনকি 2.0 কোডটি খুব বেশি মিস করে। একই সময়ে, তৃতীয় পক্ষের লাইব্রেরিগুলি এডো.নেট এর মতো জিনিসকে ভীতিজনকভাবে আদিম বলে মনে করে (এবং ADO.NET এর অনেকগুলি "সংযুক্ত মডেল" এখন একটি বৃহত বিরোধী নিদর্শন)। তবুও, পিছনের দিকে সামঞ্জস্যের জন্য, নেট এই সমস্ত পুরানো, খারাপ কোডের পক্ষে সমর্থন করে, "অ্যারেলিস্ট এটি করার একটি কৃপজনক উপায় ছিল, এরকম কিছু বলার সাহস কখনওই করা হয়নি, আমরা দুঃখিত যে আমরা এটি কখনও রেখেছি এবং আমরা গ্রহণ করছি পরিবর্তে তালিকাটি ব্যবহার করুন এবং আপনার যদি বিভিন্ন ধরণের তালিকার প্রয়োজন হয় তবে এটি হিসাবে ঘোষণা করুন List<Object>

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

    switch(someInt)
    {
        case < 0: //all negative values enter here
           //...
           break;
        case 0: 
           //...
           break;
        case 1:
           //...
           //no break; continue through to the code for > 1
        case > 1 // all positive values enter here (including 1)
           //...
           break;
    }
  • কোনও সংখ্যাসূচক ইন্টারফেস নেই । এটি যদি একটি নম্বর হয় তবে আপনি এটির সাথে গণিত করতে পারেন। অনেক ক্ষেত্রে প্রকৃত পদ্ধতিতে ঠিক কোন ধরণের প্লাগ ইন করা হয় সে সম্পর্কে যত্ন নিতে হয় না; নির্ভুলতা কলারের দায়িত্ব। তবুও জেনেরিক পদ্ধতি বা শ্রেণি তৈরি করা সম্ভব নয় যা কেবল জিটিপি হিসাবে সংখ্যার প্রকারকে গ্রহণ করতে পারে।

3
"বেশিরভাগ সি # -svyvy প্রার্থী যারা এটিকে জাভা / সি / সি ++ এর সাথে তুলনা করছেন তারা এতে খুশি"। এই আমার চিন্তা ছিল। সি # সম্পর্কে ঘৃণা করার মতো খুব বেশি কিছু নেই কারণ এটি আপনাকে প্রযুক্তিগত সমস্যার সমাধানের পরিবর্তে ব্যবসায়ের সমস্যার সমাধানের দিকে মনোনিবেশ করতে দেয়। ভাষার সাথে আমার সবচেয়ে বড় গ্রিপটি হ'ল আমি সুইচ কেস পরীক্ষায় রিসোর্স স্ট্রিং ব্যবহার করতে পারি না কারণ তারা প্রযুক্তিগতভাবে পরিবর্তনশীল এবং স্থায়ী নয়।
স্টিফেন

4
জেনেরিকস এবং পাত্রে বিট - জেনেরিক্সে প্রসারিত সুপার এবং অস্পষ্টতার সাথে দরকারী উদাহরণ? এটি কিছুটা ব্যাখ্যা করে অর্পণ করার Bag<Fruit> bag = Bag<Huckleberry>অর্থ হ'ল আপনি এটি করতে পারেন bag.add(new Watermelon())যা এটি ধরে রাখতে পারে না।

4
No INumeric এর জন্য +1। বিরল, তবে বিরক্তিকর।
jmoreno

ধরুন Thing<out T>একটি স্থিতিশীল ক্ষেত্র রয়েছে যা উদাহরণ পদ্ধতি এবং একটি স্ট্যাটিক পদ্ধতি উভয়ই অ্যাক্সেস করতে পারে। যদি একটি Thing<Cat>এমন কোনও পদ্ধতির কাছে পাস হয় যা একটি প্রত্যাশা করে Thing<Animal>এবং সেই পদ্ধতিটি Thing<Animal>রেফারেন্সের উপরোক্ত উদাহরণগুলি এবং স্থিতিশীল পদ্ধতিগুলিকে কল করে তবে এই পদ্ধতিগুলির কোন স্থির ক্ষেত্র (গুলি) অ্যাক্সেস করা উচিত?
সুপারক্যাট

11

আমি পরামর্শ দেব যে সমস্যার অংশটি একটি খারাপ উত্তর দেওয়ার ভয় - আপনি বলে যে আপনি এক্সকে ঘৃণা করেন, ইন্টারভিউয়ার এক্স এক্সকে পছন্দ করে বা এক্সকে ঘৃণার কারণটি বোকামি বলে মনে করে, আপনি মনে করেন এটি ঠিক আছে কম বিতর্কিত বিকল্প বলে মনে হতে পারে।

এটি সম্ভবত এমন কিছু যা সম্পর্কে বেশিরভাগ মানুষ সত্যই খুব বেশি চিন্তাভাবনা করেননি; তাদের বর্তমান সমস্যা এবং অতীতের সমস্যা রয়েছে, অতীতের সমস্যাগুলি যা ল্যাঙ্গুজের কারণে ঘটেছিল তা শেষ হয়ে গেছে এবং তাই লোকেদের মূলত সমাধানটি বিবেচনা করে এবং সমস্যাটি ততটা তাৎপর্যপূর্ণ নয় বলে বিবেচনা করে, এবং ভাষাটির কারণে খুব কমই বর্তমান সমস্যা দেখা দেয়।


7

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

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


1
+1 পাঁচটি ভয়ঙ্কর, এই কারণে 1 বা 2 সম্ভবত আরও উত্তর পেতে পারে।
লরেন্ট কুইভিডু

2
ঘৃণা একটি সীমাবদ্ধতা থেকে একেবারে আলাদা ......
mattnz

4

আপনি সি # এর সাথে গভীরতার অভিজ্ঞতার অভাব এবং / অথবা অন্যান্য ভাষাগুলির সংস্পর্শের অভাব বলেছিলেন তা পছন্দ করে নেমে আসে। আমি বেশ কয়েকটি বিকাশকারীদের সাথে সাক্ষাত্কার নিয়েছি যারা নিজেকে প্রবীণ বলে মনে করে যারা এমন কিছু প্রশ্নের উত্তর দিতে পারেনি যা সি # এর পৃষ্ঠের একটি হালকা স্ক্র্যাচ তাদের কাছে প্রকাশিত হওয়া উচিত ছিল।

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

  1. অপরিবর্তনীয় বস্তুগুলির তৈরি করার জন্য প্রচুর অনুষ্ঠানের প্রয়োজন হয় (কোনও কার্যকরী ভাষার বিপরীতে যেখানে অবজেক্টগুলি ডিফল্টরূপে অপরিবর্তনীয়)।
  2. ধাতব প্রোগ্রামিং করা কঠিন। টাইপ এমিটের সাথে লিস্প ম্যাক্রোগুলির তুলনা করুন। (সংকলক পরিষেবাদি এটি এগিয়ে যাওয়ার জন্য অনেক সহায়তা করবে)।
  3. এক্সটেনশন পদ্ধতিগুলি দুর্দান্ত ... এক্সটেনশন বৈশিষ্ট্য এবং এক্সটেনশন অপারেটর (বিশেষত অন্তর্ভুক্ত এবং স্পষ্টত অপারেটর) আরও ভাল হবে।
  4. সুস্পষ্ট ক্যাসেটগুলি রান-টাইমের পরিবর্তে সংকলন সময়ে সমাধান করা হয়।
  5. কোনও সিকোয়েন্স মিলছে না এটি ফাংশন ওভারলোডিংয়ের চেয়ে অনেক বেশি পরিষ্কার।

আমি আপনার প্রথম দুটি পয়েন্টের সাথে একমত, তবে আমি একটি এক্সটেনশন অন্তর্নিহিত রূপান্তর ধারণাটি থেকে কাঁপছি।
CodeInChaos

3

আমি তার চারদিকে ভাবছি যে সে কী বলছে; যদি আপনি ভাবেন যে এটি ভেঙে গেছে তবে আপনি সম্ভবত বুঝতে পারবেন না যে এটি কেন এটি। আপনার জ্ঞানের কোনও ছিদ্র থাকতে পারে।

হাস্যকরভাবে, সাক্ষাত্কারকারীরা যারা মনে করেন যে তারা একটি দুর্দান্ত সাক্ষাত্কারের প্রশ্ন হিসাবে এটি ব্যবহার করে "দ্য গ্রেট জোয়েল" উদ্ধৃত করছেন সম্ভবত সম্ভবত বিষয়টিটি মিস করছেন missing


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

10
আমি মনে করি তিনি বিপরীত বলছে - যদি আপনি মনে করেন একটি প্ল্যাটফর্ম না এ সব কোন ভাবেই ভাঙ্গা, আপনি এটি যথেষ্ট ভাল জানি না। এটি হ'ল তার বক্তব্যটি হ'ল যতক্ষণ না আপনি তার ত্রুটিগুলি অন্ধ না করেন ততক্ষণ একটি প্ল্যাটফর্মের সাথে লেগে থাকা ভাল fine
টিখন জেলভিস

3

তারা উত্তর দিতে অনিচ্ছুক হতে পারে কারণ তারা এই ধারণার মধ্যে থাকতে পারে যে তারা যদি একটি ভাষার সম্পর্কে তারা ঘৃণিত 5 টি বিষয় তালিকাভুক্ত করতে পারে তবে সাক্ষাত্কারটি ঘুরে দাঁড়াতে পারে এবং বলে যে ওহ, আমরা সি # 'নিনজাস' খুঁজছি এবং আপনি মনে করেন না ভাষা পছন্দ করতে ', বা' ভাষা পছন্দ না হলে আপনি কেন চাকরীর জন্য আবেদন করেছিলেন? '

সাক্ষাত্কারের সময় ইন্টারভিউয়েরা ইতিবাচক থাকার জন্য অনেক চাপের মধ্যে রয়েছে।


যদি আমি কোনও ভাষায় কিছু ঘৃণা করি তবে এর অর্থ এই নয় যে আমি ভাষাটিকে ঘৃণা করি। এই প্রশ্নের <ডেল> </ del> ইতিবাচক উপায়েও উত্তর দিতে হবে। যদি আমরা এইচটিএমএল 4 তে কিছু ঘৃণা না করি তবে আমাদের কেন HTML5 দরকার? :)
ই-এমইই

3

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

আপনি এখন চিন্তা না করেই এটি করেন, এমনকি আপনি এটি করছেন তা জেনেও না। এই কারণেই খারাপ জিনিসগুলি কী তা উল্লেখ করা এত কঠিন। সন্দেহ নেই যেদিন আপনি সি # শিখতে শুরু করেছিলেন সেদিন আপনি প্রচুর সমস্যা পেয়েছিলেন, কিন্তু এখন আপনি আর দেখতে পাচ্ছেন না। অভ্যাস শক্তিশালী জিনিস। চিন্তার অভ্যাস, আরও অনেক কিছু

এর ইতিবাচক দিকটি হ'ল, যদি আপনি সি # তে ত্রুটিগুলি তালিকাবদ্ধ করতে অসুবিধা পান তবে এটি অবশ্যই আপনার কারণ একটি ভাল সি # প্রোগ্রামার, আপনি ভাষা পছন্দ করেন এবং অন্যান্য ভাষার চেয়ে এটি বেশি ব্যবহার করেন।

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

এবং আপনি যখন সি # এ ফিরে আসবেন, আপনার মত হবে, "হাস্কেলের ঠিক এক লাইনের এই সাধারণ কাজটি করার জন্য আমার কেন সি # এর একশ লাইনের দরকার?"। আপনি সি # সম্পর্কে প্রচুর বিষয় ঘৃণা করবেন।

  • সি # এর নন-অযোগ্য রেফারেন্স ধরণের নেই।
  • কোনও বীজগণিত তথ্য প্রকার নেই।
  • কোনও স্ট্রিং ইন্টারপোলেশন নেই।
  • সিনট্যাক্স সর্বত্র মাত্রাতিরিক্ত ভার্জোজ।
  • কোনও ম্যাক্রো সিস্টেম নেই।
  • প্রকার অনুমিতি সীমাবদ্ধ।
  • কোনও রিজেক্সপ আক্ষরিক নয়।
  • কোনও কাঠামোগত টাইপিং নেই।
  • অপরিবর্তনীয়তার জন্য দরিদ্র সমর্থন।
  • সি # স্ট্রাক্টগুলি ত্রুটি-প্রবণ।
  • মানক সংগ্রহের পাঠাগারটি অত্যন্ত সীমাবদ্ধ।
  • কনস্ট্রাক্টরের প্যারামিটারে সীমাবদ্ধতা নির্ধারণ করতে পারে না।
  • গণিত অপারেটরদের সীমাবদ্ধতা সহ সাধারণভাবে প্রোগ্রাম করতে পারবেন না।
  • কোনও 'নিউ টাইপ' নয়।
  • কোনও অ্যারে স্লাইসিং, কোনও পরিসীমা আক্ষরিক নয়।
  • ফাংশনগুলি তাদের ধরণের পার্শ্ব-প্রতিক্রিয়াগুলির তালিকা করে না যা তারা তাদের ধরণের অংশ হিসাবে করতে পারে। :)

(অবশ্যই কোনও ভাষাতেই সব কিছুই থাকতে পারে না। ভাষার নকশা অত্যন্ত কঠিন, এবং প্রতিটি বৈশিষ্ট্য একই ভাষায় যুক্ত করা কার্যকর হতে পারে না different বিভিন্ন উদ্দেশ্যে বিভিন্ন সরঞ্জাম)

হ্যাঁ, প্রশ্নের উত্তরের উত্তরটি বিশেষত একটি সাক্ষাত্কারের সময় মুশকিল। তবে যে লোকেরা এর উত্তর দিতে পারে তারা প্রমাণ করে যে তারা এ সম্পর্কে চিন্তাভাবনা করেছে, তাদের কিছু দৃষ্টিভঙ্গি রয়েছে।


+1 টি। দুর্দান্ত পয়েন্ট। প্রকৃতপক্ষে, আমি আসলে সি # তে ঘৃণা করি এমন অনেকগুলি জিনিস অন্যান্য ভাষার একই রকম ত্রুটিগুলি না থেকে আসে। আসল টিপলসগুলির অভাব (অর্থাত (a, b) = this.something();পাইথনের মতো করতে অসম্ভবতা ) আমার মনে প্রথম আসে।
আর্সেনি মরজেনকো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.