Проверка ошибок кода онлайн

Проверка технических навыков кандидатов — неотъемлемая часть IT-найма. Нужно хорошо отделить зерна от плевел. Можно сделать это заранее, посмотрев, пишет ли человек достойный код. Это умеют специальные инструменты, зачастую частично бесплатные. В этой статье мы собрали десять лучших из них.

Такие сервисы позволят вам сэкономить много времени и денег. Ведь довольно неприятно, когда вместо того, чтобы заниматься делом, разработчики вынуждены проверять кандидата, у которого откровенно нет шансов. Кстати, это ещё и отличный способ попрактиковаться в выполнении различных заданий.

Использование таких инструментов тестирования особенно полезно, когда проверка кандидата ведётся онлайн. У нас в Rubrain больше десяти тысяч разработчиков в базе, все уровня Middle и Senior. Это политика компании: не брать тех, кто ещё не научился писать хорошо. И автоматические сервисы экономят нам тысячи часов на веттинг кандидатов. Мы за несколько минут узнаем, если человек, который стучится к нам в двери, нам не подходит. Причем провести проверку может рекрутер или эйчар. На таком этапе ещё ни к чему подключать технических специалистов.

Онлайн-инструменты для проверки разработчиков

Платформы для тестирования качества кода генерируют тесты в соответствии с необходимыми вам техническими знаниями и опытом кандидата. Результаты этих тестов помогут вам решить, подходит ли такой кандидат команде вашего IT-проекта.

1. HackerRank

Платформа для технических собеседований, которая помогает своим клиентам находить и нанимать разработчиков с нужными им навыками. Среди её клиентов — PayPal, Atlassian, LinkedIn и многие другие.

HackerRank предлагает следующие продукты:

CodeScreen: позволяет работодателям оценивать навыки разработчиков, приглашая кандидатов участвовать в онлайн-тестах программирования.

CodePair: позволяет оценить способность кандидата решать проблемы и проверить его коммуникативные навыки с помощью парного онлайн-программирования в реальном времени.

Projects: кандидат выполняет реальную задачу, необходимую компании. Работодатель может оценить, способен ли он выполнять роль разработчика на проекте, и насколько комфортно ему в этой роли.

Insights: решение на основе искусственного интеллекта, которое помогает отслеживать прогресс ваших кандидатов во время тестов, и предлагает, как можно улучшить вашу воронку найма.

Вы можете выбрать задачу, которую создали в HackerRank, или написать свою собственную. Затем, когда кандидаты придут и решат задачи, вы сможете просмотреть их результаты, посмотреть на оценку и детальный отчет, сравнить друг с другом.

HackerRank создан как платформа для поддержки всей вашей воронки IT-рекрутинга. Они подбирают кандидатов, проверяют их квалификацию (резюме, рекомендации). И даже позволяют кандидатам улучшиться, натренироваться, решить некоторые проблемы с кодированием.

Поддерживает больше 40 языков программирования.

2. Codility

Codility — вторая по популярности онлайн-платформа для оценки технических навыков. Она состоит из двух компонентов:

CodeCheck — инструмент для проверки фундаментальных навыков программирования и технических знаний.

CodeLive — онлайн-комната для сотрудничества и написания кода с кандидатами на технических собеседованиях в режиме реального времени.

И Codility, и HackerRank не показывают кандидатам их результат. Они не знают, выполнили ли они задачи в целом лучше или хуже, чем другие претенденты. Правда, в HackerRank они видят, какие вопросы они провалили, и почему (неверный результат, слишком неэффективный код и т. д). У них появляется возможность улучшить код — исправить баги, поменять алгоритм. Поэтому HackerRank может также использоваться для тренировки кандидатов.

У Codility таких возможностей нет. Кандидату специально не показывают, что он выполнил неверно. Обычно там демонстрируют один тестовый пример, и дальше кандидат может проверять свой код только самостоятельно, не зная, всё ли верно, или нет. Как в реальной жизни.

Подробнее о других особенностях каждой платформы на английском можно почитать тут: разница между Codility и HackerRank.

3. Coderbyte

Coderbyte тоже позволяет тестировать знания разработчиков и качество их кода. Можно как выбрать готовые тесты из библиотеки Coderbyte, так и загрузить на платформу свои внутренние тесты. После каждого теста вы получаете подробные отчеты с решениями и даже видеозаписи кандидатов, проходящих тест.

