প্রবলেম সলভিং এর জন্য অনেক গুলো অনলাইজ জাজ প্লাটফর্ম রয়েছে। আমরা দেখব কিভাবে লিটকোড এ থাকা সমস্যা গুলো সমাধান করে সাবমিট করা যায়। কেন লিটকোডে প্রবলেম সলভিং করব ইত্যাদি। যেমন টপ কয়েকটি অনলাইজ জাজ হচ্ছেঃ
- Codeforces
- Project Euler
- UVa Online Judge
- Topcoder
- CodeChef
- Hackerrank
- SPOJ
- LeetCode ইত্যাদি।
এগুলো ছাড়াও আরো অনেক গুলো অনলাইন জাজ রয়েছে। আপনারা চাইলে যে কোনটাতেই সমস্যা সমাধান করতে পারেন। মূল লক্ষ্য হচ্ছে নিজের জ্ঞান বাড়ানো। যে কোন সমস্যা সমাধান করতে গেলে অনেক বেশি চিন্তা করতে হয়, অনেক রিসার্চ করতে হয়। তখন অনেক কিছু শেখা হয়। এই জন্য যারা প্রোগ্রামিং প্রবলেম গুলো সলভ করে, তারা ক্যারিয়ারেও এগিয়ে থাকে। বড় বড় টেক কোম্পানিতে খুব সহজে চাকরি পায়।
লিটকোডে অন্য যে কোন অনলাইন জাজিং প্লাটফর্ম থেকে একটু বেশি সুবিধে পাওয়া যায়। এখানে প্রবলেম সলভিং এর পাশাপাশি ইন্টার্ভিউর প্রিপারেশন নেওয়া যায়। রয়েছে দারুণ কিছু কোর্স। অনেক গুলো কোম্পানি এদের মাধ্যমে ইন্টারভিউ নিয়ে থাকে। এর ফলে যারা কোডিং ইন্টার্ভিউ দেওয়ার প্ল্যান করছেন, এই প্লাটফর্মে প্রবলেম সলভিং করার অভিজ্ঞতা থাকলে একটু হলেও এগিয়ে থাকবেন। লিটকোড কিছু প্রিমিয়াম ফিচার রয়েছে, যার জন্য আলাদা পে করতে হবে। তবে সাধারণ ইউজারদের জন্য ফ্রি ভার্সনই যথেষ্ট।
লিট কোডের মাধ্যমে প্রোগ্রামিং প্রব্লেম সলভিং
ইন্টার্ভিউ প্রিপারেশন হোক বা প্রব্লেম সলভিং হোক, লিটকোড ব্যবহারের জন্য সবার প্রথমে আপনাকে একটা একাউন্ট তৈরি করে নিতে হবে। তার জন্য ভিজিট করুন https://leetcode.com/। হোম পেইজে থাকা Create account এ ক্লিক করে একাউন্ট তৈরি করে নিন। এখানে আপনার ইউজার নেম, পাসওয়ার্ড ও ইমেইল এড্রেস দিতে হবে। এরপর ইমেইল ভেরিফিকেশন কমপ্লিক্ট করলে আপনি লিটকোডের ফিচার গুলো ব্যবহার করতে পারবেন।
লিটকোডে লগিন করার পর উপরের মেন্যু বার থেকে Problems এ ক্লিক করলে প্রবলেম সেট দেখাবে। এখানে প্রব্লেম গুলো অনেক ভাবেই সর্ট করা যাবে। যেমন Difficulty থেকে Easy, Medium , Hard এভাবে সর্ট করতে পারবেন। এছাড়া টপিক্স অনুযায়ীও সর্ট করে নিতে পারবেন। যেমন অ্যালগরিদম, ডেটাবেজ, শেল, অ্যারে, স্ট্রিং এমন টপিক্সে ক্লিক করলে ঐ টোপিক্সের উপর সমস্যা গুলো দেখাবে। সেগুলো আবার Difficulty অনুযায়ী সর্ট করে নিতে পারবেন।
আমরা একেবারে সহজ সমস্যাটা দেখি। Two Sum সমস্যা। এই সমস্যায় ক্লিক করলে বিস্তারিত পেইজে নিয়ে যাবে।
এখানে Description এ প্রবলেম সম্পর্কে বলা থাকবে। ডান পাশে আপনি কোন প্রোগ্রামিং এ সমস্যাটা সমাধান করবেন, তা সিলেক্ট করা যাবে। এরপর চাইলে এখানে কোড লিখতে পারবেন অথবা আপনি চাইলে আপনার কম্পিউটারে থাকা যে কোন কোড এডিটরে কোড লিখতে পারেন। ডান পাশে থাকা এডিটরে কোড লিখে রান করা যাবে। এরপর যদি মনে হয় আপনি সমস্যাটা সমাধান করতে পেরেছেন, তাহলে সাবমিট করতে পারেন। সাবমিট বাটন রয়েছে ডান দিকে নিচের কোনায়। সাবমিট করার পর সঠিক হলেও দেখাবে, ভুল হলেও দেখাবে।
বাম পাশে আরো কিছু ট্যাব রয়েছে। যেমন Editorial, Solutions, Submissions ইত্যাদি। Editorial এ গেলে ঐ সমস্যাটা কিভাবে সমাধান করতে পারেন, তা সম্পর্কে কিছু লেখা থাকবে। কমন কিছু সমস্যায় আবার ভিডিও টিউটোরিয়ালও রয়েছে। নতুন যারা প্রব্লেম সলভিং শুরু করে, এই ভিডিও দেখে সমস্যাটা কিভাবে সমাধান করতে পারবে, তা জানতে পারবে। এছাড়া একটা সমস্যা অনেক ভাবেই সমাধান করা যায়। ভিন্ন ভিন্ন কিছু এপ্রোচ সম্পর্কেও জানতে পারবে।
Solutions ট্যাবে অন্য ইউজারদের সমাধান পাওয়া যাবে। এই সমাধান গুলো আবার প্রোগ্রামিং ল্যাঙ্গুয়েজ অনুযায়ী সর্ট করে নেওয়া যাবে। তবে অন্যের সমাধান না দেখে নিজে নিজে চেষ্টা করার জন্য পরমার্শ থাকবে। এতে নিজের দক্ষতা বাড়বে।
এছাড়া Submission ট্যাবে থাকবে আপনার সাবমিশন গুলো।
জানলাম কিভাবে লিটকোডে প্রবলেম দেখে সমাধান সাবমিট করা যায়। তো শুরু করুন প্রবলেম সলভিং। এখানে সমস্যা সমাধান করলে আপনার প্রোফাইলে দেখাবে। এই প্রোফাইল আবার পাবলিক। যে কেউ দেখতে পাবে। যে দেখবে, সে আপনার দক্ষতা সম্পর্কে একটা আইডিয়া পেয়ে যাবে। আপনি কি কি বিষয় জানেন, যে সমস্যা গুলো সমাধান করেছেন, সেগুলো থেকে অটোমেটিক এই তথ্য গুলো প্রোফাইলে যুক্ত হয়ে যাবে। এর ফলে সিভিতে লিটকোড প্রোফাইল যুক্ত করে দিলে সিভির ভ্যালুও বেড়ে যাবে।
লিট কোডের মাধ্যমে কোডিং ইন্টার্ভিউ প্রিপারেশন
এবার দেখব লিটকোডের মাধ্যমে কিভাবে কোডিং ইন্টার্ভিউ প্রিপারেশন নিবেন। তার জন্য মেনুবার থেকে Interview > Assessment এ ক্লিক করবেন।
এখানে Online Assessment এ ক্লিক করলে রিয়েল কোম্পানিতে ইন্টার্ভিউতে যে প্রবলেম দেওয়া হয়, তেমন কিছু প্রবলেম সলভ করতে দিবে। যেগুলো সমাধান করে ইন্টার্ভিউ প্রিপারেশন নিতে পারবেন।
Start এ ক্লিক করলে নিচের মত করে ইন্সট্রাকশন দিবে। এরপর Start Mock Assesment এ ক্লিক করলে আপনার সমস্যা দেখাবে। সমাধান করে আপনি সাবমিট করতে পারবেন। এরপর রেজাল্ট দেখাবে।
কোডিং ইন্টার্ভিউ প্রিপারেশনের জন্য লিটকোড দারুণ একটা প্লাটফর্ম। যারা ভবিষ্যতে প্রোগ্রামিং সম্পর্কিত এরিয়ায় ক্যারিয়ার গড়তে যায়, তারা এখানে নিয়মিত সমস্যা সমাধান করতে পারেন। আপনি যদি ভালো একটা কোম্পানিতে জব করে থাকেন, এরপরও সাজেস্ট করব এখানে নিয়মিত সমস্যা সমাধান করতে। যা পরবর্তীতে আরো ভালো কোন কোম্পানিতে ভালো পজিশনে জব ইন্টার্ভিউ দিতে সাহায্য করবে।
লিটকোড রিসোর্স
এখানে আপনি প্রোগ্রামিং সম্পর্কিত বিষয় গুলোও শিখতে পারবেন। তা পাবেন মেনুবার থেকে Explore লিঙ্কে ক্লিক করে।
এখান থেকে আপনি যে বিষয় গুলো শিখতে চান, সেখানে ক্লিক করে শিখে নিতে পারবেন। শেখার পাশাপাশি কতটুকু শিখেছেন, তাও টেস্ট করে নিতে পারবেন।
লিটকোড কনটেস্ট
এখানে কনটেস্টও করতে পারবেন। যাদের কনটেস্ট প্রোগ্রামিং এ আগ্রহী, তারা এখানে থাকা কনটেস্ট গুলোতে এটেন্ড করতে পারেন। যেগুলো থেকে আবার বিভিন্ন পুরষ্কার জেতার সুযোগও রয়েছে।
অন্যান্য রিসোর্সঃ
সাধারণত এক এক সমস্যা সমাধানের জন্য একেক ধরণের স্কিল ও অ্যালগরিদমের প্রয়োজন হয়। আবার কিছু অ্যালগরিদম জানার আগে অন্য অ্যালগরিদম গুলো বুঝতে কষ্ট হয়। তার জন্য দরকার হয় সঠিক রোডম্যাপ। neetcode.io খুব সুন্দর একটা রোড ম্যাপ তৈরি করে রেখে। পাশা পাশি লিটকোডের ঐ সম্পর্কিত কিছু সমস্যার লিস্টও রেখেছে। যেটা আমার কাছে খুবি দরকারি মনে হয়েছে। নিচের রোডম্যাপটা BFS স্টাইলে ফলো করলে ইনশাহ আল্লাহ কোডিং ইন্টার্ভিউ সহজ হবে। লিটকোড সমস্যার ব্যাখ্যার জন্য NeetCode চ্যানেল আমার দেখা বেস্ট।
পাশাপাশি লিটকোড থেকে Top Interview 150 সমস্যা গুলো সমাধান করার চেষ্টা করতে পারেন।
Dear Vaia,
LeetCode a minimum koto gulo problem solve korle interview er jonne enough hoy.(like – easy,medium,hard koto gulo korle boro company gulo theke call er priority thake .
স্কিল কতটুকু ডেভেলপ করতে পেরেছেন, তার উপর নির্ভর করে। ৩০০-৫০০ স্ট্যান্ডার্ড নাম্বার।
আমার কাছে অন্যান্য প্রোগ্রামিং প্লাটফর্ম একটু সহজ লাগে। পোস্টটি পড়ার পর এখানে করতে আগ্রহী।
ami almost 100+ koreci leetcode, tobe bhaia ai gula aktu timeline share den apni onekjon to mone hoy jane nah, ato sundor kore akta definition deoya ase, sorry bhaia ami amr timeline share dite pacci nah ami, karon ta akta ami apnake inbox a bolbo bhaia, ami onekjon k ai link ta diye dibo bhaia.
শেয়ার দিয়েছি 🙂