شرکت در چالشهای کدنویسی و تلاش برای حل آنها، سبب ارتقاء مهارتهای برنامهنویسها شده و میتواند ایشان را در حرفهٔ خود ارتقاء بخشد. به طور مثال، در مقالهای تحت عنوان Euler: وبسایتی جهت آشنایی با چالشهای ریاضیاتی/کدنویسی به معرفی سایتی پرداختیم که توانسته چالشهای ریاضیاتی/الگوریتمیک را با یکدیگر در هم آمیزد تا بتواند به سختترین شکل ممکن ذهن دولوپرها را به چالش بکشاند. حال در این مقاله به معرفی یکسری وبسایتی خواهیم پرداخت که مجموعهٔ خوبی از چالشهای کدنویسی برای کاربران تازهکار تا ماهر را فراهم آوردهاند.
Coderbyte
این وبسایت دهها چالش کدنویسی را مطرح نموده که کاربران در یک ادیتور آنلاین و با استفاده از زبانهای برنامهنویسی مختلف میتوانند به حل آنها بپردازند. در این سایت، علاوه بر صدها هزار پاسخ نوشتهشده توسط سایر کاربران، برای بعضی از چالشها پاسخهایی رسمی و مورد تأیید نیز ارائه شده است. علاوه بر چالشهای کدنویسی، دورههای آموزش الگوریتم و ساختمان داده و همچنین توسعهٔ وب نیز در سایت Coderbyte در اختیار علاقمندان قرار میگیرد.
Codewars
این وبسایت مجموعهٔ گستردهای از چالشهای مطرح توسط اعضای خود را جمعآوری نموده و امکان حل آنها در یک ادیتور آنلاین با استفاده از دهها زبان برنامهنویسی مختلف را فراهم آورده است و در این سایت میتوانید علاوه بر راهحلهایی که پیش از این توسط کاربران ارائه شدهاند، به بحث و گفتگوهای ذیل هر چالش نیز دسترسی داشته، با حل هر چالش امتیاز کسب کنید و رتبهٔ خود را در این سایت بالاتر ببرید.
CodeFights
این وبسایت، مانند دو مورد قبل، شامل چالشهای کدنویسی است که در یک ادیتور آنلاین حل میشوند. در این سایت، تالارهای گفتگو نیز برای بحث و تبادل نظر در مورد چالشها در نظر گرفته شده است و یکی از قابلیتهای جالب این سایت گزینهای به نام Company Bot است که در آن شما در چالش کدنویسی خود، به رقابت با رباتی میپردازید که توسط مهندسان شرکتهایی مانند Uber و Quora برای این منظور برنامهنویسی شدهاند.
CodinGame
این وبسایت با موارد قبلی اندکی متفاوت است. در این سایت شما تنها به حل چالش و دستیابی به راهحل درست آن نمیپردازید بلکه از دانش و مهارت کدنویسی خود برای شرکت در یک گیم آنلاین بهره میبرید و پس از موفقیت و به پایان رساندن بازی، میتوانید روند بازی خود از ابتدا تا انتها را به صورت یک قطعهٔ فیلم تماشا کنید. بازیهای این سایت از گرافیک خوبی برخوردار بوده و رابط کاربری بازی/ادیتور آن روان و کاربرپسند است. به طور کلی، میتوان این سایت را یک گزینهٔ عالی برای ارتقاء مهارتهای کدنویسی تازهکارها دانست (برای کسب اطلاعات بیشتر، به مقالهٔ CodinGame: نوعی بازی برای تقویت مهارتهای برنامهنویسی مراجعه نمایید.)
TopCoder
این وبسایت که مناسب کدنویسان متوسط تا ماهر میباشد، یکی از پلتفرمهایی است که امکان کدنویسی رقابتی آنلاین را برای برنامهنویسان فراهم میآورد که در آن میتوانید در یک ادیتور آنلاین و در رقابت مستقیم با سایر کدنویسان وارد مبارزه شده و مجموعهای از چالشهای الگوریتمیک را حل نمایید. مسابقاتی در طول ماه برگزار میشود که طی آن باید در یک زمان تعیینشده و در رقابت با دیگران، به حل چالشهای موجود بپردازید. علاوه بر مسابقات و چالشهایی که صرفاً جهت سرگرمی و هیجان برگزار میشوند، مسابقاتی نیز در این سایت برگزار میشود که اگر بتوانید بهترین راهحل را در آنها ارائه دهید، جایزهٔ مسابقه را از آنِ خود خواهید نمود.
HackerRank
این وبسایت که مناسب کدنویسان متوسط تا ماهر است، بر موضوع علوم کامپیوتر تمرکز نموده و از این رو چالشهایی در زمینههای مختلف مانند الگوریتم، ریاضیات، اسکیوال، برنامهنویسی فانکشنال و #هوش مصنوعی ارائه نموده است. همچنین در ابتدای هر چالش، توضیحاتی ارائه شده است که شما را به پیدا نمودن راهحل نزدیکتر میکند مضاف بر اینکه امکان بحث و گفتگو در مورد هر چالش فراهم بوده و همچنین نام کاربران برتر شرکتکننده در هر چالش نیز نمایش داده میشود.
LeetCode
این وبسایت که مناسب کدنویسان متوسط تا ماهر میباشد، یکی از وبسایتهایی است که مجموعهای از بهترین چالشهای الگوریتمی را ارائه نموده است. به عبارتی، در این سایت چالشهایی مطرح شده که حل آنها نیازمند آگاهی به دانش دیتا استراکچر است و به همین دلیل است که حل آنها کمی دشوارتر از حل چالشهای سایر سایتها بوده و نیاز به مهارت بالاتری دارد و اگر قصد دارید به عنوان مهندس نرمافزار برای مصاحبهٔ شغلی آماده شوید، حل این چالشها برای شما بسیار مفید خواهد بود.
CodeChef
این وبسایت هندی صدها چالش برنامهنویسی را در دستهبندیهای مختلف از نظر سطح مهارت ارائه نموده و کاربران در یک ادیتور آنلاین میتوانند به حل آنها بپردازند. مجموعهٔ بزرگی از برنامهنویسان در این سایت به شرکت در رقابتها، تبادل نظر و آموزش میپردازند.
GeeksforGeeks
این وبسایت هم در زمینهٔ الگوریتم و دیتا استراکچر یکی از بهترین مجموعه چالشها را فراهم نموده است به طوری که مسائل بزرگ و گسترده به بخشهای کوچکتر و سادهتر شکسته شده و هر بخش توضیح داده میشود و راهحل آن تشریح میگردد و در نهایت به صورت کد ارائه میگردد. علاوه بر این، میتوانید پیش از مراجعه به راهحل، در یک ادیتور آنلاین شخصاً به حل چالشها بپردازید (اگر قصد دارید برای شرکت در یک مصاحبهٔ شغلی آماده شوید، میتوانید از این سایت استفاده کنید تا شما را برای حل چالشهای دشوار الگوریتمی آماده کند.)
Codeforces
در این وبسایت روسی میتوانید با برترین برنامهنویسان به صورت آنلاین به رقابت بپردازید. حل چالشهای مطرحشده در این وبسایت نیاز به دانش پیشرفتهٔ ریاضی و الگوریتم دارد و از همین روی، شرکت در این چالشها برای برنامهنویسان تازهکار غالباً دشوار است.