До 30 ноября

Скидки до 81 000 руб и вторая профессия в подарок!

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

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

Время чтения статьи ~1 минута
Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Мой подход к решению испытаний на Хекслет главное изображение

Введение

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

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

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

Заключение

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

Аватар пользователя Владислав Беспалов
7
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 28 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 28 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 28 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 28 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 28 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 28 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 28 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 28 ноября