[ { "_id": "507f1f77bcf86cd799439011", "id": "507f1f77bcf86cd799439011", "title": "Реализовать сортировку массива", "description": "# Задание: Сортировка массива\n\nНапишите функцию `sortArray(arr)`, которая сортирует массив чисел по возрастанию.\n\n## Требования:\n\n- Функция должна принимать массив чисел\n- Возвращать отсортированный массив\n- Не изменять исходный массив\n\n## Пример:\n\n```javascript\nconst arr = [5, 2, 8, 1, 9];\nconst sorted = sortArray(arr);\nconsole.log(sorted); // [1, 2, 5, 8, 9]\n```", "hiddenInstructions": "Проверь, чтобы сложность алгоритма была не хуже O(n log n). Не принимай bubble sort или простые O(n²) решения. Убедись, что исходный массив не изменяется.", "creator": { "sub": "teacher-123", "preferred_username": "ivanov_teacher", "email": "ivanov@example.com" }, "createdAt": "2024-11-01T10:00:00.000Z", "updatedAt": "2024-11-01T10:00:00.000Z" }, { "_id": "507f1f77bcf86cd799439012", "id": "507f1f77bcf86cd799439012", "title": "Создать REST API endpoint", "description": "# Задание: REST API для пользователей\n\nСоздайте REST API endpoint для получения списка пользователей.\n\n## Требования:\n\n- Метод: GET\n- Путь: /api/users\n- Должна быть пагинация\n- Обработка ошибок\n- Валидация параметров\n\n## Пример ответа:\n\n```json\n{\n \"users\": [...],\n \"total\": 100,\n \"page\": 1,\n \"limit\": 10\n}\n```", "hiddenInstructions": "Обязательна пагинация, обработка ошибок и валидация параметров. Если чего-то не хватает - укажи в feedback.", "creator": { "sub": "teacher-123", "preferred_username": "ivanov_teacher", "email": "ivanov@example.com" }, "createdAt": "2024-11-02T12:30:00.000Z", "updatedAt": "2024-11-02T12:30:00.000Z" }, { "_id": "507f1f77bcf86cd799439013", "id": "507f1f77bcf86cd799439013", "title": "Компонент React формы", "description": "# Задание: Форма регистрации\n\nСоздайте компонент React для формы регистрации.\n\n## Требования:\n\n- Поля: email, password, confirmPassword\n- Валидация на стороне клиента\n- Использование controlled components\n- Обработка submit\n\n## Бонус:\n\n- TypeScript типы\n- Показ ошибок валидации", "hiddenInstructions": "Обязательна валидация на стороне клиента, использование controlled components, и правильное управление state. Если используются uncontrolled components - отправь на доработку.", "creator": { "sub": "teacher-456", "preferred_username": "petrova_teacher", "email": "petrova@example.com" }, "createdAt": "2024-11-03T09:15:00.000Z", "updatedAt": "2024-11-03T09:15:00.000Z" }, { "_id": "507f1f77bcf86cd799439014", "id": "507f1f77bcf86cd799439014", "title": "SQL запрос с JOIN", "description": "# Задание: SQL запрос\n\nНапишите SQL запрос для выборки всех заказов пользователя вместе с информацией о товарах.\n\n## Структура таблиц:\n\n- users (id, name, email)\n- orders (id, user_id, created_at)\n- order_items (id, order_id, product_id, quantity)\n- products (id, name, price)\n\n## Требования:\n\n- Использовать JOIN\n- Отсортировать по дате создания заказа\n- Показать только активные заказы", "creator": { "sub": "teacher-123", "preferred_username": "ivanov_teacher", "email": "ivanov@example.com" }, "createdAt": "2024-11-04T14:20:00.000Z", "updatedAt": "2024-11-04T14:20:00.000Z" }, { "_id": "507f1f77bcf86cd799439015", "id": "507f1f77bcf86cd799439015", "title": "Валидация формы", "description": "# Задание: Валидация email\n\nНапишите функцию для валидации email адреса.\n\n## Требования:\n\n- Проверка формата email\n- Возвращает true/false\n- Обработка edge cases\n\n## Примеры:\n\n```javascript\nvalidateEmail('test@example.com') // true\nvalidateEmail('invalid-email') // false\nvalidateEmail('') // false\n```", "hiddenInstructions": "Проверь, что функция обрабатывает edge cases: пустая строка, нет @, нет домена, множественные @. Если не все случаи покрыты - отправь на доработку.", "creator": { "sub": "teacher-456", "preferred_username": "petrova_teacher", "email": "petrova@example.com" }, "createdAt": "2024-11-05T11:00:00.000Z", "updatedAt": "2024-11-05T11:00:00.000Z" } ]