HeyJobs এ ইন্টারভিউ প্রসেস শুরু এই মেইল দিয়ে
Hi Tanvir, thanks a lot for your application and interest in working at HeyJobs. We like your profile a lot which is why we want to set up a first call with you. When is usually a good time (Berlin time/CEST) for you next week? Looking forward to hearing back from you.
তারপর ফ্রি টাইম সেট করলাম, তবে রিক্রুটারের অনেকদিন খবর নেই। পরে ২ সাপ্তাহ পরে ম্যাসেজ দিল, তার মেয়ে অসুস্থ ছিল তাই রিপ্লাই দিতে পারে নাই। তারপর রিক্রুটারের সাথে প্রথম ইন্টারভিউ এর ডেট সেট করা হল।
প্রথম রাউন্ড, কোডিং টেস্ট। পজিশনটা ছিল Ruby on Rails
backend engineer সাথে python জানা থাকলে প্লাস পয়েন্ট। তাই কোডিং টেস্টের ৮০%
ছিল Ruby আর ২০% ছিল Python. Ruby পার্টে 70% ছিল DS, Algo রিলেটেড প্রবলেম
বাকি ২০% ছিল ruby language specific এবং 10% web development রিলেটেড। আর
python part এ ৮০% ছিল language specific এবং বাকিটা numpy এর। আমি শুধু numpy
এর পার্ট বাদে সবই সঠিকভাবে দিয়েছিলাম। কোডিং টেস্ট ছিল hacker rank এ।
কোডিং
টেস্ট এর দুইদিন পর মেইল দিল রিক্রুটার। এইবার ইন্টারভিউ হবে Engineering
manager এর সাথে। এবং এই রাউন্ডটা ট্যানিক্যাল হবে। আবার কয়েকটা মেইল আদান
প্রদানের মাধ্যমে ডেট ফাইনাল হল।
দ্বিতীয় রাউন্ড,
engineering manager এর ইন্টারভিউ। প্রথমেই স্বাভাবিকভাবেই উনি উনার পরিচয় দিল।
কোম্পানিতে উনার রোল কি এইসব বলে তারপর আমার আমাকে ফ্লোর দিল নিজেকে পরিচয় করার
জন্য।
নিজের ব্যাপারে বললাম, একটা ছোট সামারি দিলাম আমার ক্যারিয়ারের।
তারপর engineering manager জিজ্ঞাস করা শুরু করল বর্তমানে কি নিয়ে কাজ করছি।
আমার রোল কি। তারপর কিছু behavioral প্রশ্ন করল। Ownership, leadership নিয়ে
অনেক প্রশ্ন ছিল। কোন সিচিয়ুশন আমি কিভাবে হ্যান্ডেল করি এইসব।
তারপর আমার
কোডিং টেস্টের প্রশ্ন গুলা বের করল। সেইখানে একটা প্রবলেম ছিল “api থেকে ডাটা
fetch করে এনে ডাটা parse করে filter করার”। সেইটার স্যলুশনের উনি অন্য আর কোন
রকমের এ্যাপ্রোচ আছে কিনা জানতে চাইল। আমি বললাম এইটা আরও ২ রকম ভাবে করা যেতে
পারে। তারপর উনি একটা স্যালুশন বলল, আমি উনার স্যালুশনের একটা লিমিটেশন বললাম।
উনি একটু চিন্তা করে এগ্রি করল আমার সাথে।
তারপর জিজ্ঞাস করল আমি numpy এর
টা ট্রাই করি নাই কেন। আমি বললাম আমি numpy এ অনেক আগে একবার কাজ করেছি। এই
সল্ভ করার জন্য আমার আবার ডকুমেন্টেশন পড়া লাগত, এত সময় আমার হাতে ছিল না।
তারপর উনি বলল এই পজিশনে কাজ করার জন্য আমাকে numpy নিয়েও কাজ করতে হবে, আমি কি
শেখার জন্য আগ্রহী কিনা। আমি বললাম কোম্পানি যদি শেখায় মত সময় ও পরিবেশ দেয়,
তবে কেন নয়। উনি খুব পজিটিভলি নিলেন উত্তর টা।
তারপর উনি জিজ্ঞাস
করল তোমার কোন প্রশ্ন আছে। তারপর আমি শুরু করলাম কোম্পানির প্রোডাক্ট নিয়ে
প্রশ্ন। যে পজিশনের ইন্টারভিউ দিচ্ছি এই পজিশনের কাজ কি হবে। এবং এইটা কি নতুন
পজিশন নাকি এক্সিস্টিং কোন পজিশন। তারপর উনি বলল এইটা নতুন পজিশন এবং নতুন একটা
টিম হবে। তারা প্রোডাক্টের একটা বড় enhancement করবে।
তারপর জিজ্ঞাস
করলাম তাদের প্রোডাক্ট বর্তমানে কিভাবে কাজ করে, architecture কিরকম। তারপর উনি
আমাকে ডিটেইলসে বললেন নতুন প্ল্যান কি। মজার ব্যাপার হচ্ছে উনাদের প্রোডাক্টের
আইডিয়া আমি তখন সম্প্রতি করা Redis হ্যাকাথনে ডেভেলাপ করা প্রোজেক্টের মতই ছিল।
তবে উনাদের আইডিয়া অনেক বড় পরিসরে ছিল এবং ইউজার বেজ অনেক বড় ছিল। তারপরেও আমার
আইডিয়া থেকে অনেক সময় আলাপ চালায়ে গেলাম।
তারপর উনি বলল আমি তোমাকে
নেক্সট রাউন্ডের ইন্টারভিউ ইনভাইট দিব। রিক্রুটার তোমার সাথে কথা বলবে। তারপর
নেক্সট রাউন্ড কেমন কি টাইপ হবে জিজ্ঞাস করার সাথে বলল, “The major part will
be related to system design and I believe you will gonna nailed it.” তারপর
জিজ্ঞাস করলাম আমি Ruby on Rails এ শেষ কাজ করেছি প্রায় ৩ বছর আগে। এইটা কি কোন
সমস্যা হবে এই পজিশনের জন্য। সে বলল শেখার আগ্রহ থাকলে এইসব জিনিস কোন সমস্যাই
না।
তারপর ইন্টারভিউ শেষ করার আগে বলল, তোমার সাথে আরও কথা বলতে
পারলে ভাল লাগত। তবে যদি তুমি জয়েন কর তাহলে এইসব ব্যাপারে অনেক আলাপ হবে
আমাদের।
এই রাউন্ড শিডিউল করা ছিল ১ ঘণ্টার, তবে আমরা কথা বলছি ১
ঘণ্টা ৩০ মিনিটের মত।
তাপর সেইদিনেই রিক্রুটার মেইল দিল। ফাইনাল
ইন্টারভিউ শিডিউল সেট করবে। সময় ঠিক করলাম। ফাইনাল রাউন্ড ছিল ৩ স্টেজ একদিনেই।
System design, technical, cultural fit।
ফাইনাল ইন্টারভিউ
প্রথম রাউন্ড শুরু হল System design দিয়ে। এই রাউন্ডে ছিল
Engineering manager এবং একজন Senior software engineer।
প্রথমে Senior
software engineer দুই তিন লাইনে একটা প্রোডাক্টের আইডিয়া দিল। তারপর বলল এইটা
আমরা বানাতে চাই। এখন এইটার ডিজাইন করতে হবে এবং একটা whiteboard open করে
দিল।
তারপর আমি উল্টা প্রশ্ন করতে শুরু করলাম সিস্টেম কি ধরনের ইউজার
ব্যবহার করবে, কত ইউজার হবে। সব রকমের requirement সংগ্রহ করলাম ৭ মিনিটের মত
সময় নিয়ে। যেসব জায়গা গুলায় কনফিউশান ছিল, সেইগুলা আমি ক্লিয়ার করে নিলাম। এবং
প্রতিটা requirement আমি whiteboard এ পয়েন্ট করে লিখে রাখলাম।
তারপর
আমি বললাম প্রথমেই আমি একটা high level ডিজাইন ডিফাইন করব। আমার কি কি সার্ভিস
হবে এবং কোন সার্ভিসের রেস্পন্সিবিলিটি কি হবে। তারপর কিছু service draw করলাম।
এবং বুঝালাম আমার কোন সার্ভিস কিভাবে পুরা সিস্টেমের সাথে কাজ করবে এবং কোনটার
কাজ কি হবে।
এর মাঝে senior software engineer requirement এ চেঞ্জ
আনলেন। এবং জিজ্ঞাস করল এইবার তুমি এই চেঞ্জ কিভাবে এই সস্টেমে ফিট করবা। আমি
খুব অল্প চেঞ্জের মাধ্যমে নতুন requirement fit করে ফেললাম। এইসব করতে করতেই ১
ঘণ্টার ইন্টারভিউ এর ৪০ মিনিট শেষ।
তারপর বলল ডাটা মডেল ডিজাইন
করতে। সুন্দর করে ডায়াগ্রাম দিয়ে ডিজাইন করে দেখালাম। তারপর আরও একটা ফিচার
এ্যাড করল। তারপর জিজ্ঞাস করল এইবার ডাটা মডেল কিভাবে চেঞ্জ হবে। আমি আবার করে
দেখালাম।
তারপর জিজ্ঞাস করল api endpoint কি কি হবে, কি চিন্তা
করতেছি। আমি সুন্দর করে একটা api endpoint এর লিস্ট whiteboard লিখে
দেখালাম।
তারপর জিজ্ঞাস করল এই সিস্টেম স্কেলেবল করতে হলে কি করবা।
তারপর আমি সুন্দর করে ডায়াগ্রাম থেকে দেখালাম কোন কোন সার্ভিস কিভাবে সহজেই
স্কেলেবল করা যাবে এই ডিজাইনে। এবং তাদের দুইজনের চেহারা দেখেই বুঝলাম তারা
খুশি। ১ ঘণ্টা প্রায় শেষের দিকে, আমাকে জিজ্ঞাস করল কোন প্রশ্ন আছে।
আমি
engineer manager কে জিজ্ঞাস করলাম, “In our previous meeting, you mention
that I will gonna nailed it. Did I?”। সে হাসতে হাসতে বলল “Yes”।
তারপর
২ মিনিটের মত ব্রেক দিয়ে শুরু হল Technical interview. এইবার
একজন software engineer এবং team lead. তাদের বেশির ভাগ প্রশ্ন ছিল আমার ডেইলি
লাইফের কাজের ধরন নিয়ে। আমি কিভাবে কোড রিভিউ করি। একটা PR রিভিউ এর সময় কোন
জিনিস গুলা সবচেয়ে বেশি প্রধান্য দেই। একটা সিস্টেমের api design করার সময়
কিভাবে চিন্তা করি। Unit test, e2e টেস্ট লেখার সময় কিসব বিষয় প্রধান্য দেই।
এবং তারা আমার কাছে কোনটা বেস্ট বলে মনে হয় সেইটার মতামত জানতে চেয়েছিল।
তারপর
একটা টিমে কাজ করার সময় বিভিন্ন রকম ঘটনা উল্লেখ করে, আমি সেই জায়গায় থাকলে
কিভাবে জিনিস গুলা হ্যান্ডেল করতাম। বা তারা যেভাবে হেন্ডেল করেছে সেইখানে কোন
ইম্প্রুভেমেন্ট এর জায়গা আছে কিনা এইসব মতামত জানতে চাইছে।
তারপর
আমাকে জিজ্ঞাস করল, আমার কোন প্রশ্ন আছে কিনা। আমি জিজ্ঞাস করলাম তোমরা যেহেতু
একদম ইঞ্জিনিয়ারিং টিমের পার্ট, আমি তোমাদের থেকে টিমের environment সম্পর্কে
জানতে চাই। তোমরা কিভাবে কাজ কর। একজন টিমমেট প্রবলেমে পরলে কিভাবে হেল্প বা
সার্পোট কর। তারা সুন্দরভাবে তাদের ইঞ্জিনিয়ারিং কালচার তুলে ধরল।
তারপর
৫ মিনিটের ব্রেক দিয়ে শুরু হল Cultural fit interview. যে
টিমে জয়েন করব সেই টিমের manager এবং people টিমের হেড ছিল। পরিচয় দিয়ে শুরু।
তারপর আমি বললাম বর্তমানে কি করি। কি করতে ভালবাসি। তারা আমার সিভি দেখে
জিজ্ঞাস করল এই প্রোগ্রামিং কন্টেস্ট জিনিস টা কি? আমি তাদেরকে পুরা একটা
প্রোগ্রামিং কন্টেস্ট এর শুরু থেকে শেষ পর্যন্ত কি হয় বললাম। তারপর আমাকে
জিজ্ঞাস করল আমি এই প্রোগ্রামিং কন্টেস্ট থেকে কি শিখেছি, যা আমার জীবনে এখনো
মূল্যবান জিনিস হয়ে আছে। আমি বললাম, উত্তর শুনে খুবই এপ্রিশিয়েট করল। তারপর বলল
বর্তমানে যে দুইটা হ্যাকাথন জিতেছি সেইটার অভিজ্ঞতা তাদের সাথে শেয়ার করতে।
শুনে আরও খুশি হল মনে হইল।
তারপর সব কিছুই ইনফর্মাল আলোচনা করল। আমি এইসব
কাজের বাইরে আর কি করতে পছন্দ করি। বললাম আমার অনেক পাখি আছে, বিড়াল আছে,
সাইকিলিং পছন্দ করি। আমার পেট খুব ভাল লাগে। তারা বলল তাদের অফিসে পেট নিয়ে আসা
যায়। তাদের কয়েকজন কলিগের পেট এর ছবি দেখাল। এইভাবে ১ ঘণ্টার ইন্টারভিউ ১ ঘণ্টা
১০ মিনিট হয়ে, বিদায় নিয়ে শেষ হল।
৩ দিন পর রিক্রুটার আবার মেইল
দিল। ফাইনাল ইন্টারভিউ এর ফিডব্যাগ খুবই পজেটিভ। এইবার CTO এর সাথে ইন্টারভিউ।
সময় ঠিকহল সাপ্তাহের শেষের দিন।
ইন্টারভিউ এর শুরুতেই CTO তারপর
পরিচয় দিল এবং বলল আজকে সে তার পরিবারের সাথে বার্বিকিউ পার্টির আয়োজন করতেছে।
আমি বললাম নাইস। তারপর আমার পরিচয় দেয়া শুরু করলাম, সামারি দিলাম। তারপর সে
ইনফর্মালি তার ক্যারিয়ারের অনেক কাহিনী বলতে শুরু করল, কিভাবে এই কোম্পানিতে
জয়েন করল সেইটাইও বলও। তারপর সে আমার কাছ থেকেও এই টাইপু কিছু আশা করতেছে বুঝতে
পেরে আমিও একদম আমার ভার্সিটির থেকে শুরু করে একদম বর্তমান পর্যায়ের অস্থান
সর্ম্পকে বললাম। সে সবগুলা কথা খুব মনোযোগ দিয়ে শুনল।
তারপর সে কোম্পানির
ভিশন ও মিশন বলল। এবং আমি যদি জয়েন করি তাহলে কিভাবে রিএ্যালোকেট করবে সেই
প্ল্যানও বলল। (বিদ্রঃ এখনও কোন অফার কিন্তু করে নাই) তারপর বললাম আমি আমার
বউকে নিয়েই আসব। সে বলল ফ্যামেলি সহ রিএ্যালোকেট করার খরচ দেয়া হবে। তারপর
কোম্পানির সুযোগ সুবিধা সব বলল। ৩০ মিনিটের মিটিং ১ ঘণ্টা হল। তারপর সে বলল আমি
পরের সাপ্তাহের প্রথম দিন তোমাকে ফর্মাল অফার পাঠাবো। পুরা মিনিটং এই ছিল
আড্ডা।
তারপর পরের সাপ্তাহে প্রথম দিন অফার পেলাম।
বিদ্রঃ
পুরা ইন্টারভিউতে কোন স্পেসিফিক Framework related কোন প্রশ্ন ছিল না। Language
related প্রশ্ন ছিল ১০% এর মত।
No comments:
Post a Comment