মাইক্রোসফ্টের মতো বেশিরভাগ বিগ টেক কোম্পানি মূলত ডেটা স্ট্রাকচারের দিকে মনোনিবেশ করে focus এটি প্রদর্শিত হয় যেন ডেটা স্ট্রাকচারগুলিই কেবলমাত্র তারা স্নাতক থেকে প্রত্যাশা করে।
না, আরও আছে। উদাহরণস্বরূপ, আমরা এটিও প্রত্যাশা করি যে আপনি দ্রুত শিখনী যিনি স্বল্প সময়ের মধ্যেই নতুন ফ্রেমওয়ার্ক, এপিআই বা এমনকি প্রোগ্রামিং ভাষা শিখতে পারেন। এটি একটি ন্যূনতম সর্বনিম্ন বার। যে কেউ নতুন কাঠামো, এপিআই বা ভাষা শিখতে দীর্ঘ সময় নেয় সে মাইক্রোসফ্টের বেশিরভাগ দলে সফল বিকাশকারী হতে পারে না।
এবং অবশ্যই আরও অনেকগুলি বিষয় রয়েছে যা আমরা কেবলমাত্র ডেটা স্ট্রাকচারের কাঁচা জ্ঞান ব্যতীত সাক্ষাত্কারগুলিতে ফোকাস করি। অস্পষ্ট স্পেসিফিকেশনগুলির সাথে ডিল করার ক্ষমতা, উদাহরণস্বরূপ, বা কোডিং প্যাটার্নগুলি যা অনিরাপদ কোড তৈরি করে বা অন্যান্য কয়েক ডজন জিনিসকে সনাক্ত করার ক্ষমতা। তবে ডেটা স্ট্রাকচারগুলি বোঝার ক্ষমতা অবশ্যই খুব বড় একটি।
এটি বিশেষত ক্ষেত্রে যে সাম্প্রতিক সিএস গ্র্যাজুয়েটদের জন্য ডেটা স্ট্রাকচারের জ্ঞান পরীক্ষার দিকে সাক্ষাত্কার পক্ষপাতদুষ্ট। সাম্প্রতিক স্নাতক, যাদের বেশিরভাগের বাস্তব-বিশ্বের অভিজ্ঞতা নেই, একই ধরণের জিনিসগুলিতে ভাল হওয়ার আশা করা হয় না যা পনের বছরের শিল্প অভিজ্ঞতার সাথে ভাল হবে।
আমাকে অবশ্যই স্বীকার করতে হবে যে আমি ডেটা কাঠামোতে এতটা শক্তিশালী ছিলাম না
আপনি নিজের সম্পর্কে যে জানেন যে এটা ভাল। আপনি যদি নিজের সম্পর্কে এটি পরিবর্তন করতে অক্ষম বা অনিচ্ছুক হন তবে আমার প্রস্তাবটি হ'ল আপনি এমন কোনও কাজের জন্য আবেদন করবেন না যার জন্য ডেটা স্ট্রাকচার সহ সুবিধার দরকার রয়েছে facility
এই সাধারণ দৃষ্টিকোণটি রয়েছে যে একটি ভাল প্রোগ্রামার অগত্যা ডেটা স্ট্রাকচার সম্পর্কে ভাল জ্ঞানযুক্ত একজন।
এটি টোটোলজিক্যাল যে একজন ভাল প্রোগ্রামার এমন একজন প্রোগ্রামার যিনি বিভিন্ন ধরণের প্রোগ্রামগুলি তৈরি করা দরকার যা নির্মাণে ভাল। প্রচুর প্রোগ্রামার এমন কাজগুলিতে কাজ করে যেগুলির জন্য ডেটা স্ট্রাকচারের গভীর জ্ঞানের প্রয়োজন হয় না। তাদের মধ্যে কিছু এমন কাজগুলিতে কাজ করে যা ব্যবহারকারীর ইন্টারফেস ডিজাইনের গভীর জ্ঞান প্রয়োজন। বা ডাটাবেস নরমালাইজেশন। বা যাই হোক না কেন. এই লোকেরা তাদের ডোমেনগুলিতে এখনও "ভাল প্রোগ্রামার" হতে পারে।
ডেটা স্ট্রাকচারের উপর এই সমস্ত জোর কেন?
আমি ডেটা স্ট্রাকচার সম্পর্কে সাক্ষাত্কারের প্রশ্ন জিজ্ঞাসা করি কারণ আমার দলে ডেভেলপাররা প্রতিদিন জটিল ডেটা স্ট্রাকচার ডিজাইন করে, প্রয়োগ করে এবং পরিচালনা করে। গতকাল আমাদের চার ঘন্টা বৈঠক হয়েছিল যাতে একটি অর্ধ-ডজন বিকাশকারী একটি নির্দিষ্ট গাছের নোডে একক বুলিয়ান ক্ষেত্র যুক্ত করার পক্ষে মতামত নিয়ে তর্ক করেছিলেন। গভীর স্তরে ডেটা কাঠামো বোঝার দক্ষতার চেয়ে আমার দলের পক্ষে সম্ভবত আরও গুরুত্বপূর্ণ কোনও দক্ষতা নেই। এটি নিয়ে আমরা ইন্টারভিউর প্রশ্ন জিজ্ঞাসা না করা বোকামি হবে since
ডেটা স্ট্রাকচারগুলিতে জ্ঞান না থাকা কি আসলেই প্রোগ্রামিংয়ে কারও পেশাকে প্রভাবিত করে?
ভাল এটি অবশ্যই আপনাকে আমার দলে চাকরি পেতে বাধা দেবে। তবে আমি আগে যেমন বলেছি, প্রোগ্রামিং একটি বিশাল ক্ষেত্র। প্রচুর ধরণের কম্পিউটার প্রোগ্রামিং রয়েছে যার জন্য ডেটা স্ট্রাকচারের জ্ঞানের প্রয়োজন হয় না।
একটি ভাল এবং খারাপ প্রোগ্রামারকে আলাদা করার পক্ষে এই বিষয়টির জ্ঞানটি কি আসলেই যথেষ্ট ভিত্তি?
না। তবে মাইক্রোসফ্টে সফল হওয়ার সম্ভাবনা নেই এমন বিকাশকারীদের সনাক্ত করা প্রায় সর্বদা যথেষ্ট। যেহেতু আমি প্রাথমিকভাবে এটি সনাক্ত করতে আগ্রহী তাই ডেটা স্ট্রাকচারের জ্ঞান হ'ল আমি সাক্ষাত্কারগুলিতে পরীক্ষার কারণগুলির মধ্যে একটি।