সফটওয়্যার ইঞ্জিনিয়ার নিয়োগ দেওয়ার সময় অনেক প্রতিষ্ঠান এক বা একাধিক কোডিং ইন্টারভিউ নিয়ে থাকে। এসব ইন্টারভিউতে যেসব সমস্যা দেওয়া হয়, তাদের মধ্যে প্রচুর সমস্যা হচ্ছে বিভিন্ন ডেটা স্ট্রাকচার সংক্রান্ত সমস্যা। যেহেতু বেশিরভাগ সফটওয়্যার ডেভেলাপাররা তাদের দৈনন্দিন কাজে এসব সমস্যার সমাধান করেন না, তাই কোডিং ইন্টারভিউ দিতে যাওয়ার আগে বিশেষ প্রস্তুতি প্রয়োজন। পৃথিবীর নানা প্রান্তে বাংলাভাষী প্রোগ্রামারদের জন্য কোডিং ইন্টারভিউয়ের প্রস্তুতি সহজ করাই এই কোর্সের উদ্দেশ্য।
কোডিং ইন্টারভিউতে সচরাচর দেওয়া হয় এরকম ৪১টি প্রোগ্রামিং সমস্যার সমাধান নিয়ে এই কোর্সে আলোচনা করা হয়েছে। সেই সঙ্গে পাইথন প্রোগ্রামিং ভাষায় সমাধান দেখানো হয়েছে। তবে কেউ চাইলে অন্য প্রোগ্রামিং ভাষা ব্যবহার করেও সমস্যাগুলোর সমাধান করতে পারবে।
যেসব বিষয়ের সমস্যা নিয়ে আলোচনা করা হয়েছে, সেগুলো হচ্ছে -
অ্যারে (Array)
সার্চিং ও সর্টিং (Searching and Sorting)
হ্যাশ টেবিল বা হ্যাশ ম্যাপ (Hash table / hash map)
রিকার্শন ও মোমোআইজেশন (Recursion and Memoization)
স্ট্রিং ম্যানিপুলেশন (String Manipulation)
স্ট্যাক (Stack)
লিঙ্কড লিস্ট (Linked Lists)
বাইনারি ট্রি (Binary Tree)
বাইনারি সার্চ ট্রি (Binary Search Tree)
বেশিরভাগ সমস্যাই নেওয়া হয়েছে লিটকোড (leetcode) ওয়েবসাইট থেকে। এছাড়া কয়েকটি সমস্যা ইন্টারভিউবিট (interviewbit) ওয়েবসাইট থেকেও নেওয়া হয়েছে। তবে কারো হাতে সময় থাকলে কেবল এই কোর্সের মধ্যেই নিজের প্রস্তুতি আবদ্ধ না রাখার অনুরোধ রইল। বিশেষ করে গুগল, ফেসবুক, মাইক্রোসফট, অ্যামাজনের মতো প্রতিষ্ঠানে ইন্টারভিউ দেওয়ার প্রস্তুতি নিতে চাইলে আরো কিছু ডেটা স্ট্রাকচার (যেমন হিপ, ডবল এন্ডেড কিউ, ডিসজয়েন্ট সেট) ও অ্যালগরিদম (গ্রাফ, ডায়নামিক প্রোগ্রামিং, ব্যাকট্র্যাকিং) সংক্রান্ত সমস্যা সমাধান করতে হবে।
আর ডেটা স্ট্রাকচারের আইডিয়াগুলো রিভাইজ করতে চাইলে আমার ইউটিউব চ্যানেলে ডেটা স্ট্রাকচার ও অ্যালগরিদম প্লেলিস্টের ভিডিওগুলো দেখে নিতে হবে। সেখানে বাংলা ভাষায় ডেটা স্ট্রাকচারগুলো নিয়ে আলোচনা করেছি।
140
43
TAKE THIS COURSE