ইন্টার্ভিউতে কি ধরণের প্রশ্ন হতে পারে?

একজন আমাকে প্রশ্ন করেছেন যে ইন্টারভিউতে কি ধরণের প্রশ্ন করে দক্ষতা যাচাই করা হয়ে থাকে। এমন প্রশ্ন আমি আগেও পেয়েছি। আমি ভাবছি বিষয়টি নিয়ে আজকে লিখবো।

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

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

এখন আসা যাক মূল বিষয়ে,

ইন্টারভিউতে দক্ষতা যাচাইয়ের প্রশ্ন যে কেবল টেকনিক্যাল প্রশ্ন হয় এমন নয়। অনেক সময় অনেক ভিন্ন প্রশ্ন থেকেও দক্ষতা যাচাই করা হতে পারে। যেমন –

“ইউনিভার্সিটিতে আপনার সবচেয়ে প্রিয় সাবজেক্ট কি ছিল?”

“ইউনিভার্সিটিতে আপনার সবচেয়ে প্রিয় শিক্ষক কে ছিলেন? তিনি কোন সাবজেক্ট পড়াতেন?“

যখন আপনি উপরের প্রশ্নগুলোর উত্তর দিবেন, তখন ইন্টারভিউয়ার আপনাকে প্রশ্ন করবেন যে কেন সেটা আপনার সবচেয়ে প্রিয় ছিল।

এখন আপনাকে সেটা ব্যাখ্যা করতে হবে। এই ব্যাখ্যা করতে করতে আপনি কিন্তু নিজের বিষয়ে অনেক কিছু বলে ফেলবেন। আবার যদি আপনি তেমন কিছু না বলতে পারেন, তাহলে বুঝা যাবে যে ইউনিভার্সিটি লাইফে আপনি উল্লেখ করার মত কিছু করেননি। মানে ফ্রেন্ডদের নিয়ে আড্ডা দিয়েই সময় পার করেছেন। সেগুলো তো আর ইন্টারভিউতে বলা যাবে না।

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

আর যে প্রোগ্রামিং নিয়ে তেমন সময় কাটায় না সে কিন্তু চেষ্টা করেও কিছু বলতে পারবে না। বানিয়ে বলাও তার জন্য কঠিন হবে।

“আবার এমন প্রশ্ন হতে পারে যে আপনার প্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ বা ফ্রেমওয়ারক কোনটি?”

এখানেও যখন আপনি ব্যাখ্যা করতে যাবেন যে কেন প্রিয় তখন আপনি অনেক কিছুই বলবেন যদি আপনি আসলেই সেটা নিয়ে অনেক কাজ করে থাকেন এবং সেটা আপনার প্রিয় হয়।

না জেনে বুঝে বা না কাজ করে এসব প্রশ্নের উত্তর বানিয়ে বলা যায় না।

এরপর আবার আরেক ধরণের প্রশ্ন হতে পারে, এগুলো অনেক ফরমাল এবং অনেক কোম্পানিতেই জিজ্ঞাসা করা হয়ে থাকে, যেমন –

“৫ বছর পর আপনি নিজেকে কোথায় দেখতে চান?”

“আপনাকে সুযোগ দিলে আপনি কি কি শিখতে আগ্রহী?”

“আপনি গত কয়েক মাসে কি কি বই পড়েছেন?”

“আপনার প্রিয় দেশি বা বিদেশী সফটওয়্যার ইঞ্জিনিয়ার কে কে এবং কেন?”

প্রথমেই আমি এই ধরণের প্রশ্ন নিয়ে আলাপ করলাম কারণ দেখা যায় যে একজন ক্যান্ডিডেট আসলে বুঝতে পারেন না যে ইন্টারভিউয়ার কেন তাকে এই ধরণের প্রশ্ন জিজ্ঞাসা করছেন। তারা মনে করে যে আমাকে ইন্টারভিউতে গেলে টেকনিক্যাল প্রশ্ন জিজ্ঞাসা করবে, সেই মানসিক প্রস্তুতি নিয়েই তারা ইন্টারভিউ দিতে আসেন। এরপর যখন এ ধরণের প্রশ্ন শুনে ভ্যাবাচ্যাকা খেয়ে যান তখন তারা না বুঝে ইন্টারভিউয়ারের উপর খেপে যান। তারা মনে করেন এসব অযথা ফালতু প্রশ্ন।

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

