Этот репозиторий содержит набор тестовых заданий, предназначенных для оценки знаний алгоритмов, логического мышления и концепций объектно-ориентированного программирования (ООП). Задания разделены на три уровня сложности: начальный, средний и продвинутый, а также на категории в зависимости от технологии: PHP, JavaScript и СУБД. Задания выполняются в соответствии с ролью, на которую претендует разработчик (например, PHP-разработчик, JavaScript-разработчик или специалист по базам данных).
Эти задания идеально подходят для:
- Оценки навыков разработчиков в процессе найма.
- Практики и совершенствования навыков программирования.
- Обучения и изучения алгоритмов, принципов ООП и работы с базами данных.
Задания организованы по уровням сложности и категориям технологий:
- Начальный: Задачи, сосредоточенные на базовых концепциях программирования и простых алгоритмах (например, обработка строк в PHP/JavaScript или базовые SQL-запросы).
- Средний: Задачи, требующие более глубокого понимания структур данных, ООП или реляционных баз данных (например, реализация стека в PHP/JavaScript или оптимизация SQL-запросов).
- Продвинутый: Сложные задачи, включающие продвинутые алгоритмы, проектирование ООП или сложные операции с СУБД ( например, реализация бинарного дерева поиска в PHP/JavaScript или проектирование базы данных).
Категории заданий:
- Входной тест на внимательность и логику: https://docs.google.com/forms/d/e/1FAIpQLSd8TsT9P1mYPRkf0OQvghPz6-NwVIZrgZeCokSlhv5VKsmjvg/viewform
- PHP: Задачи, проверяющие знание языка PHP, алгоритмов и ООП.
- JavaScript: Задачи, ориентированные на программирование на JavaScript, включая работу с DOM, асинхронность и алгоритмы.
- СУБД: Задачи, связанные с проектированием баз данных, написанием SQL-запросов и оптимизацией производительности.
Каждое задание включает:
- Подробное описание задачи.
- Требования и ограничения.
- Примеры входных и выходных данных.
- Ожидаемое решение (для справки).
Кандидаты должны выбирать задания, соответствующие их целевой роли (например, PHP-разработчик выполняет задания из категории PHP).
- PHP 8.4 или выше (для заданий категории PHP).
- Node.js 22 или выше (для заданий категории JavaScript).
- СУБД (например, MySQL, ClickHouse) для заданий категории СУБД.
- Редактор кода (например, VS Code, PhpStorm).
- Опционально: PHPUnit для тестирования PHP-решений, Jest для JavaScript, инструменты для тестирования SQL.
-
Клонируйте репозиторий:
git clone https://github.com/topvisor/hr-dev.git
-
Перейдите в директорию проекта:
cd hr-dev
- Откройте файл с нужной категорией задач в папке
tasks, чтобы ознакомиться с описанием задач и требованиями. - Создайте файлы для ваших решений в директории
solutions/(например,solutions/php/,solutions/js/,solutions/db/). - Протестируйте решения, используя соответствующую технологию:
- Для PHP:
php solutions/php/task1.php
- Для JavaScript:
node solutions/js/task1.js
- Для СУБД: Выполните SQL-запросы в вашей СУБД.
- Для PHP: