Проверка кода программы на ошибки
Отобрали лучшие онлайн-компиляторы. Некоторые из них умеют работать с десятками языков программирования, другие заточены под конкретные технологии.
Мультиязычные онлайн-компиляторы
- Есть шаблоны — например, для Django, React.js, Vue, Rails.
- Интеграция с GitHub — можно открывать свои репозитории сразу на Repl.it.
- Возможность поделиться проектом с другими пользователями, есть режим совместной работы.
В бесплатной версии доступно многопользовательское сотрудничество, 500 МБ хранилища и 500 МБ памяти, 0.2 — 0.5 vCPUs. Есть также платная версия с приватными проектами, хостингом до 5 реплов, 5 ГБ хранилища, 2 ГБ памяти и 2 vCPUs.
Если нужны не только языки программирования, но и интерактивные терминалы для работы с MySQL и MongoDB, попробуйте сервис JDoodle. Это инструмент для онлайн-обучения, у которого есть режим совместного использования. Вы можете компилировать код на разных языках и разбираться с базами данных прямо в браузере.
Пример кода на Pascal
Если нужен не только компилятор, но и другие технологии, попробуйте сервис Coding Ground. Эта платформа предоставляет доступ к 75+ языкам программирования и технологиям. Вы можете использовать встроенный редактор Markdown и запускать Bash Shell в браузере. Кроме того, на сайте есть учебные материалы, в том числе бесплатные справочники и платные видеокурсы.
Ещё один мощный сервис — Ideone. Это онлайн-компилятор и инструмент отладки, который позволяет прямо в браузере выполнять код на более чем 60 языках программирования и их версиях.
- Поддерживаются не только популярные языки, но и Ассемблер, Ada95, COBOL, Fortran и т.д.
- Есть шаблоны и примеры кода.
- Можно выбрать режим доступности кода: общедоступный, частный, секретный (только по ссылке).
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.
- Поддержка библиотек и фреймворков: Angular, React, Vue, Lodash, jQuery.
- Поддержка CSS, SCSS, SASS, PostCSS, Normalized 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.
- Есть консоль для интерактивного ввода данных пользователем.
Можно также использовать компилятор Java на сайте OnlineDGB. Здесь есть встроенный отладчик и автоматическое форматирование. Вы можете поделиться примерами кода с другими пользователями, сохранить их или скачать в виде файла с расширением *.java.
Чтобы сделать процесс разработки более эффективным, используйте также полезные сервисы для программистов. Как и онлайн-компиляторы, они помогают сэкономить время на решении разных задач.
Чистота и качество кода - важные критерии оценки работы программиста. Если код работает — это уже хорошо, но нельзя забывать о том, что он должен быть очищен от «мусора», быть логичным и понятным для других разработчиков. Ведь нередко работа одного программиста — это лишь часть кода крупной программной платформы, которую придется обслуживать в будущем. Скорее всего, другим людям.
В компаниях ревью кода обычно проводят сеньоры. Но их время — дорогое. Если хотя бы частично избавить сеньора от этой нагрузки, он может стать гораздо эффективней для компании. Чтобы при этом сохранять качество кода на высоком уровне, стоит использовать онлайн-сервисы оценки готового кода. Эта статья поможет вам выбрать один или несколько таких инструментов.
Reshift
- Интеграция с Github и Bitbucket.
- Пул-реквесты без переключения на другие дашборды во избежание путаницы.
- Умная маркировка проблемных мест.
- Отслеживание уязвимостей в каждой ветке.
- Показ критических уязвимостей перед мерджем с главной веткой.
Collaborator
Один из наиболее продвинутых инструментов ревью кода. Подойдёт как для работы команд, так и для отдельных разработчиков.
- Контроль за изменениями кода, определение проблем, создание комментариев.
- Создание правил и уведомлений на их основе.
- Кастомные поля, чеклисты, группы участников.
- Интеграция с 11 разными SCM и IDE, в том числе Eclipse и Visual Studio.
- Персонализированные ревью-отчеты.
Gerrit
Бесплатный онлайн-сервис проверки качества кода, который позволяет работать прямо в браузере, отклоняя или одобряя изменения. Сочетает в одной платформе багтрекер и инструмент ревью кода.
- Интеграция с Git — возможность управления репозиториями Git через Gerrit.
- Настраиваемая иерархия кода.
- Добавление комментариев при внесении изменений.
- Система голосований по вносимым изменениям
Codestriker
Ещё один неплохой open-source инструмент для ревью кода. Онлайн-сервис Codestriker позволяет быстро найти проблемы в коде и улучшить общее его качество.
- Фиксирование всех проблем, решений и комментариев в базе данных. Впоследствии к ней можно вернуться и посмотреть, что было сделано, какие изменения внесены.
- Интеграция с ClearCase, Bugzilla, CVS и не только
Crucible
Онлайн-приложение для ревью кода, поиска проблем, обсуждения изменений в отдельных ветках, шеринга данных и т.п. Crucible не бесплатный сервис. Есть две версии — для небольших команд и для корпораций. В первом случае нужно один раз заплатить $10, после чего становятся доступными безлимитные репозитории для 5 пользователей. Корпоративная версия стоит $1100, покупатель получает возможность открыть безлимитный репозиторий для 10 пользователей. Есть демо-доступ на 30 дней.
- Совместная работа как 2-3 программистов, так и больших групп разработчиков.
- Возможность ревью кода как до, так и после внесения изменений.
- Совместимость с SVN, Perforce и CVS.
Review Board
Ещё один бесплатный open-source инструмент, который применяется для ревью кода и отдельных документов. Можно попробовать демо-версию на сайте разработчика или же установить инструмент его на своём сервере. Хорош он тем, что даёт возможность лоб в лоб сравнить две версии кода — с изменениями и без — через простой интерфейс.
Существует сервис уже около десяти лет, и всё это время его создатели продолжают совершенствовать Review Board, добавляя новые функции и улучшая существующие.
- Простая интеграция в ClearCase, CVS, Perforce, Plastic.
- Выделение участков кода с проблемами или заданными параметрами.
- Возможность использовать инструмент для ревью кода как до, так и после внесения изменений.
GitHub
Наверное, нет разработчика, который бы не слышал о GitHub, но как автоматический ревьюер кода он известен гораздо меньше. Здесь у него есть две версии — бесплатная, с ограничением по количеству пользователей, и платная, от $7 в месяц.
В дополнение к обычным инструментам запроса на изменения, есть возможность проверят историю изменений, комментировать участки кода, разрешать простые конфликты при помощи веб-интерфейса. Кроме того, GitHub даёт возможность использовать и сторонние инструменты ревью кода.
- Сравнение фрагментов кода лоб в лоб.
- Просмотр истории отдельных фрагментов кода без просмотра всего документа — так называемый blame view.
- Создание white-листов по отдельным веткам.
Phabricator
Это целый набор open-source инструментов от Phacility, облегчающих работу по оценке кода. Можно использовать облачную версию, а можно загрузить всё на свой сервер. Если использовать второй вариант — ограничений нет. В случае же облачной версии нужно будет платить от $20 за пользователя в месяц. Верхняя планка - $1000 в месяц. Все платные предложения включают техническую поддержку, плюс 30-дневный пробный режим.
Rhodecode
Онлайн-инструмент, который поддерживает три версии систем контроля: Mercurial, Git и Subversion. Сервис не бесплатен. Цены начинаются с $8 в месяц за пользователя. Есть возможность заплатить сразу $75 за пользователя в год, что позволяет сэкономить пару десятков долларов. Если не хочется платить, можно загрузить community-edition, установив на своём сервере.
- Визуальный лог изменений.
- Онлайн-редактор кода.
- Интеграция с существующими проектами.
- Возможность совместной работы как нескольких разработчиков, так и больших команд.
Завершая подборку, повторим: описанные инструменты для ревью кода не призваны полностью заменить человека. Но они позволяют ускорить проверку во много раз, что даёт возможность значительно экономить время и ресурсы.
А какими инструментами пользуетесь вы? Ждём комментариев, поделитесь с коллегами :)
Каждый программист, который только делает первые шаги в профессии, неизбежно сталкивается с понятием «тестирование кода». Интуитивно понятно, что это процедура, направленная на поиск ошибок, несоответствия заявленных данных и исполняемых, оценку функциональности программы. Однако, что конкретно подразумевается под тестированием, какие существуют виды и надо ли вам постигать эту непростую науку? Попробуем разобраться вместе.
Вот 5 основных видов тестирования и их краткие описания:
Юнит-тесты – проверка работоспособности каждого отдельного блока вашего кода. Это самый понятный вид тестирования даже для начинающего пользователя, ведь здесь идёт учёт лишь тех процессов, которые исполняются исключительно внутри отдельно взятого участка кода. Например, создавая блок для ввода имени в форме регистрации, вас интересует лишь соответствие языка, отсутствие цифр и спецсимволов. Юнит-тесты часто используют TDD (Test-driven development) методологию для написания кода, где вы сначала создаёте методику проверки (собственно сам тестовый модуль) и только потом пишите исполняемый код.
Интеграционное тестирование – проверка взаимодействия нескольких отдельных модулей. Это, пожалуй, наиболее тяжёлая часть тестирования просто потому, что необходимо чётко и максимально полно определить все векторы и сочетания классов в вашем коде. В частности, в той же самой форме регистрации, взаимодействие отдельных блоков минимально, поэтому создать интеграционное тестирование не так уж и сложно. Однако если рассматривать саму форму регистрации, как часть сервиса по авторизации, допустим, в игре, то интеграционное тестирование приобретает совсем иные масштабы.
Приемочное тестирование – исполняемые процедуры для установления факта соответствия требованиям заказчика. Актуально в тех случаях, когда требования к коду и работающему приложению описаны заказчиком в ТЗ или в любой другой письменной форме. На основании этого создаётся либо сценарий, либо простой перебор отдельных значений, чтобы наглядно показать возможность выполнения поставленной задачи. В частном случае, это привычный нам demo-mode, демонстрирующий возможности ПО.
Регрессионное тестирование – оценка работоспособности уже проверенного кода после внесения в него изменений. Актуально для динамических систем, где появление новых данных может реально повлиять на работоспособность всего кода. Логично, что для элементарного заполнения БД создавать регрессионное тестирование не имеет смысла, но для полноценного ПО в состоянии вечной доработки – вполне.
Системное тестирование – это собственно конечная обкатка вашего приложения. Как правило выполняется в ручном режиме «научного тыка». Но есть и автоматизированные методы, как с простым перебором, так и алгоритмическим подходом.
Данное деление на виды условно и в разных источниках принимает разные формы. Так, часто под системным тестированием понимают также приемочное тестирование, а регрессионное относят к интеграционному.
Необходимость
Безусловно, далеко не каждый код необходимо подвергать тестированию, тем более полному циклу. Например, для простого статического сайта создавать целый модуль тестирования нет никакого смысла, достаточно просто вручную пролистать и внимательно просмотреть все страницы. Также демонстрационное ПО, то есть то, где взаимодействие с пользователем сведено к нулю, не требует дополнительных проверок просто за ненадобностью. Таким образом, методы тестирования, как и сам код, всегда должны придерживаться принципов достаточности и необходимости. Избыточное же тестирование может не только затянуть сроки сдачи работы, но и поставить перед вами невыполнимые задачи.
Должен ли каждый программист владеть приёмами создания тестов? Безусловно, если он хочет достичь определённых высот, то уметь применять готовые модули (фреймворки и библиотеки) просто необходимо. Что касается создания тестов с нуля любой сложности, то это достаточно сложное и комплексное увлечение, которое вполне может стать вашей новой профессией.
Литература
Чтобы не изобретать велосипед заново, лучше всего обратиться к проверенным годами источникам тестовой мудрости:
Чистота и качество кода — важные критерии оценки работы программиста. Если код работает — это уже хорошо, но нельзя забывать о том, что он должен быть очищен от «мусора», быть логичным и понятным для других разработчиков.
Выполняет статический анализ кода C / C ++ с использованием инструментов с открытым исходным кодом, таких как cppcheck и clang-tidy, и автоматически создает документацию по коду для пользователей, использующих doxygen. Этот инструмент можно использовать бесплатно.
Полный рабочий процесс для написания, проверки и развертывания кода, бесплатная учетная запись для 1 пользователя и 1 репозитория со 100 МБ хранилища.
Кроссбраузерное онлайн-тестирование. Предоставляет в ваше распоряжение любой IE от 5.5 до 9, а также последние версии Explorer, Opera, Chrome, Safari и Firefox.
Автоматическая проверка кода для PHP, Python, Ruby, Java, JavaScript, Scala, CSS и CoffeeScript, бесплатно для неограниченного количества общедоступных и частных репозиториев.
Автоматизированная инфраструктура как инструмент проверки кода для DevOps, интегрируется с GitHub, Bitbucket и GitLab (даже самостоятельно). Помимо стандартных языков, он анализирует также Ansible, Terraform, CloudFormation, Kubernetes и другие. Бесплатно с открытым исходным кодом.
Автоматическая проверка кода, бесплатная для Open Source и неограниченное количество частных репозиториев, принадлежащих организации (до 4 соавторов). Также бесплатно для студентов и учреждений.
Инструмент покрытия кода (SaaS), бесплатно с открытым исходным кодом и 1 частного репозитория.
Автоматическая проверка кода для Git. Бесплатная версия включает неограниченное количество пользователей, неограниченное количество публичных репозиториев и 1 частный репозиторий.
Отдает приоритет техническому долгу в зависимости от того, как разработчики работают с кодом, и визуализирует такие организационные факторы, как объединение команд и системное мастерство. Бесплатно с открытым исходным кодом.
Показывает какие части вашего кода не охватываются вашим набором тестов. Бесплатно для репозиториев с открытым исходным кодом. Версия Pro для частных репозиториев.
5 бесплатных отчетов по анализу веб-производительности, доступности и безопасности каждый месяц.
Находит ошибки уязвимости, безопасности, проблемы с производительностью и API на основе ИИ. Скорость анализа DeepCode позволяет анализировать ваш код в режиме реального времени и предоставлять результаты, когда вы нажимаете кнопку сохранения в своей среде IDE. Поддерживаемые языки: Java, C / C ++, JavaScript, Python и TypeScript. Бесплатно для открытых исходных кодов и частных репозиториев, бесплатно до 30 разработчиков.
Расширенный статический анализ для автоматического поиска ошибок времени выполнения в коде JavaScript, бесплатно для Open Source.
Анализирует изменения исходного кода, находит и исправляет проблемы, классифицируемые по следующим категориям: безопасность, производительность, анти-шаблоны, риски ошибок, документация и стиль.
Платформа № 1 для оптимизации баз данных. Получайте критически важную информацию о своей базе данных и SQL-запросах с помощью автоматической магии.
Оценка покрытия кода тестами для всех пакетов Go.
Отчеты и подробные рекомендации по оптимизации веб-сайтов.
Статический анализатор кода для оптимизации PostgreSQL. Служба автоматического обнаружения проблем с производительностью, безопасностью и архитектурой базы данных.
Комментирует проблемы качества и стиля кода, что позволяет вам и вашей команде лучше проверять и поддерживать чистую кодовую базу.
Дружелюбный робот, который оптимизирует ваши изображения и экономит ваше время. Оптимизированные изображения означают меньшие размеры файлов без ущерба для качества.
Бесплатный API, обеспечивающий оптимизацию изображений.
Обзор кода для репозиториев GitHub, бесплатно для публичных или личных репозиториев.
Лучший набор инструментов: от непрерывной интеграции и непрерывного анализа до расширения возможностей анализа человеческого кода с помощью интеллектуального кода.
Помогает командам инженеров максимизировать продуктивность, автоматически анализируя каждый запрос в соответствии с индивидуальными наборами правил для каждого проекта, а также с общими передовыми практиками.
Предоставляет метрики и аналитические данные на основе данных, собранных с GitHub и GitLab. Обеспечивает видимость на каждом этапе конвейера доставки в решении для данных и аналитики для инженерных команд.
Анализирует изменения, внесенные в каждый запрос на вытягивание, и улучшает опыт разработчиков при проверке кода. Бесплатно для открытого исходного кода и бесплатно для личного использования.
Спасибо за прочтение. Надеемся будет полезно. Если мы забыли упомянуть что-то важное или новое — пишите в комментарии.
Подписывайтесь на наш канал в Telegram, там вы найдете более 800 полезных сервисов на все случаи жизни.
Проверка технических навыков кандидатов — неотъемлемая часть IT-найма. Нужно хорошо отделить зерна от плевел. Можно сделать это заранее, посмотрев, пишет ли человек достойный код. Это умеют специальные инструменты, зачастую частично бесплатные. В этой статье мы собрали десять лучших из них.
Такие сервисы позволят вам сэкономить много времени и денег. Ведь довольно неприятно, когда вместо того, чтобы заниматься делом, разработчики вынуждены проверять кандидата, у которого откровенно нет шансов.
Использование таких инструментов особенно полезно, когда проверка ведётся онлайн. У нас в Rubrain больше десяти тысяч разработчиков в базе, все уровня Senior или Middle. Это политика компании: не брать тех, кто ещё не научился писать хорошо. И автоматические сервисы экономят нам тысячи часов на веттинг кандидатов. Мы за несколько минут узнаем, если человек, который стучится к нам в двери, нам не подходит. Причем провести проверку может рекрутер или эйчар. На таком этапе ещё ни к чему подключать технических специалистов.
Платформы для тестирования качества кода генерируют тесты в соответствии с необходимыми вам техническими знаниями и опытом кандидата. Результаты этих тестов помогут вам решить, подходит ли такой кандидат команде вашего IT-проекта.
Платформа для технических собеседований, которая помогает своим клиентам находить и нанимать разработчиков с нужными им навыками. Среди её клиентов — PayPal, Atlassian, LinkedIn и многие другие.
HackerRank предлагает следующие продукты:
- CodeScreen: позволяет работодателям оценивать навыки разработчиков, приглашая кандидатов участвовать в онлайн-тестах программирования.
- CodePair: позволяет оценить способность кандидата решать проблемы и проверить его коммуникативные навыки с помощью парного онлайн-программирования в реальном времени.
- Projects: кандидат выполняет реальную задачу, необходимую компании. Работодатель может оценить, способен ли он выполнять роль разработчика на проекте, и насколько комфортно ему в этой роли.
- Insights: решение на основе искусственного интеллекта, которое помогает отслеживать прогресс ваших кандидатов во время тестов, и предлагает, как можно улучшить вашу воронку найма.
На HackerRank немало разработчиков, которые подают заявки на вакансии компаний. А они сразу же используют этот же сервис для проверки этих кандидатов. Но можно и приводить сюда своих программистов для теста. На 14 дней есть бесплатный триал, не нужно даже вводить информацию своей карточки. Дальше, в зависимости от того, сколько кандидатов вы планируете нанимать, можно платить от $250 до $600 за месяц. Есть также вариант $25 за месяц, но это только найм, без возможности устраивать автоматическую проверку кандидатов.
Вы можете выбрать задачу, которую создали в HackerRank, или написать свою собственную. Затем, когда кандидаты придут и решат задачи, вы сможете просмотреть их результаты, посмотреть на оценку и детальный отчет, сравнить друг с другом.
HackerRank создан как платформа для поддержки всей вашей воронки IT-рекрутинга. Они подбирают кандидатов, проверяют их квалификацию (резюме, рекомендации). И даже позволяют кандидатам улучшиться, натренироваться, решить некоторые проблемы с кодированием.
Поддерживает больше 40 языков программирования.
Codility — вторая по популярности онлайн-платформа для оценки технических навыков. Она состоит из двух компонентов:
- CodeCheck — инструмент для проверки фундаментальных навыков программирования и технических знаний.
- CodeLive — онлайн-комната для сотрудничества и написания кода с кандидатами на технических собеседованиях в режиме реального времени.
Платформу используют такие технологические гиганты, как Amazon, Microsoft, Slack, PayPal и Intel. Отлично подходит для больших компаний. Демо-версия бесплатная, потом стандартный пакет начинается от $6000 в год.
У Codility таких возможностей нет. Кандидату специально не показывают, что он выполнил неверно. Обычно там демонстрируют один тестовый пример, и дальше кандидат может проверять свой код только самостоятельно, не зная, всё ли верно, или нет. Как в реальной жизни.
Подробнее о других особенностях каждой платформы на английском можно почитать тут: разница между Codility и HackerRank.
Coderbyte тоже позволяет тестировать знания разработчиков и качество их кода. Можно как выбрать готовые тесты из библиотеки Coderbyte, так и загрузить на платформу свои внутренние тесты. После каждого теста вы получаете подробные отчеты с решениями и даже видеозаписи кандидатов, проходящих тест.
Coderbyte доверяют более 600 организаций, включая Shopify, AngelList, Zoom, HBO и Microsoft. Большинство переходят сюда с HackerRank, Codility или Coderpad. Чаще всего здесь проверяют на DevOps, бэкенд, фронтенд, Data Sicence. Здесь также нередко подбирают команду для разработки мобильных приложений.
Цены начинаются от $35 в месяц и идут до $499 в месяц. Можно также платить по $10 за каждого кандидата. Бесплатный триал — 14 дней (данные карты придется ввести).
У CodeSignal есть три основных продукта:
Здесь есть такие функции как архив заданий (+ можно видеть программистов, которые их выполняли), портал для кандидатов, рассылка приглашений, групповые интервью, база данных с вопросами, запись собеседований, выставление оценок. Поддерживается 38 языков программирования.
CodeSignal предлагает предварительно записанные собеседования, где вопросы и задания постепенно выдаются кандидатам в режиме реального времени. Испытуемые могут даже не знать, что с другой стороны нет человека. Всё это активно используют большие компании, вроде Uber, Evernote, Dropbox, Asana, Quora, чтобы набирать программистов на позиции Middle и ниже.
В общем, у CodeSignal много плюсов, но есть и один большой минус: цена. За продукты нужно платить от $500 в месяц (или $5000 в год) с пользователя. Есть бесплатная версия и бесплатный триал. Их условия обсуждаются индивидуально, но обычно дают те же 14 дней.
Простая, минималистичная платформа, которая в первую очередь выступает как среда программирования. В одном окне можно писать и компилировать любой код (поддерживается более 30 языков и технологий). То, что делается, и какой результат выдается, видит как испытуемый программист, так и его рекрутер. Просматривать код и результаты можно как в режиме реального времени, так и потом, по записи (среда детально записывает каждое собеседование). Начать видеозвонок с кандидатом тоже можно прямо из вкладки браузера CoderPad, можно не заморачиваться с Zoom/Skype.
Тесты и вопросы придется придумывать самому (или подгружать с другой платформы). Но у CoderPad достаточно функций, которые выделяют среду среди конкурентов. В том числе:
- возможность привлечь любое количество соавторов к документу;
- режим рисования, позволяющий прямо в том же окне более наглядно показывать, что вы хотите/что кандидат имеет в виду;
- функция записи и воспроизведения процесса написания кода — чтобы видеть не только конечный результат, но и то, как разработчик до него дошел;
- приятная для работы онлайн-среда: подсветка синтаксиса, номера строк, отступы и так далее.
CoderPad активно используют Netflix, Slack, Shopify, Yelp, Twitch, AirBnB. Платить здесь нужно от 50 долларов в месяц (за 5 собеседований) до 750 долларов в месяц (100 собеседований, 50 аккаунтов для рекрутеров, масса других плюшек). Есть также вариант $1500 в месяц — для больших корпораций. В целом это пока один из самых бюджетных вариантов, хотя полностью автоматически качество кода он пока проверять не умеет.
Бесплатный триал короткий, всего 7 дней.
На Indie Hackers можно почитать интервью с основателем CoderPad — как он к этому пришел, в чём особенность технологии, какие планы на будущее, сколько выходит зарабатывать. Как обычно, начиналось всё с простого парня-программиста из Калифорнии и его пет-проекта. А выросло в миллионные доходы и международный успех.
Здесь, наоборот, нет почти ничего, кроме проверки кода. Компания набирает кандидатов, и тестирует их, чтобы понять, подходят ли они компаниям. Разработчиков оценивает искусственный интеллект, вмешательство человека не требуется (разве что нужно выбрать или создать задания). Есть и просто случайные тесты, развивающие сообщество и позволяющие программистам немного размяться. Например, можно порешать задачи, дававшиеся на собеседовании 1960 года в IBM. Или решить один из старых вопросов от Google.
У ChallengeRocket есть следующие продукты:
- Skill challenge: автоматически генерирует тест для кандидатов и потом оценивает их результаты (скорость и точность решения).
- Creative challenge: расширенная версия, которая помогает работодателям находить скрытые таланты и продвигать инновационные идеи.
- Hackathon: онлайн-конструктор хакатонов, которые также можно использовать в виде инструментов для отбора персонала.
Оплата берется в зависимости от числа нанятых специалистов (за одного платите максимум $79, минимум $12). За $350/месяц можно получить безлимитный вариант, плюс еще и любое количество разных испытаний для кандидатов.
В целом база крутых девелоперов у ChallengeRocket не такая большая, как у Kaggle, TopCoder или русского CodeForces. Но если вы ищете, где найти программистов для стартапа, или вам нужен персональный подход к задаче, ChallengeRocket будет неплохим и недорогим вариантом.
В числе клиентов сервиса — IBM, Nvidia и ING.
Бесплатный триал — 30 дней.
Тестирование разработчиков в более веселой среде — с помощью видеоигр! Здесь кандидаты отбиваются от врагов, бегают от монстров, собирают ресурсы по карте или избегают препятствий на гоночном треке. И всё это — за счет своих знаний любого из языков программирования.
Проходить такие челленджи — намного веселее, особенно группой или командой. Более крутой программист реально показывает, что он босс: только его персонаж выживает в игре, он буквально физически побеждает всех своих конкурентов. Результатами можно делиться в соцсетях, скриншоты получаются довольно эпические и эстетически приятные. Некоторые компании проводят такие конкурсы даже для существующих разработчиков — чтобы их развеселить, сделать совместный ивент, а заодно (незаметно) найти у себя слабые звенья.
На платформе есть около 1900 игр-задачек. Поддерживаются 42 языка/технологии. Один из больших плюсов — очень подробные и наглядные отчеты по результатам тестирования, показывающие слабые и сильные места кандидата.
Среди клиентов CodinGame — Facebook, Nintendo, Adobe, Bank of America, EA, Deloitte, Warner Bros.
Аккаунт для бизнеса стоит от €249 в месяц. Бесплатный триал — 14 дней.
Сервис от CodeWars, сообщества инженеров-программистов, старающихся повысить свои навыки за счет соревнований друг с другом. Qualified позволяет оценить технические навыки кандидата, заставляя их решать проблемы, основанные на реальных проектах. Одна стандартная проверка разработчика занимает от 50 минут до 5 часов (в зависимости от языка), и включает в себя от двух до четырех задач.
Платформа поддерживает широкий спектр языков программирования и технологий, а также позволяет вам детально, по строкам проверять выполненные задания. Тесту квалификации Qualified доверяют такие компании, как Apple, Accenture, Domino’s и другие.
Доступ к сервису проверки кандидатов стоит от $150 в месяц за бизнес-аккаунт, но условия с ними нужно обсуждать индивидуально (если вы крупная компания — попросят больше). Бесплатный триал длится 14 дней. С ним можно получить до 5 оценок уровня сотрудников.
Единственный русский сервис более-менее достойного уровня (есть ещё InTester, но там полно багов, а интерфейс внутри при прохождении тестов всё равно будет английский). Quizful подойдет, если у кандидатов (или рекрутера) с английским всё очень грустно, пользоваться гугл-транслейтом желания нет, а денег на детальную проверку кандидатов тоже жалко. При этом тесты здесь встречаются довольно сложные. Даже самые опытные специалисты в вашей команде разработки проекта правильно ответят далеко не на все вопросы по своей дисциплине.
В целом это сервис больше для программистов: здесь есть своё небольшое сообщество, проверяющее или улучшающее свои навыки. Вопросы создаются самими пользователями, и супер-продвинутым сайт не назвать. Работодатель со своей стороны прохождение тестов не видит, программисту нужно либо шарить экран, либо по окончании отсылать скриншоты. Но для подбора кого-то с фриланса на временный проект — сойдет. К тому же, здесь можно проверить уровень знания администрирования, дизайна, компьютерных сетей, английского и других смежных с IT дисциплин.
Codeassess существует уже двадцать лет. Это проект, созданный ExpertRating, компанией, проводящей онлайн-сертификацию сотрудников для таких гигантов как Walmart, Gap, UPS, IKEA, Citrix и тысяч других. Codeassess специализируется конкретно на разработчиках. Это первый в мире (в плане длительности существования) сервис, который занялся их онлайн-тестированием. Им предлагаются задачки-проблемы, и программистам, желающие получить статус эксперта, предлагается их решать. Помимо проверки навыков, можно также настроить виртуальное онлайн-собеседование с кандидатами.
Базовый план стоит всего $49 (он рассчитан на 15 тест-сессий, и включает только несложные проблемы, подходящие для джунов). Триала для бизнеса, к сожалению, нет. Ещё из минусов: поддерживает только 25 языков. Но все самые популярные есть, в том числе и Python (который почему-то не указан на главной странице).
Система опробованная, рекомендации рекрутеру выдает грамотные, и в целом западные стартапы, с которыми мы сотрудничаем, ей вполне доверяют. Нас нередко просят проверить наших специалистов на Codeassess, когда они нанимают человека с языком, который не понимают. Если проходит тест самого высокого уровня — значит, он и станет тем, кто потом будет проверять других.
К сожалению, общий минус онлайн-сервисов проверки программистов — все они (особенно самые популярные) заботятся только о скорости и точности программирования. Они не ставят высокие оценки за написание понятного кода, который приятно потом читать человеку. Их не волнуют имена переменных, им не интересно, есть ли описания того, что делают те или иные фрагменты.
А на реальном проекте это зачастую важнее, чем то, с какой скоростью написан отдельный участок программы. Мы в Rubrain на показатели скорости при принятии решения о найме вообще не смотрим. Если человек справился со своим заданием в установленные тестом несколько часов — этого вполне достаточно. На наш взгляд, скорость программирования важна только для грустных джунов или для каких-то фабрик разработчиков
К счастью, вы тоже можете не обращать внимания на те параметры, которые вас не интересуют. А оценить читабельность кода быстро может и человек. Огромных знаний и детального погружения это не требует.
Читайте также: