টেক জায়ান্ট গুগলের নাম শোনেনি বা কখনো ব্যবহার করেনি এরকম মানুষের সংখ্যা পৃথিবীতে হয়তো হাতে গোনা যাবে। আরো সহজ করে বলতে গেলে এই লেখাটি পড়ছেন অথচ গুগলের নাম শোনেননি এটা কখনোই হওয়ার কথা নয়। প্রযুক্তিমনা বা কম্পিউটার সায়েন্সে পড়াশোনা করছেন এরকম অনেকেরই স্বপ্ন হয়তো গুগলে চাকরি করা। সেই স্বপ্ন অনেকেই সারাজীবন ধরে লালন-পালন করে যান নিজের ভেতরে, সু্যোগ হয়ে ওঠে না গুগলের ডাক পাওয়ার। রিক্রুটমেন্ট তো একটু পরের ব্যাপার। যা-ই হোক, আপনার মনে যদি কখনো ইচ্ছা জাগে গুগলে চাকরি করার তাহলে গুগলের ফু-বার চ্যালেঞ্জ সম্পর্কে জ্ঞান থাকা অতিশয় জরুরি ব্যাপার।
foo.bar কী?
foo.bar মূলত গুগলের একটি সিক্রেট টুলস। যার মাধ্যমে গুগল সফটওয়্যার ইঞ্জিনিয়ারদের ইন্টারভিউয়ের জন্য আমন্ত্রণ জানায়। এর মাধ্যমে গুগল কোনো ডেভেলপারকে ধাপে ধাপে ৫টি প্রোগ্রামিং চ্যালেঞ্জ দিয়ে থাকে। সেগুলো সমাধান করার পর গুগলের পক্ষ থেকে একজন নিয়োগকর্তা তাকে ইন্টারভিউয়ের জন্য আমন্ত্রণ জানায় এবং নির্দেশনা দিয়ে থাকে। এতে ভালো করলে মিলে যাবে সোনার হরিণ- “গুগলে চাকরি”। নির্দিষ্ট কিছু এলগরিদম আর সার্চ রেকর্ডের ভিত্তিতে দেওয়া হয় এই চ্যালেঞ্জ। গুগলে চ্যালেঞ্জ পাওয়ার সময় আলাদা একটি সেকশন পাবেন যেখানে একটি লেখা দেখতে পারবেন।
You’re speaking our language. Up for a challenge?
আর তিনটি অপশন-
- I want to play
- No thanks
- Don’t show me this again.
যদি আপনি “I want to play” তে ক্লিক করেন তাহলে আপনাকে চ্যালেঞ্জের জন্যে নির্বাচন করে আলাদা একটি টার্মিনালে রিডিরেক্ট করা হবে। এবং আপনার সময়মত নিজের প্রবলেমগুলো একের পর এক সমাধান করতে পারবেন।
foo.bar রহস্য
২০১৪ সালে সর্বপ্রথম একজন হ্যাকার-নিউজ ইউজার ফুবারের প্রথম চ্যালেঞ্জ পায়। তিনি তখন গুগলে কিছু পাইথন সমস্যার সমাধান খুঁজছিলেন আর হঠাৎই এরকম একটি সেকশন পান। তিনি সেখানে কিছু সমস্যা খুঁজে পেয়েছিলেন সমাধান করার জন্য। ঠিক এ ঘটনার পরই মূলত ফুবার চ্যালেঞ্জ সম্পর্কে জানাজানি শুরু হয়।
প্রথমে সেটাকে ২য় বিশ্বযুদ্ধ ভিত্তিক গেম ‘দি ইলিমিনেশান’ এর প্রচার ভাবা হয়েছিলো। কেউ কেউ ভেবেছিলেন এটা গুগলের পাইথন ডেভেলপার নিয়োগ করার পদ্ধতি, কেউ কেউ আবার বলছিলেন গুগল ক্রিপ্টো অ্যানালাইসিস্ট খুঁজছে এভাবে। পরবর্তীতে ২০১৫ সালে জেনেভা’র একজন ইঞ্জিনিয়ার ছাত্র এটি নিয়ে ‘Google Foobar: a Post Mortem’ এই শিরোনামে একটি বিস্তারিত ব্লগ পোষ্ট করেন। ব্লগ পোষ্টটি পড়া যাবে এখানে। এরপর থেকেই ব্যাপারটা নিয়ে মোটামুটি সবাই জানতে পারে।
যেভাবে পাবেন foo.bar চ্যালেঞ্জ
foo.bar চ্যালেঞ্জ পাওয়ার উপায় আছে ২টি।
১ গুগল থেকে
গুগল থেকে সরাসরি চ্যালেঞ্জ দেওয়া হয়। এর জন্যে গুগল মূলত ট্র্যাক করে আপনার সার্চ। গত এক বছর আপনি প্রোগ্রামিং এর যেসব সমস্যার সার্চ করেছেন, কোন কি-ওয়ার্ড সার্চ করেছেন এগুলোর উপরে। এই এলগরিদম এর মধ্যে পড়লে আপনি প্রোগ্রামিং রিলেটেড সার্চ করলেই পেয়ে যেতে পারেন এই চ্যালেঞ্জ।
বন্ধুদের কাছ থেকে
আপনার কোনো বন্ধু যে গুগলের উক্ত চ্যালেঞ্জটি পেয়েছে এবং কমপক্ষে ৩টি সমস্যার সমাধান করেছেন সে চাইলে আপনাকে সহ মোট ২ জনকে ইনভাইট করতে পারবে। এভাবে পেলেও পেয়ে যেতে পারেন foo.bar চ্যালেঞ্জ।
সমস্যাগুলোর ধরন ও যেভাবে সলভ করবেন
আপনাকে মোটামুটি ৫টি সমস্যা দেওয়া হবে। এরকম নয় যে আপনাকে সবগুলো সমস্যা একটানা কোনো নির্দিষ্ট সময়ের মধ্যে সমাধান করতে হবে। আপনি চাইলে যেকোনো সময়ে সমস্যাগুলো সমাধান করতে পারবেন। তবে প্রতিটি চ্যালেঞ্জ গ্রহণ করার পর সেটা সমাধানের জন্য আপনাকে একটা সময় নির্ধারণ করে দেওয়া হবে। তবে দুঃখের বিষয় এই যে, আপনাকে শুধুমাত্র পাইথন বা জাভাতেই সমাধান করতে হবে সমস্যাগুলোর। তবে এটা জেনে খুশি হবেন যে, তারা আপনাকে ২টি ফরম্যাট দিয়ে দিবে সমাধানের। আপনাকে পাইথন বা জাভার যেকোনো একটিকে এডিট করে সমাধানটি সাবমিট করতে হবে।
প্রথম দিকে ছোট এবং সহজ থেকে পরের দিকে সমস্যা কঠিন হতে থাকবে। সমস্যার জটিলতা অনুযায়ী সময় দেওয়া হবে আপনাকে।
একজন ডেভেলপার কিভাবে প্রথম চ্যালেঞ্জের সমাধান কয়েক সেকেন্ডে করেছিলেন সেটা পড়তে এই লিংকে যেতে পারেন। আর অন্য একজনের সবগুলো চ্যালেঞ্জ দেখতে এখানে যেতে পারেন। সবার ক্ষেত্রে চ্যালেঞ্জ আলাদা আলাদা হলেও এখান থেকে কিছু ধারণা নিতে পারেন। আর ওয়ার্ম-আপ করে নিতে পারেন। এতে যেমন আত্মবিশ্বাস বাড়বে তেমনি আপনার দুর্বলতাও বুঝতে পারবেন।
কিছু অতিরিক্ত তথ্য
ইন্টারনেট ঘাঁটাঘাটি করে এটা মোটামুটি নিশ্চিত হতে পেরেছি এই ক্ষেত্রে গুগলে জাভা রিলেটেড সমস্যা নিয়ে কাজ করা ডেভেলপারদের একটু বেশি নজরে রাখা হয়। এ যাবত বেশ কিছু সার্চ কি-ওয়ার্ড তুলে ধরছি যেগুলো ডেভেলপারদের জন্যে বয়ে এনেছিলো স্বপ্নের সেই ফুবার চ্যালেঞ্জ।
1. dependency injection
2. mutex lock
3. arraylist java
4. python try catch
5. python list comprehension
6. angularjs directive
এছাড়াও আরো অনেক কিওয়ার্ড রয়েছে । সময়মত ব্যবহার করতে পারলে আপনিও হতে পারেন একজন ‘গুগলার’।