Thursday, March 10, 2016

Programming Interview - Rajon Bardhan


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

প্রশ্ন ঃ কমন প্রশ্ন ফাস্টে কিভাবে জানছিলা প্রোগ্রামিং কনটেস্ট এর ব্যাপারে ?
উত্তর ঃ প্রথম জানি যখন ফাস্ট সেমিস্টার ছিল তখন । ভার্সিটিতে বড় ভাইরা একটা কনটেস্ট দেন । এইটা করতে হবে । তখন আমি আমার দুই ফ্রেন্ড প্রেমা আর মাইসার সাথে টিম দেই । কিন্তু কনটেস্ট এর দিন ওরা আর আসে না পরে বড় ভাইয়ারা ১/২  এর দুইজন বড় ভাই  এর সাথে টিম করে দেন । তখন তো কিছু করতাম না , কিছু সল্ভ করতে পারি নাই ওইদিন । এমনে পরে আর করা হয় নাই কনটেস্ট । ২/২ এ এসে রিমি আমাকে বলে Uva সল্ভ করতে বলে প্রতিদিন । রিমি , হিমেল অনেক উৎসাহ দিত তখন শুরু করে দেই , প্রথম সল্ভ করছিলাম পারমুটেশন  এর একটা প্রবলেম । অনেক ভাল লাগছিল এসি হবার পর । তারপর আমি করতেই থাকি । তুমি প্রোগ্রামিং গ্রুপ এ একটা পোস্ট দিছিলা শাফায়াত এর ব্লগ নিয়ে কিভাবে কি করতে হবে জুনিওরদের জন্য। ঐটা পড়া শুরু করি । যখনই টাইম পাইতাম প্রবলেম সল্ভ করতাম , আমার মনে আছে আমি ২/২ এর পিএল এ ১৫০/২০০ টা Uva সল্ভ করি ।  পরীক্ষার আগে ২-৩ দিন এর গ্যাপ পাইতাম , আমি দেখা যাইত ১দিন খালি পড়তাম আর বাকি দিন প্রবলেম সল্ভ করতাম ।

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

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


প্রশ্ন ঃ প্রথম কনটেস্ট কবে করছিলা মনে আছে ?

উত্তর ঃ ১/১ এর কনটেস্টটা বাদে প্রথম করি মারুফ ভাইদের টাইমে । ভাইরা যখন ৪/১ এ কনটেস্ট করল । আমি , রিমি আর হিমেল টিম দেই নাম ছিল প্রভাতরবি ।

-- তোমার ব্লগের নামে

হুম ।  ঐটা ভাল হইছি ৩টা সল্ভ করে ৪র্থ হই আমরা । পরে অনসাইট করি ২০১৩ এ আইইউটিতে আমি , মাহির আর অর্ণব । ঐখানে ২টা সল্ভ করছিলাম ।

প্রশ্নঃ তুমি অনেক কমটাইমে অনেক সল্ভ করছিলা বা অনেক কম সময়ে অনেক ইম্প্রুভমেন্ট করছ এইটা কিভাবে করলা ?

উত্তর ঃ  কই কি করলাম ।

-- মানে অনেক সল্ভ তো করছিলা , আমি দুইবছর আগে Uva শুরু করে যা সল্ভ করি নাই , তুমি একবছরের মধ্যে আমারে ক্রস করে গেছিলা ।

আমি খালি অফলাইন সল্ভ করতে চাইতাম , এমনে টার্গেট নিতাম ৬মাসে ৫০০ সল্ভ করতে হবে । টার্গেট ধরে সল্ভ করতে চাইতাম । যদিও অনেক ক্ষেত্রেই হয় নাই কিন্তু চেস্টাটা সব সময় ছিল । যখন কোন প্রবলেম এ আটকাইতাম নেট এ দেখতাম , যদি বুঝতাম এইটা এমন কিছু দিয়ে সল্ভ করতে হবে যেইটা আমি জানি না এইটা দেখে , শিখে আবার সল্ভ করতে চাইতাম ।

প্রশ্ন ঃ কি টাইপের প্রবলেম সল্ভ করতে বেশি ভাল লাগত ?

উত্তরঃ আমার ডাটা স্ট্রাকচার প্রবলেম গুলা , সেগমেন্ট ট্রি , বাইনারি ট্রি , বিআইটি এর প্রবলেম গুলা ভাল লাগত । সাফিক্স এরে এর প্রবলেম ও ভাল লাগত । তবে আমি জিওমেট্রি , ডিপি এর প্রবলেম অনেক পরে শুরু করি , এইটা একটা ভুল ছিল । ঐগুলা একদমই ভাল করতে পারি নাই ।

প্রশ্নঃ ক্যামনে ডাটা স্ট্রাকচার প্রবলেম এ  এত বস হইলা , কিভাবে ভাল হওয়া যায় ডাটা স্ট্রাকচার প্রবলেমগুলাতে ?

উত্তর ঃ কিসের বস ,

--- মজা নেও । সাব এর কনটেস্ট এ বাংলাদেশ এর মধ্যে ফাস্ট MO সল্ভ করে দিছিলা

ঝড়ে বক ভাই একদিনই মরে ভাই ( হাঁ হাঁ ) । এমনে বিভিন্ন ব্লগ পড়ছি । প্রবলেম সল্ভ করতাম আমি অনেক । এইভাবেই তো ।


প্রশ্ন ঃ কোন প্রবলেম সল্ভ এর জন্য তোমার Thinking Process ক্যামন থাকে ?

উত্তরঃ আমি ফাস্ট এ দেখি Brute process এ করা যাবে কিনা । যদি দেখি করা যাবে না তাইলে দেখি অন্য কোন  এল্গো এর মাধ্যমে করা যাবে কিনা । এমনে খুব একটা কিছু পারি ও না যা পারি তার মধ্যে দেখি করতে পারব কিনা।

প্রশ্ন ঃ কোন প্রবলেম এ WA পাইলে কিভাবে ঠিক কর , কি কি জিনিস দেখ ?

উত্তরঃ আমি অনেক টেস্ট কেইস তৈরি করি , বাউন্ডারি কেইজ গুলা দেখি ভুল হচ্ছে কিনা । প্রবলেমটা আমি আবার পড়ি কোন কিছু মিস করলাম কিনা । এইটাও দেখি প্রবলেমটা ভুল বুঝছি কিনা , টাইম লিমিট গুলা দেখি । আমি brute force সল্ভ করে টেস্ট কেইস করে চেক করি পরে ।



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

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

প্রশ্নঃ প্রোগ্রামিং কনটেস্ট এর ব্যাপারে কাউকে ফলো কর বা ইন্সপাইরেশন এর কেউ আছে ?

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

প্রশ্ন ঃ জুনিওর যারা কনটেস্ট স্টার্ট করতেছে তাদের ব্যাপারে কোন সাজেশন ? আহসানউল্লাহ এর যারা শুরু করতেছে তাদের ব্যাপারে বলার কিছু আছে ?

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

প্রশ্ন ঃ এমনে প্রোগ্রামিং বাদে কোন হবি ?

উত্তর ঃ আমি খেলা দেখি অনেক । বন্ধুদের সাথে আড্ডা দেই ।


No comments:

Post a Comment