interview_with_AI
Описание
Языки
- Python43,4%
- JavaScript33,1%
- Roff15%
- CSS8,2%
- Dockerfile0,2%
- HTML0,1%
🤖 VibeCode Jam 🎸 — AI Платформа для технических собеседований
VibeCode Jam — это современная и полностью автоматизированная система для проведения технических собеседований без участия живого рекрутера. Платформа позволяет проводить полный цикл оценки кандидата: от проверки Soft Skills и теоретических знаний до выполнения практических задач с написанием кода в реальном времени.
Система проверяет Soft Skills, теоретические знания и навыки программирования, используя искусственный интеллект. Платформа отличается стильным интерфейсом (Glassmorphism), встроенным Code Runner для безопасного запуска кода в изолированных контейнерах и модулем Anti-Cheat телеметрии.
✨ Возможности
👨💻 Для Кандидатов (Процесс собеседования)
- Мультиязычность: Поддержка интервью для Python, JavaScript, Java, C++, Go.
- Многоэтапное собеседование:
- Soft Skills Check: Ситуационные вопросы для проверки поведения и командной работы (Quiz-формат).
- AI Теория: Умный чат-бот задает вопросы, оценивает ответы и задает уточняющие вопросы (Follow-up) в чат-интерфейсе.
- Code Runner (Live Coding): Встроенная IDE (Monaco Editor) с безопасным запуском кода в изолированных Docker-контейнерах и выводом результатов терминала.
- Личный кабинет: Загрузка резюме (PDF) и выбор вакансии.
🕵️ Для HR и Рекрутеров (Управление)
- Дашборд: Управление списком кандидатов, фильтрация, сортировка.
- Конструктор Вакансий: Создание вакансий с привязкой к уровню (Junior/Middle/Senior) и стеку.
- Конструктор Задач: Создание задач по кодингу (с предзаполненным кодом) и теоретических вопросов. Настройка окружения (Basic Python / Data Science).
- Аналитика: Формирование детального итогового отчета с баллами, саммари по кандидату и Anti-Cheat метриками.
- AI Code Review: Автоматический анализ кода (стиль, функциональность) и генерация Unit-тестов.
🛠 Технический стек
Frontend
- React (Vite)
- React Router — навигация и защита роутов.
- Monaco Editor — редактор кода (как в VS Code).
- Axios — взаимодействие с API.
- CSS Modules — кастомный Glassmorphism дизайн без использования UI-библиотек.
Backend
- Python 3.12, FastAPI — высокопроизводительный REST API.
- SQLModel (SQLAlchemy + Pydantic) — ORM для работы с БД.
- Docker SDK — для запуска пользовательского кода в изолированных контейнерах (Docker-in-Docker).
AI & Logic
- OpenAI API (или совместимые сервисы).
- LangChain (опционально).
- Кастомные промпты для генерации вопросов и оценки ответов.
Database & Cache
- SQLite — база данных (хранение данных, хранится в файле
).vibecode.db - Redis — кэширование контекста диалогов.
Infrastructure
- Docker
- Docker Compose (оркестрация).
🚀 Установка и запуск
Предварительные требования
- Установленный Docker Desktop (или Docker на Linux).
- Git.
- Ключ OpenAI API (или совместимого сервиса).
Шаг 1: Клонирование репозитория
Шаг 2: Настройка переменных окружения (API Key)
В файле (или создайте файл в папке ) убедитесь, что указан ваш API ключ:
Шаг 3: Запуск через Docker Compose
В корне проекта выполните команду:
Первый запуск может занять несколько минут, пока скачиваются образы.
Шаг 4: Доступ к приложению
После успешного запуска откройте в браузере:
- Веб-интерфейс: http://localhost:3000 или http://your_ip:3000
- API Документация (Swagger): http://localhost:8000/docs
Альтернативная установка (Для Linux)
Установка на RedOS 8
- Установка Docker
- Даём права пользователю для запуска не привилегированных контейнеров
Проверить работу непривилегированных контейнеров можно запустив тестовый контейнер - Клонируем и выполняем сборку (Шаги 1 и 3 выше)
Установка на Debian/Ubuntu
- Обновляем систему и устанавливаем сертификаты
- Добавляем репозиторий Docker
- Обновляем список пакетов и устанавливаем Docker
- Создаём группу для Docker и добавляем пользователя
Проверить работу непривилегированных контейнеров можно запустив тестовый контейнер - Клонируем и выполняем сборку (Шаги 1 и 3 выше)
📂 Структура проекта
🐛 Возможные проблемы и решения
1. Ошибка сети при сборке (TLS handshake timeout)
Если Docker не может скачать образы:
- Зайдите в настройки Docker Desktop -> Docker Engine.
- Добавьте DNS Google:
- Перезапустите Docker.
2. Ошибка Code Runner (No such file or directory)
Если при запуске кода возникает ошибка с путями:
- Убедитесь, что в
у сервисаdocker-compose.ymlпрописан volume:backend - Попробуйте пересоздать контейнер бэкенда:
3. База данных пуста / Нет вопросов
Вопросы должны заливаться автоматически при старте. Если их нет:
- Зайдите в контейнер бэкенда:
- Запустите скрипт вручную:
🐳 Изоляция кода (Docker Code Runner)
При нажатии кнопки "Run Code" на фронтенде:
- Код отправляется на бэкенд.
- Бэкенд создает временный файл.
- Через Docker SDK запускается контейнер (
илиpython:3.12-alpineдля DS).slim - Контейнер выполняется с ограничением ресурсов (CPU/RAM) и без доступа к сети, обеспечивая полную безопасность.
- Логи (stdout/stderr) возвращаются на фронтенд.
🛡 Anti-Cheat Система (Integrity Check)
Система собирает телеметрию во время прохождения теста кандидатом. Эти данные используются для вычисления Integrity Score (показателя честности):
- Focus Lost: Сколько раз вкладка с тестом теряла фокус (например,
).alt-tab - Mouse Left Window: Сколько раз курсор покидал область окна браузера.
- Large Pastes: Детекция вставки больших кусков кода (защита от
/Ctrl+Cготовых решений).Ctrl+V
👨💻 Авторы
Гречиков Клим - GitVerse Profile | Telegram