টেকনিকাল ইন্টারভিউর জন্য প্রিপারেশন যেভাবে নিতে পারেন
(মার্চ ৩১,২০১৫। বৃহস্পতিবার)
আমাদের মধ্যে অনেকেই, বিশেষ করে যারা আমেরিকায় বা দেশের বাইরে পড়ছে, তারা সামার ইন্টার্নশীপ করার জন্য বা ফুল-টাইম চাকরির জন্য ইন্টারভিউ প্রিপারেশন নেয়ার কথা চিন্তা করে। কিন্তু শুরুটা কিভাবে করতে হবে, কোথায়-কীভাবে এপলাই করতে হবে - এ নিয়ে টেনশনের শেষ নাই। টেনশনের ঠেলায় শেষমেষ শুরুটাই ঠিক মত করা হয় না। তাদের জন্যই আজকের লেখা।সম্পূর্ণ আমার অভিজ্ঞতা থেকে লিখছি। অন্য লেখার মত এখানেও বলে নেই, আমি কোনো এক্সপার্ট না, আমার লেখায় প্রচুর ভুল বা তথ্য ঘাটতি থাকতে পারে,তাই নিজ দায়িত্বে পড়ে নেবেন!
[আপডেট: আমার এখনকার কাজের জায়গা, পেন স্টেট ইউনিভার্সিটি - এবিংটন। সেখানে টেকনিক্যাল ইন্টারভিউ প্রিপারেশন কিভাবে নেয়া যায়, ইত্যাদি বিষয়ের উপর ছাত্র-ছাত্রীদের জন্য একটা লেকচার দিয়েছিলাম।সেটার ভিডিও আর স্লাইডগুলো এইখানে দিয়ে রাখছি। স্লাইডগুলো: http://bit.ly/slides_TII][আপডেট ২৭ এপ্রিল ২০২২: আর সবকিছুর আগে neetcode.io এই ওয়েবসাইট চেক করা উচিত। আমি রিসেন্টলি এই ওয়েবসাইট সম্পর্কে জেনেছি। Leetcode -র ১৫০ টা প্রব্লেমের ভিডিও সল্যুশন, কোড সবকিছু আছে! এছাড়াও AlgoMonster নামের এই ওয়েবসাইটও খুব ভালো। কম সময়ে কিভাবে প্রিপারেশন নেয়া যায়, সেটার একটা রোডম্যাপ আছে।]
১. যেভাবে শুরু করতে হবে: প্রথম এবং সবচেয়ে জরুরি হচ্ছে, বিশ্বাস করা যে আপনি বড় বড় কোম্পানি তে আপ্লাই করার যোগ্যতা রাখেন। সুতরাং, সাহস করে আপ্লাই করে ফেললেই হবে। মাইক্রোসফট, গুগল, আমাজন, ফেইসবুক বা অন্য যেকোনো বড় কোম্পানি প্রতি বছরই প্রচুর সামার ইন্টার্ন নেয়। তারা ছাত্র-ছাত্রীদের কাছ থেকে খুব বেশি আশা করে না, মোটামুটি এলগরিদম, ডাটা স্ট্রাকচার আর প্রোগ্রামিং- এ ভালো হলেই হলো - ইন্টার্নশীপ পাবার যথেষ্ট সম্ভাবনা থাকে।
২. ইন্টারভিউ প্রিপারেশন সব জায়গায় মোটামুটি একই রকম। কাজেই একবার চেষ্টা করে প্রিপারেশন নিলে, অনেক জায়গায় এপলাই করতে পারবেন। ইন্টারভিউ প্রিপারেশন-এর জন্য খুব ভালো ভালো লিংক, বই বা ব্লগ আছে। নিয়ম করে একটু প্রাকটিস করতে হবে।
৩. এইবার আসি লিংক গুলোর ব্যপারে। এলগরিদম বা ডাটা স্ট্রাকচার-এর টেক্সট বই প্রথম পাতা থেকে শেষ পর্যন্ত পড়ার দরকার নাই। দরকার মত কোনো একটা টপিক দেখে নিলেই চলবে।
- Cracking the Coding Interview বইটা যোগাড় করে ফেলুন। আমার মতে এর থেকে ভালো $৩০ অন্যকোথাও আপনি আর ইনভেস্ট করতে পারবেন না। বইটা প্রিপারেশন শুরু করার জন্য বেস্ট। ১৫০টা কমন ইন্টারভিউ প্রশ্নের খুব সহজ, সুন্দর ব্যাখ্যা থাকা ছাড়াও কিভাবে মানসিক প্রস্তুতি নিতে হবে তাও বলা আছে। বড় বড় কোম্পানি গুলো কী আশা করে, কিভাবেই বা ইন্টারভিউ প্রসেস করে তাও দেয়া আছে। আপনি ইন্টারভিউ দিতে না চাইলেও বইটা আপনার কেনা উচিত। বেসিক পাকাপোক্ত করার খুব ভালো একটা বই এটা। কিনতে না চাইলেও, একটু সার্চ করলেই আপনি ইন্টারনেট-এ বইটার pdf পেয়ে যেতে পারেন।
- CarrerCup.com ফোরাম। উপরের বইয়ের লেখকের তৈরী করা একটা ফোরাম। এই ফোরাম-এ লোকজন বড় বড় কোম্পানিতে ইন্টারভিউ দিয়ে এসে আসল সব প্রশ্নের উপর আলোচনা করে। অনেক ভুল-ভাল উত্তর দিলেও, আপনি কী ধরনের প্রশ্ন হচ্ছে, তার একটা ধারণা পাবেন।
- [আপডেট: ১৫ ডিসেম্বর ২০১৮] CodeWars.com : এই ওয়েবসাইটাতে যেকোনো প্রবলেম সল্ভ করার পর অন্য ডেভেলপারদের করা সল্যুশন- যেটা বাকি সবার ভোটে নির্বাচিত 'Best Practice' কিংবা 'Clever' ট্যাগ পেয়েছে, সেগুলো দেখা যায়। অন্যদের করা এইসব চমৎকার সল্যুশন থেকে অনেক টেকনিক শেখার আছে। পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজের ছোট ছোট অনেক শক্তিশালী টেকনিক শেখার জন্য এই ওয়েবসাইট খুবই ভালো।
- Leetcode.com/problemset/algorithms/ এখানে খুবই স্ট্যান্ডার্ড প্রবলেম আছে। আমি এক চাইনিজ বন্ধুর কাছে শুনেছি যে তার আরেক চাইনিজ বন্ধু নাকি শুধু এই ওয়েবসাইট-এর প্রবলেম গুলো সলভ করে মোটামুটি মুখস্ত করে ফেলেছিল। আর পরে নাকি সে গুগল-এ ইন্টারভিউ দিয়ে চাকরি পেয়ে গেছে!! কে জানে, ব্যপারটা সত্যিও হতে পারে, চাইনিজদের কাজ-কারবার খুবই জটিল। এদের "Clean Code Handbook" বইটা খুব ভালো। ৫০ টা কমন ইন্টারভিউ প্রশ্নের খুব সুন্দর করে সল্যুশন দেয়া আছে। অনেক ভালো টেকনিক শেখার আছে বইটিতে। বইটার দাম $১৫, তবে পিডিএফ কপি একটু সার্চ করলেই ফ্রি তে পাওয়া যাবে।
- এখন গুগুলে কাজ করছেন সাইফুল ভাইয়ের কাছ থেকে পাওয়া InterviewBit এই ওয়েবসাইটে ইন্টারভিউ প্রশ্নের পাশাপাশি ভিডিও টিউটোরিয়াল আছে। ইন্ডিয়ানদের তৈরী করা এই ওয়েবসাইট-টি আমাদের দেশের ছেলেমেয়েদের ভালো কাজে দেবে কেননা এদের চিন্তা করার ধারা আমাদের মতোই।
TalentBuddy.co খুব ভালো একটা কোডিং প্রাকটিস ওয়েবসাইট। এই ওয়েবসাইট-টির সবচেয়ে যেটা আমার ভালো লাগে তা হচ্ছে, প্রবলেম সলভ করার পর আপনি অন্যের কোড দেখতে পারবেন। একটা প্রবলেম যে লোকজন কত সহজে বুদ্ধিমানের মত সমাধান করতে পারে, না দেখলে বিশ্বাস করা কঠিন। আর অন্যের স্মার্ট কোড দেখে অনেক কিছুই শেখার আছে। [নভেম্বর ৯, ২০১৫ আপডেট: সাইটটা বন্ধ হয়ে যাচ্ছে :( . কিন্তু ভালো খবর হচ্ছে একই রকম আরেকটা সাইট -এর খোঁজ পেয়েছি :CodeWars.com. জানুয়ারী ২৯, ২০১৬ আপডেট: HackerRank ওয়েবসাইট ব্যবহার করে Udemy তে কোডিং ইন্টারভিউ 'র উপর একটা কোর্স আছে। এই ওয়েবসাইট বেশ ভালো হবার কথা। ]
- www.pramp.com [আপডেট অগাস্ট ৪, ২০১৬]: UTA'র পিএইচডি স্টুডেন্ট অমিতের কাছ থেকে খুব ভালো একটা ওয়েবসাইটের সন্ধান পেয়েছি www.pramp.com. Pramp = Practice Makes Perfect! অনলাইনে মক কোডিং ইন্টারভিউ প্র্যাক্টিস -এর ওয়েবসাইট। সত্যি সত্যি আপনি আরেকজন অপরিচিত লোকের ইন্টারভিউ নিবেন, সেও আপনার ইন্টারভিউ নিবে! এরপর একজন আরেকজনের জন্য ফিডব্যাক দিবে। দারুণ আইডিয়া! Pramp -এর তৈরি করা Udacity -র টেকনিক্যাল ইন্টারভিউ কোর্সটাও ভালো হওয়ার কথা।
- আমাদের ডিপার্টমেন্টের শাফায়েত আশরাফের লেখা ডাটা স্ট্রাকচার আর এলগোরিদম-এর উপর বাংলায় এতো ভালো একটা ব্লগ যে আছে তা আজকের (ডিসেম্বর ৩১, ২০১৭) আগে জানতামই না! আগে জানলে আমার নিজেরই অনেক উপকার হতো। ওর গ্রাফের উপর লেখা বইটাও চমৎকার।
- বুয়েটের (এখন গুগলে কাজ করছে) মোঃ মাহবুবুল হাসানের লেখা প্রোগ্রামিং কন্টেস্টের উপর লেখা বইটাও বেশ ভালো। আমি পড়া শুরু করেছি।
CodeEval.com TalentBuddy-ওয়েবসাইট -এর মতই আরেকটা ওয়েবসাইট। এটাও ইন্টারেষ্টিং। এদের প্রবলেম গুলো বিভিন্ন কোম্পানি স্পন্সর করে। কোনো একটা প্রবলেম সলভ করে আপনি সরাসরি ওই কোম্পানি তে আপনার সল্যুশন সহ আপনার রেসুমে পাঠিয়ে দিতে পারবেন। যদিও আমি পাঠিয়ে খুব একটা উত্তর পাইনি, কিন্তু চেষ্টা করতে দোষ কোথায় ?
- Data Structure and Algorithms made easy in Java আরেকটা বই যাতে প্রচুর প্রবলেমের কালেকশন আছে। বইটাতে উত্তরে অনেক ভুল থাকলেও প্রবলেম কালেকশন-এর জন্য খুবই কাজের একটা বই। আর উত্তর গুলো খুব সহজে ব্যাখ্যা করা আছে।
- Elements of programming interviews বইটা ইউনিভার্সিটি অফ টেক্সাস এট অস্টিন -এর এক প্রফেসর-এর লেখা। একটু জটিল বই। আমি কিছুদুর পড়ে খুব একটা সুবিধা করতে পারি নাই। কিন্তু শুনেছি বইটা বেশ ভালো। উপরের অন্য মেটেরিয়াল প্রথমে শেষ করে বইটা পড়লে নাকি বেশ উপকার পাওয়া যায়।
- বাংলায় লেখা প্র্রোগ-ক্রিয়া http://www.progkriya.org/gyan ব্লগটি আমার বেশ ভালো লেগেছে। কিছু বিষয় খুব সুন্দর আর সহজ করে দেয়া আছে।
- পরে যদি কিছু মনে পড়ে, তাহলে এইখানে দিয়ে দিব ...একটা মনে পরেছে: Topcoder.com. আরেকটা ভালো ওয়েবসাইট হচ্ছে: InterviewCake.com. এদের সাইটে সাবস্ক্রাইব করলে এরা প্রতি সপ্তাহে একটা করে প্রবলেম ইমেইল করে পাঠায়। পরের সপ্তাহে আবার তার সল্যুশন দিয়ে দেয়।
- এলগরিদম ঝালাই করার জন্য MIT-র প্রফেসর এরিক দেমাইন -এর ওপেন লেকচার কিংবা Princeton University-র প্রফেসর রবার্ট সেজুইক-এর ফ্রি Coursera ক্লাস গুলো খুবই ভালো।
- এলগোরিদম কমপ্লেক্সিটির উপর বেশ কাজের একটা চিট-শিট: http://bigocheatsheet.com/
- যেকোনো ইন্টারভিউ দেয়াটা একটা ভীষণ মানসিক চাপের ব্যাপার। ইন্টারভিউ দেয়াটাও একটা শেখার বিষয়। ঠিক এই বিষয়ে Coursera তে Mastering the software engineering interview নামে একটা ফ্রি কোর্স আছে। আমার মনে হয়েছে এটা বেশ উপকারী।
- সিস্টেম ডিজাইনের উপর ইন্টারভিউ প্রশ্নের প্রিপারেশন একটু ভিন্ন। তার উপর লেখা আমার এই ব্লগ পোস্টটা দেখতে পারেন।
৪. এবার বলি কিভাবে প্রিপারেশন নিতে হবে, সেটা। আমার মতে একা একা প্রিপারেশন নেয়াটা বোকামি, হয়-ও না। অবশ্যই উচিত ৩-৪ জনের দল করে একজন আরেকজনের মক-ইন্টারভিউ বা মিথ্যা-মিথ্যি ইন্টারভিউ নিয়ে প্রিপারেশন নেয়া। উদাহরণ দিয়ে বলি, আমাদের ল্যাব-এর ৬-৭ জন সপ্তাহে একদিন বা দুইদিন আমরা এটা শুরু করে ছিলাম। দলে ইরানি, চাইনিজ, ভিয়েতনামি আর বাংলাদেশী! প্রথম প্রথম ঝামেলা হলেও পরে বেশ ভালই কাজে দিচ্ছিল। সাদা বোর্ড-এর সামনে একজন গিয়ে দাড়াত। বাকিরা প্রশ্ন করলে তাকে সল্যুশন কোড বোর্ড-এ লিখে লিখে ডিসকাস করতে হতো। ঐগ্রুপের শুধু ১ জন বাদে (কারণ সে চেষ্টা করে নাই) বাকি আমরা সবাই, মাইক্রোসফট, গুগল, ফেইসবুক আর সিমেন্টেক -এ ইন্টার্নশীপ পেয়েছিলাম! বাসায় পারলে সাদা বোর্ড কিনে, টাঙিয়ে কোনো এক বন্ধুর সাথেও প্রাকটিস করা যায়। আর স্কাইপি তে কারো সাথে মক ফোন ইন্টারভিউ প্রাকটিস’ও খুবই কাজে দেয়।
৫. সবশেষে, কোথাও এপলাই করার আগে অবশ্যই একটা স্ট্যান্ডার্ড রেসুমে বানাতে হবে। ৩-৪ পাতার না। শুধুই ১ পাতার। খুব বেশি হলে ২ পাতার। বিশ্বাস করুন, একজন রিক্রুটার (যে কিনা প্রথমত আপনার রেসুমে দেখে আপনার সাথে যোগাযোগ করবে) ১০-২০ সেকেন্ড-এর বেশি আপনার রেসুমে পড়বে বা দেখবে না। কাজেই ১ বা ২ পাতার খুব ভালো ফরমাটের রেসুমে না হলে হয়তো আপনি ডাক-ই পাবেন না। রেসুমে বানানোর জন্য খুব ভালো টিপস CareerCup ওয়েবসাইট -এর এই লিঙ্কে পাবেন। রেসুমে বানানো হয়ে গেলে প্রত্যেকটা কোম্পানির ওয়েবসাইট-এ ক্যারিয়ার লিঙ্কে গিয়ে সরাসরি অনলাইনে এপলাই করে দিন। আর আপনি যদি কোনো ইউনিভার্সিটি তে পড়েন, তাহলে সেটার ক্যারিয়ার বা জব ফেয়ার -এর দিকে নজর রাখুন। এসব জায়গায় রেসুমে জমা দিয়ে খুব জলদি রিক্রুটারের নজরে পড়া যায়। আর আপনি চাইলে আপনার লিংকড-ইন প্রফাইলেও রেসুমে দিয়ে রাখতে পারেন। এটা মাঝে মাঝে ভালই কাজে দেয়।
আর আপনি যদি ACM কনটেস্ট করেন, তাহলে তো কথাই নেই, আপনি এমনিতেই ভালো। আমি কেন জানিনা কোনদিন ACM প্রবলেম সলভ করার সাহস পাই নাই। আমার মত লোকজনের জন্য হয়তো এই লিংক গুলো কাজে লাগবে। আপনার যদি কোনো ভালো লিংক জানা থাকে তাহলে প্লিজ নিচের কমেন্ট-এ দিয়ে দেবেন।
আমি একটা ক্লাসে আমার মাইক্রোসফট-এর ইন্টার্নশীপ-এর অভিজ্ঞতা নিয়ে একটা স্লাইড প্রেসেন্ট করেছিলাম। আপনাদের সাথেও লিঙ্কটা শেয়ার করলাম। হয়তো কারো কাজে লেগেও যেতে পারে।
ধন্যবাদ।
--ইশতিয়াক
I was looking for clean code handbook book. The link you provided is not working. Can you mention the author name or update the link of the book ?
ReplyDeleteYes, they've taken it down it seems. Here is another link to the book: https://selz.com/item/546c6e1ab7987209fc7fd418
ReplyDeletedo you offer any bangla or recorded course for data science ,machine learning,python? if not you should. It will help students like us
ReplyDelete