Thursday, March 17, 2016

Coding Interview question - 1


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


প্রথমে শিরোনাম কোডিং ইন্টারভিউ কেন দিলাম বলি । সফটওয়্যার ইঞ্জিনিয়ার ইন্টাভিউ  এর জন্য প্রায় সবখানেই একাধিক ইন্টাভিউ প্রসেস দিয়ে যেতে হয় । যেখানে নরমাল কোন বোর্ড এর সামনে প্রশ্ন-উত্তর বাদেও একটা ইন্টাভিউ সেকশন থাকে যেখানে আপনাকে একটা ল্যাপটপ/পিসি দিবে । ৩০মিনিট/১ ঘণ্টার মধ্যে ১/২টা প্রবলেম সল্ভ এর কোড করতে বলবে । এইগুলার জন্য ল্যাঙ্গুয়েজ আপনার পচ্ছন্দের বা উনারা স্পেসেফিক করে দিতে পারে । আমার ব্লগ পোস্টটা আসলে সেই একটা ইন্টারভিউ সেকশনকে নিয়ে ।

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

সব কোম্পানিতেই কি জবের জন্য কোডিং ইন্টাভিউ দিয়ে যেতে হয় ? এইটা ঠিকঠাক উত্তর দেবার মত আমার এখনও এক্সপেরিয়ান্স কিছুই হয় নাই । তবে বাংলাদেশ এর যেসব কোম্পানি প্রপার ইন্টাভিউ প্রসেস ফলো করে employee hire করে তারা নেন । বাহিরে আমার দেখা ইন্ডিয়াতে অনেক কোম্পানি এর হায়ারিং প্রসেস এর প্রথমেই একটা কোডিং টেস্ট থাকে । যেইটা হ্যাকারর‍্যাঙ্ক বা হ্যাকারআর্থ সাইট এর বিভিন্ন ইন্টাভিউ কনটেস্ট এ অংশগ্রহণ করলেই দেখা যায় । গুগোল এর একটা ইন্টাভিউ দেওয়া হয়েছিল আমার সেখানে দেখছি পুরা প্রসেসটাই আসলে কোডিং ইন্টাভিউ এর উপর । আপনাকে প্রবলেম দিবে যা সল্যুশন আপনাকে কোড এর মাধ্যমে দেখাতে হবে । অনলাইনে স্কাইপি বা গুগোল হ্যাংআউট এর মাধ্যমে যাদের ইন্টাভিউ হয় সবারই কোডিং ইন্টাভিউ প্রসেস দিয়ে যেতে হয় ।  

আমার কাছে মনে হয় স্টাটিক প্রশ্ন-উত্তর থেকে কোডিং ইন্টাভিউ অনেক সহজ একটা ব্যাপার । নরমাল প্রশ্ন-উত্তর পর্বে কোন প্রশ্নের জন্য হয়তো ৩০সেকেন্ড থেকে ১ মিনিট সময় থাকে এইখানে অনেক সময় থাকে চিন্তা করার । তবে প্রথম জবের জন্য অনেক এর মধ্যে ভয় কাজ করে । অনেক সময় জানা জিনিস তো বলা সম্ভব হয় না । এইদিকে কোড করে কিছু করতে বলা অনেক সেফ সাইট সবার জন্য । যেখানে সবকিছু ঠিক না হইলেও একজন এর কোড দেখে বুঝা সম্ভব তার চিন্তার প্রসেসটা কি ছিল  । তবে এর জন্য আগে থেকে কিছু মক ইন্টাভিউ করে নেওয়া এবং অনলাইন থেকে ইন্টাভিউ এর প্রিপারেশন নেওয়া ভাল । যারা ইন্টাভিউ নিবেন তারাও এইসব জিনিস অনেক আগে করে এসেছেন এবং স্বাভাবিক ভাবেও নেট থেকে প্রশ্ন ক্যালেক্ট করতে পারেন তারা। হয়তো সবাই না কিন্ত অনেকেই করবেন । এই পোস্ট আর বড় করতেছি না । সামনের সিরিজের লিখা গুলাতে বিভিন্ন সাইট এ দেখা কিছু ইন্টারিস্টিং প্রবলেম এর সল্যুশন নিয়ে লিখব ।

2 comments:

  1. ভাইয়া, খুব ভাল লিখা । আমার অনেক জানার ইচ্ছা ছিল সফটওয়্যার ইঞ্জিনিয়ারিং ইন্টারভিউ গুলু আসলে কিভাবে হয় । আপনার এই লেখার মাধ্যমে তাঁর প্রাথমিক ধারনা পেলাম । কিন্তু ভাইয়া, আমার আরেকটু জানার ইচ্ছা আছে । সেটা হল, প্রথমত -- একটা কোম্পানির ইঞ্জিনিয়ার হাইয়ারিং এর ক্ষেত্রে তাঁদের মেন্টালিটি কেমন হয়, মানে কোম্পানিগুলু হার্ড থাকে নাকি সফট থাকে ?
    আর দ্বিতীয়ত -- যদি আমি ওই কোম্পানির দেয়া সব গুলু টাস্ক ঠিক ঠাক করি তাইলে তো কোন কথাই নাই, যদি সব টুকু না করতে পারি মানে ৫০% বা ৬০%+ করতে পারি সেক্ষেত্রে ওই কোম্পানির রিয়েকশন কেমন হবে আমার প্রতি ?
    অনেক ধন্যবাদ ভাইয়া ।

    ReplyDelete
    Replies
    1. আমি যে ইন্টারভিউ গুলা দিছি আমি খুবই ফ্রেন্ডলি পাইছি । কোন কিছুতে আটকাইয়া গেলে হ্যাল্প ও করা হয় । বাংলাদেশ এ হয়তো এখনো না কিন্তু গুগল ইন্টারভিউ তে যিনি ইন্টারভিউ নিছেন তারও রিভিও নেওয়া হয় ক্যান্ডিডেড এর কাছ থেকে , হ্যাল্পফুল ছিলেন কি না এইসব ।
      দ্বিতীয় প্রশ্নের উত্তর দেওয়ার মত এক্সপেরিয়ান্স আমার নাই । তবে জব পাওয়ার ক্ষেত্রে একজন ক্যামন করতেছে এর সাথে আসলে বাকি ক্যান্ডিডেড ও ক্যামন করতেছে এইটাও তুলনা করা হয় ( যদি থাকে ) ।

      Delete