Не секрет, що кращий спосіб підвищити свої навички в програмуванні - це практикуватися і тільки практикуватися.
Ми підготували для вас величезну добірку сайтів з завданнями з програмування на найрізноманітніші теми
Codeforces - безсумнівно найпопулярніша і відома платформа в усьому світі для проведення змагань на алгоритмику. Крім великих контестов сайт часто проводить свої «раунди» - учасникам даються 5 завдань на дві години. Є система рейтингу, на основі якої учасники діляться на два дивізіону. Таким чином, профі не змагається з новачками безпосередньо. Всі завдання можна здати, щоб переглянути навіть після змагань. Крім «раундів» доступні і «тренування» - завдання з минулих змагань публікуються в режимі дорешіванія.
Topcoder - американська платформа, яка ненабагато відстає за популярністю від Codeforces. Примітна тим, що крім алгоритмічних контестов, які описувалися раніше, на ній проводяться і змагання з промислового програмування і марафони - змагання з завданнями на дослідження, для яких немає єдиного вірного алгоритму, а є лише відповідь, що підходить більше або менше. На вирішення таких завдань учасникам зазвичай дається одна або два тижні.
Timus Online Judge - російськомовна (хоча англійська мова також підтримується) платформа, на якій понад тисячу завдань вдало відсортовані за темами і за складністю.
SPOJ - Великий англомовний сайт з більш ніж 20000 завданнями на абсолютно різні теми: динамічне програмування, графи, структури даних і т.д. Зрідка проводить контести, які не представляють інтересу, якщо ви не живете в країнах їх проведення.
informatics.mccme.ru— платформа с множеством теоретических материалов и задач по соответствующим темам. Все очень удобно собрано по категориям и темам. Также содержит большую базу задач с прошедших олимпиад школьников.
Сodechef - менш великий аналог Codeforces і TopCoder, теж з величезним архівом завдань і регулярними контест.
acmp.ru - сайт, який буде корисний всім завдяки своєму архіву завдань, зручно (і здебільшого правильно) відсортовані за складністю і темам.
projecteuler.net - збірник 500 завдань, які неможливо вирішити без знань математичних і геометричних алгоритмів. Іноді використовується на співбесідах для прийому на роботу, щоб краще з'ясувати алгоритмічну підготовку претендента.
kaggle.com - дана платформа відрізняється від описаних раніше тим, що тут не проводиться алгоритмічних змагань - тільки завдання на дослідження (як в марафонах на вищенаведеному TopCoder). Наприклад, одне із завдань, на якій зараз там перевіряють свої вміння учасники, полягає в розпізнанні написаних вручну цифр. Ось кілька символів, для яких це не так просто, як здається (прим. Авт. - Деякі з них я не зміг розпізнати навіть не програмно):
codecombat - буде більше корисний для новачків. Ця платформа наочно демонструє, що навчання програмуванню - це не так складно і нудно, як може здатися. Сайт представлений у вигляді гри, яка розділена на кілька частин, зростаючих за складністю. У кожній частині міститься безліч завдань на ті чи інші теми, покликані навчити програмуванню з нуля будь-якої людини. Якщо ви давно мріяли зайнятися програмуванням, але ніяк не знаходили в собі, обов'язково зверніть увагу на цей сайт.
hackerrank - навпаки буде більше цікавий професіоналам, які вже багато чого вміють. На цьому сайті зібрано безліч завдань на найрізноманітніші розділи Computer Science: традиційна алгоритміка, ІІ, машинне навчання і т.д. Якщо ви вирішите багато завдань, то вами можуть зацікавитися роботодавці, регуляторно моніторять цю платформу.
Empire of Code - сайт для програмістів, де
необхідно писати код, який реалізує стратегію і тактику віртуальних бійців.
Russian AI Cup - щорічний контест від
mail.ru по розробці ІІ. Брати участь можуть всі - від школярів до
професіоналів. Переможцям і призерам так само покладаються круті призи.
Обов'язково візьміть участь, якщо ви зацікавлені цією темою.
Задачи Типичного Программиста — да, на нашому сайті теж є
завдання з співбесіду, причому на самі різні теми: від логічних і математичних
до алгоритмічних. У цю добірку включені кращі з них (вона регулярно
оновлюється).
Ruby Quiz - добірка завдань для програмістів на Ruby, але рішення можна писати і на інших мовах.
Prolog Problems - аналогічно з Ruby Quiz. Добірка завдань для програмістів, що використовують Prolog.
PythonChallange — сайт з загадками,
зростаючими за складністю. Для їх вирішення необхідно написати програму на
Python.
C Puzzles - добірка головоломок,
специфічний для мови С, з усіма його примхами. Наприклад, дано код, який, за
логікою, не повинен працювати, але, тим не менш, він компілюється і навіть
правильно виконує своє завдання. Треба зрозуміти, чому так? На цьюму сайті ви
зможете придбати навик налагодження програм і читання коду інших.
CodinGame — сайт, на якому
програмування і відеоігри зливаються в єдине ціле. Тут ви знайдете велику
колекцію завдань на програмування, оформлених у вигляді відеоігор. Також тут
зрідка (раз в два місяці) проводяться контести, що містять в собі завдання на
оптимізацію і ІІ, переможці яких отримують цінні призи. А якщо ви вирішите
багато завдань, то на вас можуть звернути увагу компанії, які набирають на
цьому сайті працівників!
Комментариев нет:
Отправить комментарий