Введение

Как человек, погрузившийся в мир проблем программирования и кодирования, я имел возможность изучить несколько платформ, каждая из которых имеет свой набор преимуществ и недостатков. Среди используемых мной платформ LeetCode, CodeWars, CodeSignal и HackerRank. Позвольте мне поделиться своим опытом и знаниями об этих платформах, выделив их плюсы и минусы.

Литкод

LeetCode был моей любимой платформой, прежде всего потому, что я успешно решил здесь наибольшее количество проблем. Одним из значительных преимуществ LeetCode является обширный набор задач по кодированию. Этот обширный репертуар гарантирует, что всегда найдется проблема, соответствующая вашему уровню навыков или области интересов. Кроме того, LeetCode предоставляет более полные и лучшие тестовые примеры по сравнению с другими платформами. Яркое и большое сообщество, связанное с LeetCode, является еще одним положительным аспектом, поскольку оно позволяет взаимодействовать, обсуждать и делиться решениями с другими программистами. Кроме того, LeetCode предлагает решение, работающее в фоновом режиме, которое дает правильный ответ для любого случайно сгенерированного тестового примера. Эта функция очень помогает в выявлении недостатков в вашем решении. Однако стоит отметить, что некоторые проблемы в LeetCode иногда плохо объясняются. Еще один недостаток заключается в том, что функция генерации выходных данных недоступна для интервью, проводимых через LeetCode, что может быть неудобно.

Кодовые войны

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

КодСигнал

Хотя я не решил много проблем на CodeSignal, я участвовал в тестах случайного кодирования. Что мне показалось очень выгодным в CodeSignal, так это его способность генерировать правильный вывод для любого случайного тестового примера, даже во время тестов кодирования. Эта функция оказалась чрезвычайно полезной, так как позволила мне быстро проверить мой код. К сожалению, из-за ограниченного использования я не могу предоставить подробный анализ его недостатков и должен дать ему презумпцию невиновности.

Хаккерранг

HackerRank — еще одна платформа, на которой я решил несколько проблем. Он выделяется своей богатой коллекцией задач, удобных для начинающих, что делает его отличным выбором для людей, которые плохо знакомы с программированием и хотят развить свои навыки. Однако, в отличие от вышеупомянутых платформ кодирования, HackerRank требует, чтобы вы написали весь код самостоятельно. Лично я нахожу это несколько трудоемким и трудоемким. Я столкнулся со случаем, когда я боролся с определенной проблемой на HackerRank, пытаясь решить ее с помощью Python. Однако вывод должен был быть отформатирован как строка с пробелами между числами, что оказалось непростой задачей в Python. Хотя HackerRank обрабатывал решения C/C++ для этой проблемы, ему не хватало механизма для обработки решений Python. Это был раздражающий опыт, который заставил меня чувствовать себя разочарованным.

Может ли существовать идеальный или почти идеальный сайт для кодинга?

На мой взгляд, оптимальное решение заключается в объединении LeetCode и CodeSignal. LeetCode с его обширной коллекцией и надежными тестовыми примерами служит отличной платформой. Тем не менее, было бы очень полезно добавить механизм генерации выходных данных для функции интервьюирования. Это усовершенствование устранило бы необходимость писать отдельное решение для перебора для стресс-тестирования во время интервью. Стресс-тестирование не всегда осуществимо, особенно для проблем, для которых гораздо труднее придумать решения грубой силы, чем тривиальные подходы. Кроме того, временные ограничения интервью могут сделать нецелесообразным проведение стресс-тестирования. Если LeetCode включит эту функцию, он станет почти идеальным онлайн-судьей для программистов.

Заключение

Сомневаетесь, какой из них выбрать?

Что ж, я призываю людей, заинтересованных в проблемах кодирования и улучшающих свои навыки программирования, изучить такие платформы, как LeetCode, CodeWars, CodeSignal и HackerRank. Каждая платформа обладает уникальными достоинствами, такими как обширные наборы задач, комплексные тестовые примеры, удобные интерфейсы или удобный для начинающих контент. Работая с этими платформами, программисты могут столкнуться с разнообразными проблемами, расширить возможности решения проблем и извлечь выгоду из поддерживающих сообществ программистов, предоставляемых каждой платформой.

Не стесняйтесь взглянуть на мои профили на этих сайтах кодирования:

Leetcode: https://leetcode.com/sadman022/

Хакерранк: https://www.hackerrank.com/sadman022

Codewars: https://www.codewars.com/users/Abedin022

CodeSignal: https://app.codesignal.com/profile/sadman022