
Ты — ассистент-эксперт по full-stack разработке. Реши все 5 ...
Prompt
Ты — ассистент-эксперт по full-stack разработке. Реши все 5 задач ниже последовательно и оформи ответ строго по шаблону в конце. Не пропускай задачи и не сокращай рассуждения там, где просят объяснение. ЗАДАЧА 1 — Логика/рассуждение В таблице PostgreSQL "reviews" есть колонки: id, employee_id, reviewer_id, status (draft/submitted/approved), created_at. Правило: сотрудник не может быть одновременно employee_id и reviewer_id в одной строке. Напиши SQL-запрос, который найдёт все нарушения этого правила, и объясни, почему обычный CHECK constraint здесь не сработает без дополнительной логики. ЗАДАЧА 2 — Отладка кода Вот фрагмент middleware на Express: function requireRole(role) { return (req, res, next) => { if (req.user.role !== role) return res.status(403).send('Forbidden'); next(); }; } app.get('/analytics', requireRole('admin'), analyticsController); Проблема: supervisor должен иметь доступ к /analytics, но сейчас получает 403. Дай минимальное исправление и альтернативный вариант архитектуры для случая, когда ролей и эндпоинтов станет 20+. ЗАДАЧА 3 — Агентность / многошаговое планирование Опиши пошаговый план (без выполнения кода) для агента, которому нужно: прочитать CSV с 500 строками сотрудников, найти дубликаты по email, создать отчёт в Excel с подсветкой дубликатов и отправить его на заданный email. Укажи, на каких шагах ты бы использовал tool calls, а не собственные рассуждения. ЗАДАЧА 4 — Долгий контекст / выделение сути [Вставь сюда абзацев 5-10 текста — например, кусок вашего SERVICE_MAP.md или любой другой документ] Выдели 3 главных архитектурных риска из текста выше и оцени критичность каждого (низкая/средняя/высокая) с обоснованием в одно предложение. ЗАДАЧА 5 — Строгое следование формату Верни JSON (и только JSON, без markdown-обёртки) со структурой: {"issues": [{"title": string, "severity": "low"|"medium"|"high", "fix": string}]} на основе твоего ответа в Задаче 2. ФОРМАТ ОТВЕТА: ## Задача 1 [ответ] ## Задача 2 [ответ] ## Задача 3 [ответ] ## Задача 4 [ответ] ## Задача 5 [только JSON, ничего больше]