চাকরির প্রস্তুতিসফটওয়্যার ডেভেলপমেন্ট

সফটওয়্যার ডেভেলপমেন্ট ইন্টারভিউ প্রশ্ন ও উত্তর

১০টি প্রশ্ন · ৭ মিনিট

OOP, ডিজাইন প্যাটার্ন, SDLC, এজাইল, ভার্সন কন্ট্রোল, TDD, ORM ও REST API।

এই প্রশ্নগুলো একটা জিনিসই যাচাই করে: আপনি কোড লেখেন, নাকি সফটওয়্যার বানান। পার্থক্যটা প্রক্রিয়ায়।

এজাইল, গিট আর টেস্টিং নিয়ে প্রশ্ন এখন জুনিয়র পদেও নিয়মিত আসে, কারণ প্রায় প্রতিটি টিমই এভাবে কাজ করে।

প্রশ্নগুলো

অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) কী এবং এর চারটি মূল ধারণা কী?

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

ডেটা স্ট্রাকচার কী এবং কিছু সাধারণ ডেটা স্ট্রাকচার কী কী?

উত্তরে যা রাখবেনডেটা স্ট্রাকচার হল ডেটা সঞ্চয় এবং পরিচালনার একটি নির্দিষ্ট বিন্যাস। কিছু সাধারণ ডেটা স্ট্রাকচার হল: অ্যারে, লিঙ্কড লিস্ট, স্ট্যাক, কুই, ট্রি, গ্রাফ, এবং হ্যাশ টেবিল।

অ্যালগরিদম বিশ্লেষণ এবং বিগ ও নোটেশন (Big O Notation) কী?

উত্তরে যা রাখবেনঅ্যালগরিদম বিশ্লেষণ হল একটি অ্যালগরিদমের কার্যকারিতা এবং কর্মক্ষমতা মূল্যায়নের প্রক্রিয়া। বিগ ও নোটেশন হল একটি পদ্ধতি যা অ্যালগরিদমের সময় বা স্থান জটিলতা চিহ্নিত করতে ব্যবহৃত হয়।

ডিজাইন প্যাটার্ন (Design Pattern) কী এবং এর প্রকারভেদ কী কী?

উত্তরে যা রাখবেনডিজাইন প্যাটার্ন হল সফটওয়্যার ডিজাইনের পুনরাবৃত্ত সমস্যা সমাধানের জন্য প্রমাণিত সমাধান। প্রকারভেদগুলি হল: ক্রিয়েশনাল, স্ট্রাকচারাল, এবং বিহেভিয়োরাল প্যাটার্ন।

সফটওয়্যার ডেভেলপমেন্ট লাইফ সাইকেল (SDLC) কী এবং এর ধাপগুলি কী কী?

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

এজাইল মেথোডোলজি (Agile Methodology) কী এবং এর প্রধান বৈশিষ্ট্য কী?

উত্তরে যা রাখবেনএজাইল হল একটি ইনক্রিমেন্টাল এবং ইন্টারেক্টিভ সফটওয়্যার ডেভেলপমেন্ট মেথোডোলজি যা দ্রুত ডেলিভারি, টিম ওয়ার্ক, এবং ক্রমাগত ইমপ্রুভমেন্টে জোর দেয়।

ভার্সন কন্ট্রোল সিস্টেম (Version Control System) কী এবং এর প্রকারভেদ কী কী?

উত্তরে যা রাখবেনভার্সন কন্ট্রোল সিস্টেম হল একটি টুল যা সোর্স কোডের পরিবর্তনগুলি ট্র্যাক এবং ম্যানেজ করতে ব্যবহৃত হয়। প্রকারভেদগুলি হল: সেন্ট্রালাইজড (যেমন, SVN) এবং ডিস্ট্রিবিউটেড (যেমন, Git) ভার্সন কন্ট্রোল সিস্টেম।

টেস্ট ড্রিভেন ডেভেলপমেন্ট (TDD) কী এবং এর প্রক্রিয়া কী?

উত্তরে যা রাখবেনTDD হল একটি সফটওয়্যার ডেভেলপমেন্ট পদ্ধতি যেখানে কোড লেখার আগে টেস্ট কেস লেখা হয়। প্রক্রিয়াটি হল: টেস্ট লেখা, টেস্ট ফেইল করা দেখা, কোড লেখা, এবং টেস্ট পাস করানো।

ডেটাবেসের সাথে ইন্টিগ্রেশন কিভাবে করেন এবং ORM (Object-Relational Mapping) কী?

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

API (Application Programming Interface) কী এবং RESTful API কী?

উত্তরে যা রাখবেনAPI হল একটি ইন্টারফেস যা সফটওয়্যার অ্যাপ্লিকেশনগুলির মধ্যে যোগাযোগ এবং ডেটা বিনিময় সক্ষম করে। RESTful API হল একটি API ডিজাইন প্যাটার্ন যা HTTP প্রোটোকলের উপর ভিত্তি করে থাকে এবং REST আর্কিটেকচারাল স্টাইল অনুসরণ করে।

এই রাউন্ডের জন্য পরামর্শ

  • SDLC-র ধাপগুলো ক্রমে বলুন, আর বলুন কোন ধাপে আপনি নিজে কাজ করেছেন।
  • গিট নিয়ে প্রশ্ন হলে বইয়ের সংজ্ঞা নয়, মার্জ কনফ্লিক্ট সামলানোর বাস্তব অভিজ্ঞতা বলুন।
  • টেস্ট লিখেছেন এমন একটা উদাহরণ থাকলে সেটি বলুন — জুনিয়র প্রার্থীদের মধ্যে এটি বিরল।

এই বিষয়ে হাতে-কলমে শিখতে চাইলে সংশ্লিষ্ট কোর্স দেখুন।

কোর্স দেখুন