Coderbyte доверяют более 600 организаций, включая Shopify, AngelList, Zoom, HBO и Microsoft. Большинство переходят сюда с HackerRank, Codility или Coderpad. Чаще всего здесь проверяют на DevOps, бэкенд, фронтенд, Data Sicence. Здесь также нередко подбирают команду для разработки мобильных приложений.

4. CodeSignal

Платформа основана в 2014-м в Сан-Франциско. Раньше, до 2018-го, называлась CodeFights и была заточена на соревнованиях 1х1 между разработчиками. Сейчас позволяет проводить рекрутинг кандидатов и оценивать уровень их технических навыков. Свои силы здесь пробуют больше 1 млн разработчиков.

У CodeSignal есть три основных продукта:

Test — проверка знаний кандидата. Можно делать тесты самому или использовать стандартные наборы, предложенные системой. Они быстро проверяют наличие у кандидата навыков, необходимых для конкретной должности. Можно сразу узнать, нужны ли вам услуги такого программиста.

Interview — видеоинтервью в прямом эфире в расширенной среде совместного кодирования. Тоже используются созданные пользователем или заранее определенные тесты. Удобно, чтобы проверить, как человек вольется в состав команды разработчиков. Как он общается и реагирует на ситуации.

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

Здесь есть такие функции как архив заданий (+ можно видеть программистов, которые их выполняли), портал для кандидатов, рассылка приглашений, групповые интервью, база данных с вопросами, запись собеседований, выставление оценок. Поддерживается 38 языков программирования.

CodeSignal предлагает предварительно записанные собеседования, где вопросы и задания постепенно выдаются кандидатам в режиме реального времени. Испытуемые могут даже не знать, что с другой стороны нет человека. Всё это активно используют большие компании, вроде Uber, Evernote, Dropbox, Asana, Quora, чтобы набирать программистов на позиции Middle и ниже.

5. СoderPad

Простая, минималистичная платформа, которая в первую очередь выступает как среда программирования. В одном окне можно писать и компилировать любой код (поддерживается более 30 языков и технологий). То, что делается, и какой результат выдается, видит как испытуемый программист, так и его рекрутер. Просматривать код и результаты можно как в режиме реального времени, так и потом, по записи (среда детально записывает каждое собеседование). Начать видеозвонок с кандидатом тоже можно прямо из вкладки браузера CoderPad, можно не заморачиваться с Zoom/Skype.

Тесты и вопросы придется придумывать самому (или подгружать с другой платформы). Но у CoderPad достаточно функций, которые выделяют среду среди конкурентов. В том числе:

возможность привлечь любое количество соавторов к документу;

режим рисования, позволяющий прямо в том же окне более наглядно показывать, что вы хотите/что кандидат имеет в виду;

функция записи и воспроизведения процесса написания кода — чтобы видеть не только конечный результат, но и то, как разработчик до него дошел;

приятная для работы онлайн-среда: подсветка синтаксиса, номера строк, отступы и так далее.

Бесплатный триал короткий, всего 7 дней.

На Indie Hackers можно почитать интервью с основателем CoderPad — как он к этому пришел, в чём особенность технологии, какие планы на будущее, сколько выходит зарабатывать. Как обычно, начиналось всё с простого парня-программиста из Калифорнии и его пет-проекта. А выросло в миллионные доходы и международный успех.

6. ChallengeRocket

Здесь, наоборот, нет почти ничего, кроме проверки кода. Компания набирает кандидатов, и тестирует их, чтобы понять, подходят ли они компаниям. Разработчиков оценивает искусственный интеллект, вмешательство человека не требуется (разве что нужно выбрать или создать задания). Есть и просто случайные тесты, развивающие сообщество и позволяющие программистам немного размяться. Например, можно порешать задачи, дававшиеся на собеседовании 1960 года в IBM. Или решить один из старых вопросов от Google.

У ChallengeRocket есть следующие продукты:

Skill challenge: автоматически генерирует тест для кандидатов и потом оценивает их результаты (скорость и точность решения).

Creative challenge: расширенная версия, которая помогает работодателям находить скрытые таланты и продвигать инновационные идеи.

Hackathon: онлайн-конструктор хакатонов, которые также можно использовать в виде инструментов для отбора персонала.

