10 найпопулярніших веб-сайтів із викликом кодування [оновлено до 2020 року]

Чудовим способом вдосконалення своїх навичок під час навчання кодуванню є вирішення завдань кодування. Вирішення різних типів завдань та головоломок може допомогти вам краще вирішувати проблеми, вивчати тонкощі мови програмування, готуватися до співбесід, вивчати нові алгоритми тощо.

Нижче наведено список деяких популярних веб-сайтів із завданням кодування з коротким описом того, що пропонує кожен із них.

1. TopCoder

TopCoder - одна з оригінальних платформ для конкурентного програмування в Інтернеті. Він надає перелік минулих алгоритмічних завдань, які ви можете виконати самостійно безпосередньо в Інтернеті за допомогою їх редактора коду. Їх популярні одиночні матчі пропонуються кілька разів на місяць у певний час, коли ви змагаєтесь з іншими, щоб вирішити завдання найшвидше з найкращим балом.

Найпопулярніші користувачі TopCoder - дуже добрі програмісти-конкурентоспроможники і регулярно беруть участь у змаганнях з програмування. Найкращий користувач веде власний щоденник Петра Мітрічева під назвою « Алгоритми», де він пише про змагання з кодування, алгоритми, математику тощо.

2. Кодербайт

Coderbyte забезпечує понад 200 завдань кодування, які ви можете вирішити безпосередньо в Інтернеті на одній з 10 мов програмування (перегляньте цей приклад). Проблеми варіюються від простих (пошук найбільшого слова в рядку) до складних (надрукуйте максимальну відповідність графічності графіку).

Вони також пропонують збірник підручників з алгоритмів, вступні відео та курси підготовки до співбесід. На відміну від HackerRank та інших подібних веб-сайтів, ви можете переглядати рішення, які пропонують інші користувачі для будь-якого виклику, окрім офіційних рішень, розміщених Coderbyte.

3. Проект Ейлера

Проект Ейлера забезпечує велику колекцію завдань у галузі інформатики та математики. Проблеми, як правило, пов’язані з написанням невеликої програми, щоб з’ясувати рішення розумної математичної формули або рівняння, наприклад, знайти суму цифр усіх чисел, що передують кожному числу в серії.

Ви не можете безпосередньо кодувати веб-сайт у редакторі, тому вам потрібно буде написати рішення на своєму комп’ютері, а потім надати рішення на їх веб-сайті.

4. HackerRank

HackerRank пропонує завдання для декількох різних доменів, таких як алгоритми, математика, SQL, функціональне програмування, ШІ тощо. Ви можете вирішити всі проблеми безпосередньо в Інтернеті (перегляньте цей приклад). Вони пропонують обговорення та таблицю лідерів для кожного виклику, і більшість із них складається з редакційною статтею, яка докладніше пояснює проблему та способи підходу до неї, щоб знайти рішення. Окрім редакції, наразі ви не можете переглядати рішення інших користувачів на HackerRank.

HackerRank також надає можливість користувачам подавати заявки та подавати заявки на роботу, вирішуючи проблеми кодування, що фінансуються компанією.

5. CodeChef

CodeChef - це веб-сайт з конкурентного програмування на базі Індії, який пропонує сотні проблем. Ви можете писати код у їхньому Інтернет-редакторі та переглядати колекції завдань, які поділяються на різні категорії залежно від Вашого рівня кваліфікації (перегляньте цей приклад). Вони мають велику спільноту кодерів, які беруть участь у форумах, пишуть підручники та беруть участь у змаганнях з кодування CodeChef.

6. Вправа.io

Вправа - це веб-сайт із завданням кодування, який пропонує 3100+ завдань, що охоплюють 52 різні мови програмування. Вибравши мову, якою ви хотіли б володіти, ви вирішуєте завдання кодування прямо на своїй машині (Exercism має власний інтерфейс командного рядка, який ви можете завантажити з GitHub).

Однак це дещо відрізняється від інших веб-сайтів із завданнями, оскільки ви працюєте з наставником після виконання кожного завдання. Наставник переглядає ваші відповіді в Інтернеті та допомагає вам покращити їх у разі потреби. Після того, як ваші відповіді будуть схвалені та подані, ви відкриєте нові завдання.

7. Кодевари

Codewars пропонує велику колекцію завдань кодування, поданих та відредагованих їх власною спільнотою. Ви можете вирішити проблеми безпосередньо в Інтернеті в їх редакторі однією з кількох мов. Ви можете переглянути обговорення кожного виклику, а також рішення користувача.

8. LeetCode

LeetCode - це популярний Інтернет-суддя, який надає список із понад 190 викликів, які можуть допомогти вам підготуватися до технічних співбесід. Ви можете вирішити проблеми безпосередньо в Інтернеті на одній з 9 мов програмування. Ви не можете переглядати рішення інших користувачів, але вам надається статистика для власних рішень, наприклад, як швидко працював ваш код у порівнянні з кодом інших користувачів.

У них також є розділ `` Мок-інтерв'ю '', який спеціально призначений для підготовки до співбесіди, вони проводять власні конкурси з кодування та мають розділ для статей, які допоможуть вам краще зрозуміти певні проблеми.

9. SPOJ

Sphere Online Judge (SPOJ) - це онлайн-суддя, який забезпечує понад 20 тис. Завдань кодування. Ви можете надіслати свій код в Інтернет-редакторі. SPOJ також проводить власні конкурси та має зону для користувачів, щоб обговорити проблеми кодування. На даний момент вони не надають офіційних рішень та редакційних матеріалів, як це роблять деякі інші веб-сайти.

10. CodinGame

CodinGame дещо відрізняється від інших веб-сайтів, оскільки замість того, щоб просто вирішувати завдання кодування в редакторі, ви фактично берете участь у написанні коду для ігор, у які ви граєте безпосередньо в Інтернеті. Ви можете переглянути список ігор, які зараз пропонуються тут, а приклад - тут. У грі є опис проблеми, тестові приклади та редактор, де ви можете написати свій код на одній із 20+ мов програмування.

Хоча цей веб-сайт відрізняється від типових веб-сайтів з конкурентним програмуванням, таких як згадані вище, він все ще популярний серед програмістів, які із задоволенням вирішують проблеми та беруть участь у конкурсах.

Цей список базувався на кількох речах: моєму власному досвіді використання веб-сайтів, деяких пошукових запитах Google, публікаціях Quora та таких статтях, як ця та ця. Я також відвідував деякі форуми та підредагування, такі як r / learnprogramming, щоб побачити, які веб-сайти зазвичай рекомендують тамтешні користувачі. Застереження: я працюю в Coderbyte, який є одним із згаданих вище веб-сайтів.