Програмування багато в чому пов'язано з вашою здатністю придумувати нові і цікаві ідеї; але іноді, через велику кількість часу, витраченого на рішення загальних проблем, ми забуваємо про креативність. Для того, щоб допомогти програмістам розвивати свої навички і дати можливість використовувати свої творчі здібності, існують сайти, на яких розміщуються цікаві завдання.
Пропоновані програмістам вирішуються, мають велике значення для:
- вивчення нових підходів;
- отримання досвіду у вирішенні критичних проблем;
- підтримки гостроти розуму і зосередженості.
У статті представлені найцікавіші і популярні сайти, які допоможуть вам не тільки поліпшити навички, а й, можливо, знайти хорошу роботу.
Ви отримуєте можливість заробляти реальні гроші. Сайт підтримується спільнотою майже в мільйон кодеров, і серед завдань, з якими ви можете зіткнутися, є багато складних. Деякі ентузіасти можуть знайти [topcoder] досить важким.
Ви можете брати участь у щоденних і щотижневих змаганнях, які вкрай складні і вимагають хороших інтелектуальних навичок для вирішення поставлених завдань. Це коштує витрачених часу і зусиль, так як всі ваші успіхи в кінці дня відображаються в вашому резюме.
HackerEarth працює, як SaaS додаток, що дозволяє зробити автоматичну оцінку технічних і логічних навичок кандидатів. Він також допомагає компаніям в пошуку талантів, виступаючи в якості спільноти розробників та місця відбору кращих з кращих.
На сайті часто з'являються нові завдання, і ви можете записатися на змагання за кілька тижнів, щоб підготуватися і заздалегідь знати, коли почнеться змагання і з чим вам доведеться мати справу. Як і на topcoder, на цьому сайті розміщуються продумані завдання, вирішення яких може згодом стане в нагоді у вашій кар'єрі.
Coderbyte - проект, який фінансується Kickstarter і орієнтований на програмістів будь-якого рівня.
Ви також можете задавати питання на форумі, якщо чогось не розумієте. Спільнота активно, і ви неодмінно отримаєте відповідь.
Спільнота Project Euler налічує кілька сотень тисяч користувачів з моменту первинного запуску десять років тому. Щотижня з'являється нова задача, при цьому на сайті є вже понад 450.
Для вирішення завдань вам доведеться використовувати навички критичного мислення. Мета такого підходу - допомогти вам підвищити майстерність і дізнатися більше про мову, який ви використовуєте.
Якщо ви хочете дізнатися більше про програмуванні та прийнятті рішень, то сабреддіт Reddit's Daily Programmer буде вкрай корисний для вас. Щотижня з'являється три нових завдання, до того ж на сайті вже є кілька сотень.
Кожне пропоноване вами рішення розглядається членами спільноти, так що ви отримаєте фідбек на вашу підходу.
Ви отримаєте декілька заготовлених і продуманих завдань, вирішення яких ви можете надати на різних мовах програмування. Завдання упорядковано відповідно до складності. У кожній дано докладне пояснення про те, що повинна видати програма, а також дається ліміт часу, відведеного на рішення.
Sphere Online Judge - це спільнота, в якому розміщено кілька тисяч завдань з програмування, які ви можете вирішувати цілий день. SPOJ підтримує майже всі мови програмування. Крім цього, є форум, на якому велика спільнота програмістів готове допомогти вам.
CodeChef був створений Directi з метою об'єднати співтовариство розробників і забезпечити платформу для практики, конкуренції і поліпшення навичок. На сайті розміщений великий набір завдань, а також можна отримати доступ до вихідного коду рішень, створених іншими учасниками спільноти.
Ви можете приєднатися до CodeEval в якості розробника, який хоче показати свої навички програмування роботодавцям і колегам. Ви можете взяти участь в змаганнях по декількох напрямках, метою яких є створення продукту / додатки - і отримати грошові призи. Крім того, ви отримуєте доступ до завдань з програмування. які можуть бути вирішені і додані в ваше резюме, щоб в подальшому справити хороше перше враження на ваших потенційних роботодавців.
На HackerRank є розділ завдань, пов'язаних зі штучним інтелектом, що дає досвідченим програмістам можливість застосувати свої навички в такої прогресивної галузі знань. Сайт працює за підтримки таких компаній, як Y Combinator, SVAngel і багатьох інших.
Самі завдання досить цікаві, і, що важливо, дають унікальний досвід.
На Rosalind розміщені завдання, що стосуються біоінформатики, які ви можете вирішувати з комфортною для вас швидкістю.
На FightCode вам спочатку потрібно запрограмувати своїх власних роботів, а потім використовувати їх для боротьби з роботами інших членів спільноти. Підхід типу «запрограмують-і-грай» (code-and-play) корисний для тих, хто не знайомий з таким методом, або, можливо, просто хоче повеселитися.