InterviewGuide: Nền tảng phỏng vấn thử AI
interview-guide: Intelligent AI Interview Platform là ứng dụng AI full-stack có thể deploy, bao gồm parse resume, phỏng vấn theo kỹ năng, hội thoại voice real-time, và RAG knowledge base. Các tính năng cốt lõi miễn phí và mã nguồn mở theo AGPL-3.0. Khóa học đi kèm có phí cung cấp hướng dẫn có cấu trúc về design decisions. Đây là mục tiêu vững chắc cho developers muốn một dự án AI chất lượng showcase với clean architecture, với điều kiện họ có thể host toàn bộ stack (PostgreSQL, Redis, S3-compatible storage).
Intelligent AI Interview Platform là gì?
Intelligent AI Interview Platform là bộ công cụ chuẩn bị phỏng vấn tự host xây dựng trên Spring Boot 4.1 và Spring AI 2.0. Cho phép upload resume định dạng PDF, DOCX, hoặc TXT để phân tích bằng AI, chạy phỏng vấn thử qua text hoặc voice trên 10+ tracks kỹ năng (Java backend, frontend, algorithms, system design, v.v.), quản lý lịch phỏng vấn với AI-parse meeting links, và truy vấn RAG knowledge base dựa trên pgvector. Tất cả tính năng cốt lõi đều miễn phí và mã nguồn mở theo AGPL-3.0.
Thách thức của việc chuẩn bị phỏng vấn
Người tìm việc thiếu cách thực tế để luyện phỏng vấn kỹ thuật ngoài việc đọc bài viết hoặc giải thuật toán. Các nền tảng hiện có hoặc thu phí cho tính năng cơ bản, bỏ qua feedback resume, hoặc đối xử với phỏng vấn voice như một tính năng phụ. Nhà tuyển dụng và tổ chức đào tạo cần công cụ quản lý ứng viên và tài sản kiến thức ở một nơi thay vì cố gắng kết hợp nhiều spreadsheet và dịch vụ bên thứ ba.
Tính năng chính cho thành công phỏng vấn
- ✓Parse resume với Apache Tika hỗ trợ PDF, DOCX, DOC, và TXT, xử lý async qua Redis Stream với automatic retry (tối đa 3 lần) và content-hash deduplication
- ✓Phỏng vấn theo kỹ năng qua 10+ tracks (Java backend, Algo, System Design, AI Agent, v.v.), mỗi track được định nghĩa bởi file SKILL.md với phân bổ difficulty và reference knowledge bases
- ✓Phỏng vấn voice real-time dùng WebSocket + Qwen3 ASR/TTS với sentence-level concurrent TTS, server-side VAD để tự động phân đoạn, và cơ chế chống echo
- ✓RAG knowledge base với pgvector cho semantic search, SSE-based streaming responses, và khả năng generate câu hỏi cấu trúc từ documents đã upload
- ✓Unified evaluation engine dùng chung cho cả phỏng vấn text và voice, với batched scoring, structured output, và fallback logic khi API calls fail
- ✓Multi-provider LLM support (DashScope, LM Studio, Kimi, DeepSeek, GLM) với runtime configuration switching cho cả chat và embedding models
- ✓Interview scheduling với AI-parsed meeting links (Feishu, Tencent Meeting, Zoom formats) và calendar view hỗ trợ kéo thả để đổi lịch
- ✓PDF export cho cả resume analysis reports và mock interview evaluation summaries dùng iText 8 với built-in Chinese font
Ai được lợi từ InterviewGuide?
- •Người tìm việc muốn feedback resume và môi trường phỏng vấn thử thực tế trước khi đối mặt phỏng vấn thật
- •HR teams và recruiters cần đánh giá resume ứng viên hàng loạt với tiêu chí nhất quán
- •Tổ chức đào tạo quản lý interview knowledge bases và theo dõi tiến độ học viên qua nhiều sessions
- •Java developers tìm dự án AI chất lượng showcase với production patterns (async processing, vector search, streaming responses) để thảo luận trong phỏng vấn
Bắt đầu: Triển khai Local & Docker
Bắt đầu: Triển khai Local & Docker **Local development** yêu cầu JDK 25, Node.js 18+, và pnpm 10+. Sau khi clone repo, copy `.env.example` thành `.env` và set tối thiểu `AI_BAILIAN_API_KEY`. Khởi động các service infrastructure bằng `docker compose -f docker-compose.dev.yml up -d` (PostgreSQL, Redis, RustFS). Sau đó chạy backend qua `./gradlew :app:bootRun` (port 8080) và frontend qua `cd frontend && pnpm install && pnpm dev` (port 5173). **Docker deployment** chạy tất cả services — frontend (Nginx), backend, PostgreSQL, Redis, và MinIO — qua một lệnh `docker-compose up -d --build`. Copy `.env.example` thành `.env`, điền `AI_BAILIAN_API_KEY` và `APP_AI_CONFIG_ENCRYPTION_KEY`, rồi `docker-compose up -d --build`. Truy cập app tại localhost, Swagger UI tại localhost:8080/swagger-ui.html, và MinIO console tại localhost:9001.
Điểm mạnh
- ✓Ứng dụng AI self-hostable đầy đủ tính năng bao gồm phân tích resume, phỏng vấn thử, hội thoại voice, và quản lý knowledge base — không có feature paywalls
- ✓Clean architectural patterns: Redis Stream cho async job processing, pgvector cho semantic retrieval, WebSocket cho voice real-time, và Flyway cho database migrations
- ✓Skill-driven interview system với 10+ predefined tracks và per-session question deduplication để đảm bảo các buổi luyện tập đa dạng
- ✓Unified evaluation engine dùng chung cho cả hai chế độ phỏng vấn text và voice, với batched processing, structured JSON output, và graceful fallback khi API calls fail
- ✓Docker Compose setup với MinIO, PostgreSQL, và Redis giúp local infrastructure có thể reproduce mà không cần cấu hình service thủ công
- ✓Được maintain tích cực với public roadmap theo dõi WebRTC migration cho voice, thêm TTS voice options, và feature parity giữa các chế độ phỏng vấn
Hạn chế hiện tại và kế hoạch tương lai
- △Độ trễ end-to-end của phỏng vấn voice khá cao do server-side audio relay, và implementation TTS hiện tại chỉ hỗ trợ một voice style duy nhất — roadmap đã thừa nhận những khoảng trống này và có kế hoạch tích hợp WebRTC và thêm voice options
- △Echo leakage xảy ra khi dùng loa mà không có headset trong phỏng vấn voice; nền tảng cung cấp manual-submit mode như workaround, nhưng hardware echo cancellation chưa được implement
- △Deployment yêu cầu chạy nhiều services (PostgreSQL, Redis, S3-compatible storage) — những users muốn luyện phỏng vấn không cần cài đặt nên tìm nơi khác
- △Giấy phép AGPL-3.0 yêu cầu publish source code modifications nếu ứng dụng được cung cấp như một networked service, điều này có thể xung đột với các kế hoạch deploy proprietary
Các lựa chọn thay thế cho luyện phỏng vấn
Câu hỏi thường gặp
InterviewGuide được phát hành theo AGPL-3.0. Điều này có nghĩa là bất kỳ source code nào đã sửa đổi phải được public nếu ứng dụng được cung cấp như một networked service. README nêu rõ điều này như một design choice gắn liền với cam kết mã nguồn mở của dự án.
Backend chạy Spring Boot 4.1 với Java 25 virtual threads và Spring AI 2.0 cho LLM integration. Dữ liệu lưu trong PostgreSQL với pgvector extension cho vector storage. Redis Stream xử lý async job processing trong khi Redisson quản lý caching. Frontend là React 18 với TypeScript, Vite, và Tailwind CSS. Voice features dựa trên DashScope SDK cho Qwen3 ASR và TTS.
Copy `.env.example` thành `.env`, set `AI_BAILIAN_API_KEY` và `APP_AI_CONFIG_ENCRYPTION_KEY`, rồi chạy `docker-compose up -d --build`. Lệnh này khởi động sáu services: frontend (Nginx), Spring Boot backend, PostgreSQL, Redis, MinIO, và một bucket initialization task. Data được persist qua Docker named volumes.
Có. Key bắt buộc tối thiểu là `AI_BAILIAN_API_KEY` cho DashScope text, ASR, và TTS models. Nếu bạn configure thêm các providers khác (Kimi, DeepSeek, GLM, LM Studio) trong settings page, bạn sẽ cần các API keys tương ứng.
Docker deployments dùng named volumes cho PostgreSQL, Redis, và MinIO, nên data tồn tại qua `docker-compose down`. Local development dùng `docker-compose.dev.yml` cũng preserve data trừ khi bạn chạy rõ ràng `docker-compose down -v` để xóa volumes. Ứng dụng ghi runtime LLM provider configs vào `~/.interview-guide/` trên host filesystem.
README liệt kê bốn known issues: độ trễ end-to-end cao từ server-side audio relay, echo leakage khi dùng loa mà không có headset, số lượng TTS voice options hạn chế (một voice style duy nhất), và audio stuttering trên mạng yếu. Roadmap có kế hoạch WebRTC migration, client-side VAD noise reduction, và thêm TTS voices để giải quyết những vấn đề này.
Ai nên thử — và ai nên bỏ qua
InterviewGuide phù hợp với Java developers muốn một dự án AI có thể giải thích được cho resume và kỹ năng infrastructure để vận hành nó. Các tổ chức đào tạo cần hệ thống quản lý phỏng vấn self-hosted sẽ thấy feature set toàn diện. Tuy nhiên, người tìm việc muốn luyện tập ngay lập tức mà không cần quản lý Docker containers nên thử cloud tools trước. Các teams cần sản phẩm được test đầy đủ và có hỗ trợ thương mại cũng sẽ thấy AGPL-3.0 licensing và known voice latency issues là rào cản.
Repo liên quan
Muốn nghe thêm một ý kiến về interview-guide?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về interview-guide.