В целом база крутых девелоперов у ChallengeRocket не такая большая, как у Kaggle, TopCoder или русского CodeForces. Но если вы ищете, где найти программистов для стартапа, или вам нужен персональный подход к задаче, ChallengeRocket будет неплохим и недорогим вариантом.

В числе клиентов сервиса — IBM, Nvidia и ING.

Бесплатный триал — 30 дней.

7. CodinGame

Тестирование разработчиков в более веселой среде — с помощью видеоигр! Здесь кандидаты отбиваются от врагов, бегают от монстров, собирают ресурсы по карте или избегают препятствий на гоночном треке. И всё это — за счет своих знаний любого из языков программирования.

Проходить такие челленджи — намного веселее, особенно группой или командой. Более крутой программист реально показывает, что он босс: только его персонаж выживает в игре, он буквально физически побеждает всех своих конкурентов. Результатами можно делиться в соцсетях, скриншоты получаются довольно эпические и эстетически приятные. Некоторые компании проводят такие конкурсы даже для существующих разработчиков — чтобы их развеселить, сделать совместный ивент, а заодно (незаметно) найти у себя слабые звенья.

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

Среди клиентов CodinGame — Facebook, Nintendo, Adobe, Bank of America, EA, Deloitte, Warner Bros.

Аккаунт для бизнеса стоит от €249 в месяц. Бесплатный триал — 14 дней.

8. Qualified

Сервис от CodeWars, сообщества инженеров-программистов, старающихся повысить свои навыки за счет соревнований друг с другом. Qualified позволяет оценить технические навыки кандидата, заставляя их решать проблемы, основанные на реальных проектах. Одна стандартная проверка разработчика занимает от 50 минут до 5 часов (в зависимости от языка), и включает в себя от двух до четырех задач.

Платформа поддерживает широкий спектр языков программирования и технологий, а также позволяет вам детально, по строкам проверять выполненные задания. Тесту квалификации Qualified доверяют такие компании, как Apple, Accenture, Domino’s и другие.

9. Quizful

Единственный русский сервис более-менее достойного уровня (есть ещё InTester, но там полно багов, а интерфейс внутри при прохождении тестов всё равно будет английский). Quizful подойдет, если у кандидатов (или рекрутера) с английским всё очень грустно, пользоваться гугл-транслейтом желания нет, а денег на детальную проверку кандидатов тоже жалко. При этом тесты здесь встречаются довольно сложные. Даже самые опытные специалисты в вашей команде разработки проекта правильно ответят далеко не на все вопросы по своей дисциплине.

В целом это сервис больше для программистов: здесь есть своё небольшое сообщество, проверяющее или улучшающее свои навыки. Вопросы создаются самими пользователями, и супер-продвинутым сайт не назвать. Работодатель со своей стороны прохождение тестов не видит, программисту нужно либо шарить экран, либо по окончании отсылать скриншоты. Но для подбора кого-то с фриланса на временный проект — сойдет. К тому же, здесь можно проверить уровень знания администрирования, дизайна, компьютерных сетей, английского и других смежных с IT дисциплин.

10. Codeassess

Codeassess существует уже двадцать лет. Это проект, созданный ExpertRating, компанией, проводящей онлайн-сертификацию сотрудников для таких гигантов как Walmart, Gap, UPS, IKEA, Citrix и тысяч других. Codeassess специализируется конкретно на разработчиках. Это первый в мире (в плане длительности существования) сервис, который занялся их онлайн-тестированием. Им предлагаются задачки-проблемы, и программистам, желающие получить статус эксперта, предлагается их решать. Помимо проверки навыков, можно также настроить виртуальное онлайн-собеседование с кандидатами.

Система опробованная, рекомендации рекрутеру выдает грамотные, и в целом западные стартапы, с которыми мы сотрудничаем, ей вполне доверяют. Нас нередко просят проверить наших специалистов на Codeassess, когда они нанимают человека с языком, который не понимают. Если проходит тест самого высокого уровня — значит, он и станет тем, кто потом будет проверять других.

К сожалению, общий минус онлайн-сервисов проверки программистов — большинство из них (особенно самые популярные) заботятся только о скорости и точности программирования. Они не ставят высокие оценки за написание понятного кода, который приятно потом читать человеку. Их не волнуют имена переменных, им не интересно, есть ли описания того, что делают те или иные фрагменты.