যে মানুষ দিনরাত প্রোগ্রামিংকে ভালোবেসে এটা নিয়ে সময় কাটায়, তার প্রোগ্রামিং দক্ষতা যাচাই করে দেখার কিছু নেই।

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

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

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

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

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

বিভিন্ন যুক্তি তখন আমাদের মাথায় খেলতে থাকে, যেমন – ইন্টারভিউ দিয়ে কারো যোগ্যতা যাচাই করা উচিৎ নয়, কাজ করতে দিয়ে দেখা উচিৎ। বা, যে ইন্টারভিউ নিচ্ছে সে নিজেকে কি ভাবে? বা, কোম্পানির নাই সামর্থ্য আর এত এত প্রশ্ন করছে, কত সেলারি দিবে?

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

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

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

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

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

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

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

“একটি মেথড / ফাংশন লিখুন যেটি একটি স্ট্রিং ইনপুট নিবে “ইউজারনেম” এবং সেটা ভ্যালিডেট করবে। ইউজারনেম ৫ থেকে ১০ অক্ষরের হতে পারবে, এতে বর্ণ ও সংখ্যা থাকবে আর আন্ডারস্কোর থাকতে পারবে, এর বাইরে আর কিছু থাকতে পারবে না”

“একটি মেথড/ ফাংশন লিখুন যেটি একটি বছর লিপইয়ার কিনা চেক করবে”

“সর্টিং এর কোড লিখুন যেটা কিছু নম্বরকে সর্ট করবে – মুলত বাবল সর্ট”

একটি কোড লিখুন যেটা অনেকগুলো নম্বর থেকে ২য় বড় নম্বর টি বের করবে”

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

এরপর বিভিন্ন প্রশ্ন থাকতে পারে আপনি যে প্রোগ্রামিং ল্যাঙ্গুয়েজ বা ফ্রেমওয়ার্ক নিয়ে কাজ করেছেন সেটার উপর।

“যেমন সি# এ স্ট্রিং বার বার জোরা দিলে কি সমস্যা হতে পারে?”

“কম্পাইলার আর ইন্টারপ্রিটারের মধ্যে পার্থক্য কি?”

“Interface” আর “Abstract Class” এর মধ্যে পার্থক্য কি?”

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

SQL ও Database নিয়ে প্রশ্ন আমাদের দেশে খুব গুরুত্বপূর্ণ। কারণ আমাদের দেশে যে ধরণের সফটওয়্যার তৈরি হয় তাতে এটা খুব জরুরী। এখানে আপনাকে কিছু কুইরি লিখতে দিতে পারে। নরমালাইজেশন ফর্ম, এসিড প্রোপার্টি নিয়ে প্রশ্ন করা হতে পারে। বিভিন্ন ধরণের জয়েনের মধ্যে পার্থক্য জিজ্ঞাসা করা হতে পারে। প্রাইমারি কি, ফরেন কি এর পার্থক্য ইত্যাদি প্রশ্ন করা হতে পারে।

এরপর বেসিকের উপর প্রশ্ন হতে পারে যেমন SQL Injection কি? বা HTTP Method কি কি আছে? সেশন কি? ইত্যাদি।

কাজেই বেসিক আপনাকে খুব ভাল ভাবে জানতে হবে।

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

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

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

আশা করি এই পোস্ট থেকে আপনার কোন উপকার হবে। উপকার হলে, আমার জন্য দোয়া করবেন।

ভাল থাকবেন। আপনার জন্য শুভকামনা রইলো।

মোঃ জালাল উদ্দিন, প্রতিষ্ঠাতা ও সিইও, ডেভস্কীল.কম

ডেভস্কীলের কিছু বিশেষ সফটওয়্যার ইঞ্জিনিয়ারিং কোর্স –

  1. AWS Solution Architect Associate with Advanced Level Learning
  2. Professional Programming with C#
  3. Complete Software Development with PHP Laravel for Non-CS Background
  4. Full Stack Asp.net Core MVC Web Development

Leave a Reply

Your email address will not be published. Required fields are marked *