17 складнощів кодування, щоб відточити ваше критичне мислення

Якщо ви хочете покращити свої навички в існуючій або новій мові програмування, один із найкращих способів це зробити — це завдання програмування.

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

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

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

Edabit

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

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

HackerRank

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

Наразі розробники можуть використовувати Java, Python, JavaScript, PHP, C++ і SQL для вирішення поставлених завдань.

Щоразу, коли ви надсилаєте свої рішення, платформа автоматично оцінює ваші пропозиції на основі таких факторів, як точність. Після цього ви потрапите в глобальну таблицю лідерів, попутно розвиваючи досягнення (значки). Є також «спринти», що є іншим терміном для змагань, які проводяться на платформі.

House of Codes написав захоплюючий твір із зображенням 50 найкращих викликів у рейтингу Hacker Rank. Якщо вам це цікаво, це варто прочитати, адже в ньому є маса прикладів і матеріалу.

Coderbyte

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

Однією з переваг використання цієї платформи є те, що вона співпрацює з деякими провідними брендами програмного забезпечення. Наприклад, Google, LogMeIn, HBO, PWC та багато інших. Якщо ви коли-небудь захочете отримати роботу в таких компаніях, то будьте впевнені, що Coderbyte може дати вам необхідні завдання, щоб перевірити ваші навички.

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

  Як викривити текст у PowerPoint

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

Кодові війни

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

Виконуючи зазначені вправи, ви можете отримати бали, а також перевірити, як інші програмісти розв’язали певну проблему.

Якщо ви збираєтеся практикувати нову мову, то Codewars — це винятковий сайт, який можна додати до своїх закладок.

Ось деякі з підтримуваних мов:

  • Clojure
  • Іржа
  • Свіфт
  • Python
  • Haskell
  • оболонка
  • JavaScript
  • PHP
  • Котлін
  • Scala

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

По суті, Edabit хоче створити платформу, яка може подолати розрив між початківцями та просунутими програмістами. Ви можете перевірити Дорожня карта щоб переглянути повний список функцій.

CodinGame

Ігри як навчальні платформи не є чимось новим, але, здається, зараз у цій сфері набагато більше гравців. CodinGame — це лише одна з багатьох платформ, яка пропонує завдання програмування через гейміфікований досвід. Замість того, щоб писати чіткий код, ви створюєте ігрове середовище. Увесь код, який ви пишете, певним чином впливає на те, як відбувається «гра».

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

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

HackerEarth

HackerEarth це відома платформа, яка проводить хакатони, конкурси кодування та різноманітні змагання.

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

І як це можливо? Здебільшого тому, що справжня мета HackerEarth полягає в тому, щоб надавати рішення для підбору персоналу для першокласних технологічних компаній. Якщо ви хочете, щоб вас вважали найкращим, ви повинні спілкуватися з найкращими. Це безпрограшна ситуація для вас.

програмування

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

Що стосується проблем, у Programmr є спеціальний набір завдань для Java, C++, PHP, C#, Ruby, Python та iOS. Кожен набір містить понад 100 завдань, які можна сортувати за популярністю (на основі голосів користувачів) та іншими факторами.

  Як показати календар Google в Outlook

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

Поїзд кодування

Деніел Шиффман — це самостійна армія, яка створює та випускає чудові матеріали з програмування. Поїзд кодування – це особиста платформа YouTube Деніелса, де він ділився цікавими та корисними відео для вирішення проблем, пов’язаних із програмуванням.

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

Дотримуйтеся того, на чому базуються його виклики P5.js і Обробка — два популярних рішення, що використовуються в художньому та графічному дизайні.

Виклики Wolfram

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

Хоча наша увага не зосереджена на Wolfram Alpha, новому рубежі, представленому на початку 2018 року — Виклики Wolfram.

Є багато прикладів проблем, які можна собі уявити, пов’язаних із пошуком «найнижчого рішення» або «найкращого». І це схоже налаштування з типовими завданнями машинного навчання: знайти функцію (скажімо, на основі нейронної мережі), яка найкраще працює під час класифікації певного тестового набору тощо.

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

LeetCode

LeetCode це продукт, тобто це не просто сайт, на якому розміщені випадкові завдання. Натомість LeetCode — це спосіб підготувати себе до майбутніх можливостей.

Платформа пропонує сучасне навчання, складні виклики та чудову інформаційну панель для виконання всього цього.

Є також статті, дошки обговорень та інші аспекти спільноти, щоб заохотити бездоганний досвід. Багато користувачів LeetCode «закінчили навчання» для роботи в таких компаніях, як Uber, Amazon, Stripe та інших.

Codeforces

Codeforces для всіх хардкорних і відданих програмістів. Подумайте про інженерів програмного забезпечення, пентестерів, ентузіастів ШІ та наркоманів машинного навчання! Як платформа для досвідчених програмістів, Codeforces відома своєю сумнозвісною таблицею лідерів і духом змагання.

І почати легше, ніж ви думаєте.

Заняття фізичними вправами

Приємно бачити ініціативи, що стоять за багатьма платформами для тестування кодування.

І Заняття фізичними вправами не є винятком. Катріна Оуен, засновник, каже, що її мета — «допомогти людям вивчити достатньо програмування [using Exercism] щоб вони могли знайти роботу в розвитку».

На момент написання цієї статті є понад 2600 вправ 48 мовами — усі вони безкоштовні! Ви мали на увазі вивчити Kotlinабо можливо краще орієнтуватися у Vim? Тепер у вас є шанс навчитися нових навичок через цікаві завдання!

Кодієр

Як би це не дивно для деяких із вас, у розробці інтерфейсу все ще відбувається кодування!

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

  Як налаштувати RAID жорсткого диска у відкритому медіа-сховищі

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

Flexbox Froggy

Говорячи про інтерфейс, як просувається ваше розуміння Flexbox? Завжди приємно трохи освіжити пам’ять, щоб залишатися бадьорим і точним!

Flexbox Froggy це приємна маленька гра, яка проведе вас через 28 кроків різних видів використання та вирівнювання Flexbox. Можливо, це не так складно, як нагадування, але чи зможете ви пройти всі рівні, не шукаючи відповідей?

Сітка Сад дуже схожа гра; єдина різниця полягає в тому, що ви працюєте з функцією Grid, а не з Flex.

PyBites

Python широко визнано як найпростішу мову для вивчення. І часто рекомендується для початківців програмістів для вивчення першими. Але нехай це не знеохотить вас вірити в можливості Python.

У наші дні багато машинного навчання та створення наборів даних виконуються виключно за допомогою Python — і це не маленький подвиг!

PyBites інформує вас про останні події. Статті, проблеми з кодуванням та інші критичні ласі шматочки, які допоможуть вам розвинути кмітливість. Кожне завдання включає наступні дії у вигляді огляду, де ви можете порівняти свій код і дослідити правильний спосіб вирішення проблеми.

CodeCombat

CodeCombat це ще одна гра в кодування, яка забезпечує динамічне та складне середовище кодування. Різниця між таким продуктом, як CodinGame, полягає в тому, що CodeCombat орієнтований на вчителів. Таким чином, ви можете використовувати цю платформу для навчання програмуванню та розв’язанню задач на рівні школи.

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

Тинкер

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

І не помиляйтеся, Tynker адаптований до сучасних стандартів більше, ніж ви думаєте. Якщо у вас є діти, які підростають до підліткового віку, ви можете дозволити їм писати рішення за допомогою Python або JavaScript, а не використовувати лише Blocks.

Заключні слова: Киньте собі виклик!

Загалом існує, ймовірно, 10 000 проблем із унікальним кодом на всіх сайтах і платформах, які ми перерахували. Неможливо пройти їх усі просто так.

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

Ви також можете розглянути DataCamp, щоб вивчити науку про дані, яка включає завдання та проекти з кодування.

Далі, як щодо того, як додавати коментарі популярними мовами програмування?