А на реальном проекте это зачастую важнее, чем то, с какой скоростью написан отдельный участок программы. Мы при наборе на показатели скорости при принятии решения вообще не смотрим. Если человек справился со своим заданием в установленные тестом несколько часов — этого вполне достаточно. На наш взгляд, скорость программирования важна только для грустных джунов или для каких-то фабрик разработчиков

К счастью, вы тоже можете не обращать внимания на те параметры, которые вас не интересуют. А оценить читабельность кода быстро может и человек. Огромных знаний и детального погружения это не требует.

Онлайн-компиляторы для разных языков: выполняем код прямо в браузере

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

Мультиязычные онлайн-компиляторы

Repl. it — среда для совместной работы с кодом в браузере. Поддерживает более 50 языков, среди которых C, C++, C#, Java, Python, R, JavaScript.

В бесплатной версии доступно многопользовательское сотрудничество, 500 МБ хранилища и 500 МБ памяти, 0.2 — 0.5 vCPUs. Есть также платная версия с приватными проектами, хостингом до 5 реплов, 5 ГБ хранилища, 2 ГБ памяти и 2 vCPUs.

7–9 сентября, Онлайн, От 12 000 до 30 000 ₽

Если нужны не только языки программирования, но и интерактивные терминалы для работы с MySQL и MongoDB, попробуйте сервис JDoodle. Это инструмент для онлайн-обучения, у которого есть режим совместного использования. Вы можете компилировать код на разных языках и разбираться с базами данных прямо в браузере.

онлайн-компилятор

Пример кода на Pascal

Если нужен не только компилятор, но и другие технологии, попробуйте сервис Coding Ground. Эта платформа предоставляет доступ к 75+ языкам программирования и технологиям. Вы можете использовать встроенный редактор Markdown и запускать Bash Shell в браузере. Кроме того, на сайте есть учебные материалы, в том числе бесплатные справочники и платные видеокурсы.

Ещё один мощный сервис — Ideone. Это онлайн-компилятор и инструмент отладки, который позволяет прямо в браузере выполнять код на более чем 60 языках программирования и их версиях.

В Ideone есть ряд ограничений для пользователей. Например, время компиляции/интерпретации не должно превышать 10 секунд. Максимальное время исполнения для гостей — 5 секунд, для зарегистрированных пользователей — 15 секунд. Размер выделенной оперативной памяти не превышает 256 МБ.

Python онлайн-компиляторы

Для проверки кода на Python подходит сервис Online Python. Здесь представлена простая IDE, которая поддерживает загрузку с компьютера и скачивание кода в виде файла с расширением *.py. Вы можете работать над проектом совместно с коллегами, поделившись ссылкой. В редакторе поддерживается тёмная тема.

В многоязычных компиляторах тоже очень хорошая поддержка Python. Например, на Repl. it есть вторая и третья версии языка, Python with Turtle для обучения, фреймворк PyGame и движок Pyxel для создания игр, библиотека Tkinter для разработки графического интерфейса, а также шаблоны для Django, Multi-Page Flask и даже ботов для Discord.

JavaScript онлайн-компиляторы

Если вам нужен JavaScript онлайн-компилятор, то JSFiddle — один из лучших вариантов. Он позволяет проверить любое сочетание JavaScript, HTML и CSS.

JavaScript, как и Python, есть во всех многоязычных онлайн-компиляторах. Так что если вам не требуется поддержка препроцессоров и постпроцессоров, библиотек и фреймворков, то можно выбрать любой сервис.

PHP онлайн-компиляторы

Лучший выбор для проверки кода на PHP — Sandbox на сайте Online PHP Functions. Здесь можно выбрать версию языка, начиная с 4.4.9 и до последней. На сайте также есть подсказки по функциям PHP. Они выполнены в виде шпаргалок, разбитых на темы: Arrays, Date and Time, Math и так далее. Есть и пошаговые туториалы.

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

Java онлайн-компиляторы

Если требуется Java онлайн-компилятор, попробуйте Codiva. io. В нём нет такого разнообразия языков, как на других сервисах. Кроме Java поддерживаются только C и C++.

Можно также использовать компилятор Java на сайте OnlineDGB. Здесь есть встроенный отладчик и автоматическое форматирование. Вы можете поделиться примерами кода с другими пользователями, сохранить их или скачать в виде файла с расширением *.java.

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

Источники:

https://habr. com/ru/post/539332/

https://tproger. ru/digest/compile-code-online/

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: