Все статьи | Дневник студента

Мой подход к решению испытаний на Хекслет

Мой подход к решению испытаний на Хекслет главное изображение

Введение

Дополнительная практика, как ни крути, всегда несёт в себе дополнительную пользу. С каждой решенной задачей, понимание предмета увеличивается. Однако, есть такие задачи, которые могут полностью отбить желание программировать, в виду их кажущейся сложности.

Алгоритм действий при решении испытаний:

  1. Внимательно и вдумчиво прочитать техническое задание. Иногда задачу не получается решить только из-за того, что упущена какая-то малозначительная подробность, из-за неё может не пройти единственный тест, но его одного хватит чтобы запороть задание, а заодно и ваше нервы.
  2. Просмотреть файл с тестами, найти пограничные случаи работы функции (border cases) и начать с них. Но не стоит злоупотреблять тестами, а именно подгонять решение под каждый тест, вместо написания алгоритма. Это медвежья услуга. К тому же, подробное изучение тестов позволяет прочувствовать логику задачи в целом и разбить её на этапы.
  3. Если задача связана с математикой (например: умножение матриц или треугольник Паскаля), найти информацию об этом алгоритме в интернете. Не нужно заново изобретать велосипед.
  4. Почитать, с какими сложностями столкнулись другие пользователи Хекслета в обсуждениях испытания. Особенно актуально, когда все предыдущие пункты не помогают, и вы все ещё сидите с пустым экраном.
  5. Если все же задача никак не получается, оставить её на время, и решить схожее испытание из этого же курса.
  6. Не забывайте об отладочной печати!
  7. После успешного прохождения всех тестов, сравнить свой вариант с вариантом учителя и посмотреть другие ревью. Попробовать реализовать это же испытание в другой парадигме. Чем больше вариантов, тем выше понимание данной темы.

Заключение

Не бойтесь решать сложные задачи, это единственный путь к росту как специалиста. Для меня самыми сложными были испытания "без двух нулей" и "обратная польская запись". Помимо программирования для их решения, нужно еще подтянуть знание комбинаторики и систем счисления. Испытание с римскими цифрами я решил через switch-case, рассматривая каждый случай в отдельности. Сравнив с решением учителя, я понял всю красоту использования объектов.

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
30 июня 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
30 июня 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
30 июня 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
30 июня 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
30 июня 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
30 июня 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
30 июня 5 месяцев