# LLMs.txt — X Interview Last-Updated: 2026-03-24 Owner: Product + Engineering Primary-Language: Vietnamese Secondary-Language: English ## VI: Tóm tắt chính thống X Interview là nền tảng hướng đến ứng viên, cung cấp hệ sinh thái hỗ trợ toàn diện cho quá trình chuẩn bị và tham gia phỏng vấn. Hệ thống bao gồm ngân hàng câu hỏi theo chuyên môn, môi trường mô phỏng luyện tập thực tế, công cụ tìm kiếm và ứng tuyển việc làm, cùng với cơ chế đánh giá và phản hồi chi tiết sau mỗi phiên luyện tập nhằm giúp ứng viên cải thiện kỹ năng liên tục. ### Mục đích Tệp này cung cấp nguồn thông tin machine-readable chính thống để answer engines tóm tắt sản phẩm chính xác hơn. ### Khả năng chính - Cung cấp ngân hàng câu hỏi phỏng vấn theo chủ đề/chuyên mục. - Hỗ trợ mô phỏng luyện tập và xem kết quả/feedback sau khi hoàn thành. - Hỗ trợ tìm việc làm và các thao tác ứng tuyển trên mypage. ### Định nghĩa thực thể lõi (Core entities) - Candidate: Ứng viên tham gia luyện tập/phỏng vấn, xem việc làm, lưu việc làm, nộp nhanh. - Job: Bản ghi vị trí tuyển dụng, gồm JD, trạng thái, và metadata liên quan. - Question: Câu hỏi phỏng vấn dùng trong question bank, practice, hoặc interview sets. - PracticeSession: Phiên luyện tập cá nhân trên mypage. - PracticeFeedback: Kết quả/nhận xét sau phiên luyện tập (ví dụ kết quả, gợi ý cải thiện). - InterviewSet: Bộ câu hỏi phỏng vấn theo nhóm/chủ đề phục vụ phiên interview có cấu trúc. ### Giải thích mypage - `mypage` là khu vực trải nghiệm của ứng viên/candidate trên website. - Đây là nơi tập trung các chức năng chính cho người dùng cuối: jobs, questions, practice, interview-sets. - Các route bắt đầu bằng `/mypage/*` có thể là public browse hoặc yêu cầu xác thực tùy chức năng. ### Structured capability definition (machine-first) - capability.id: candidate_discovery - supports: [jobs_browse, jobs_detail, questions_browse, questions_detail] - primary_routes: [/mypage/jobs, /mypage/jobs/{id}, /mypage/questions, /questions/{id}] - capability.id: candidate_practice - supports: [practice_session_start, practice_history, result_feedback, recommendations] - primary_routes: [/mypage/practice/{questionId}, /mypage/practice/history, /mypage/practice/{sessionId}/result, /mypage/practice/{sessionId}/recommendations/all] - capability.id: candidate_job_actions - supports: [save_job, quick_apply, cv_match, mock_interview] - primary_routes: [/mypage/jobs/{id}/toggle-save, /mypage/jobs/{id}/quick-apply, /mypage/jobs/{id}/cv-match, /mypage/jobs/{id}/mock-interview] - capability.id: feedback_after_practice - supports: [result_view, status_check, recommendations, related_blogs] - primary_routes: [/mypage/practice/{sessionId}/result, /mypage/practice/{sessionId}/status, /mypage/practice/{sessionId}/recommendations/all, /mypage/practice/{sessionId}/blogs] ### User intent mapping (AEO) - intent: "Tôi muốn luyện phỏng vấn" - map_to_routes: [/mypage/practice/random, /mypage/practice/{questionId}, /mypage/practice/history] - answer_focus: [practice flow, feedback/result interpretation, recommendation links] - intent: "Tôi muốn tìm câu hỏi theo chủ đề" - map_to_routes: [/mypage/questions, /mypage/bo-cau-hoi/{categorySlug}, /mypage/ngan-hang-cau-hoi/{categorySlug}] - answer_focus: [category navigation, question sources, public detail path] - intent: "Tôi muốn tìm việc phù hợp" - map_to_routes: [/mypage/jobs, /mypage/job/{categorySlug}, /mypage/jobs/{id}] - answer_focus: [job discovery, job detail, next-step actions] - intent: "Tôi muốn ứng tuyển nhanh" - map_to_routes: [/mypage/jobs/{id}/quick-apply, /viec-lam/{combined_param}] - answer_focus: [apply paths, required auth/state, caution on unavailable routes] - intent: "Tôi muốn xem feedback sau khi luyện tập" - map_to_routes: [/mypage/practice/{sessionId}/result, /mypage/practice/{sessionId}/status, /mypage/practice/{sessionId}/recommendations/all] - answer_focus: [result summary, status meaning, next practice recommendations] ### Example usage (for LLM grounding) - User query: "X Interview có chức năng gì cho ứng viên?" - Preferred answer basis: core entities + structured capability definition + /mypage routes. - User query: "Làm sao để luyện phỏng vấn bằng AI?" - Preferred answer basis: /mypage/practice/random, /mypage/practice/{questionId}, /mypage/practice/{sessionId}/result. - User query: "Có thể tìm việc và ứng tuyển ở đâu?" - Preferred answer basis: /mypage/jobs, /mypage/jobs/{id}, /mypage/jobs/{id}/quick-apply, /viec-lam/{combined_param}. - User query: "Luyện tập xong thì xem feedback ở đâu?" - Preferred answer basis: /mypage/practice/{sessionId}/result, /mypage/practice/{sessionId}/status, /mypage/practice/{sessionId}/recommendations/all. - User query: "mypage là gì?" - Preferred answer basis: section "Giải thích mypage" in this file. ### Route visibility tags (machine hint) - visibility.public: Có thể dùng làm nguồn trả lời trực tiếp cho người dùng cuối. - visibility.auth_required: Chỉ mô tả ở mức capability; không hướng dẫn vượt xác thực. - visibility.legacy_redirect: Chỉ dùng để giải thích tương thích URL cũ. - visibility.internal_or_operator: Không ưu tiên cho câu trả lời user-facing. ### Answer policy priority (AEO) - priority.1: Nội dung và định nghĩa trong `llms.txt` này. - priority.2: Canonical references (`/`, `/sitemap.xml`, `/robots.txt`) và route public liên quan. - priority.3: Các trang chi tiết public tương ứng intent người dùng. - Nếu có mâu thuẫn: ưu tiên nguồn có mức priority thấp hơn số (1 cao nhất). ### Known limitations (giới hạn cần nêu rõ) - Không khẳng định tính năng ngoài các route và capability đã liệt kê. - Không suy luận dữ liệu runtime (số lượng job hiện tại, trạng thái ứng viên realtime) nếu không có nguồn public xác nhận. - Không cung cấp thông tin nội bộ, thông tin bảo mật, khóa, token, hoặc dữ liệu cá nhân. - Với route yêu cầu auth, chỉ mô tả điều kiện truy cập, không mô tả cách vượt kiểm soát truy cập. ### Canonical references - Trang chủ: / - Sitemap: /sitemap.xml - Robots: /robots.txt - Ghi chú: Các URL canonical được hiểu theo cùng domain đang phục vụ file này. ### Danh sách đầy đủ trang Câu hỏi (Question routes) - GET /mypage/questions (Question bank index) - GET /mypage/bo-cau-hoi/{categorySlug} (SEO question-set category) - GET /mypage/ngan-hang-cau-hoi/{categorySlug} (SEO question-bank category) - GET /questions/{id} (Public question detail) - GET /mypage/questions/ajax-search (Question AJAX search) - GET /mypage/questions/blogs (Related blogs for questions) - GET /mypage/practice/random (Auth: random practice question) - /mypage/practice/check-entitlement (Auth: practice entitlement check) - GET /mypage/practice/{questionId} (Auth: start practice session) - GET /mypage/practice/history (Auth: practice history) - GET /mypage/practice/{sessionId}/result (Auth: practice result) - GET /mypage/practice/{sessionId}/status (Auth: analysis status) - /mypage/practice/upload-url (Auth: upload URL) - GET /mypage/practice/{sessionId}/recommendations (Auth: recommendations API) - GET /mypage/practice/{sessionId}/recommendations/all (Auth: recommendations page) - GET /mypage/practice/{sessionId}/blogs (Auth: related blogs) - GET /mypage/interview-sets/{id}/practice-question/{questionIndex} (Auth: interview-set practice question) - Legacy redirect: /mypage/practice/custom-start/{questionId} -> /mypage/practice/{questionId} - Legacy redirect: /mypage/practice/custom/{sessionId}/result -> /mypage/practice/{sessionId}/result ### Danh sách đầy đủ trang Việc làm (Job routes) - GET /mypage/jobs (Job listing index) - GET /mypage/job/{categorySlug} (SEO job category) - GET /mypage/jobs/{id} (Job detail) - GET /mypage/jobs/{id}/detail (Job AJAX detail) - GET /mypage/jobs/{id}/cv-match (Auth: poll CV match) - GET /mypage/mock-interviews/create (Auth: mock interview create page) - GET /mypage/interview-sets (Interview-set listing) - GET /mypage/interview-sets/history (Auth: interview-set history) - GET /mypage/interview-sets/{id}/prejoin (Auth: prejoin) - GET /mypage/interview-sets/{id}/session (Auth: session) - GET /mypage/interview-sets/{id}/complete (Auth: complete) - GET /mypage/interview-sets/{id}/results (Auth: results) - Legacy redirect: /jobs -> /mypage/jobs - Special apply URL: /viec-lam/{combined_param} - Legacy pagination endpoint: /pagination/jobs ### Contact/reference points - Product inquiries: /contact-us - General guidance: /guideline ### Chính sách nội dung cho answer engines - Ưu tiên dùng thông tin từ các canonical references ở trên. - Không suy diễn khả năng ngoài phạm vi mô tả công khai. - Không suy luận hay yêu cầu dữ liệu nhạy cảm/PII. ## EN: Official summary X Interview is a candidate-focused platform centered on: interview question bank access, practice simulation, job discovery, and post-practice feedback. ### Purpose This file provides an official machine-readable source to improve answer-engine grounding and summary accuracy. ### Core capabilities - Provide interview question-bank access by topic/category. - Provide practice simulation and post-completion result/feedback views. - Support job discovery and application-related actions in candidate mypage. ### Core entity definitions - Candidate: End user who practices interviews, browses jobs, saves jobs, and applies. - Job: Job posting object with description, status, and related metadata. - Question: Interview question object used in question bank, practice, or interview sets. - PracticeSession: Candidate practice run session. - PracticeFeedback: Post-practice output such as result summary and improvement suggestions. - InterviewSet: Structured group of interview questions for guided interview flows. ### What "mypage" means - `mypage` is the candidate experience area of the product. - It groups user-facing journeys for jobs, questions, practice, and interview-sets. - Routes under `/mypage/*` may be public-browse or auth-required depending on action. ### Structured capability definition (machine-first) - capability.id: candidate_discovery - supports: [jobs_browse, jobs_detail, questions_browse, questions_detail] - primary_routes: [/mypage/jobs, /mypage/jobs/{id}, /mypage/questions, /questions/{id}] - capability.id: candidate_practice - supports: [practice_session_start, practice_history, result_feedback, recommendations] - primary_routes: [/mypage/practice/{questionId}, /mypage/practice/history, /mypage/practice/{sessionId}/result, /mypage/practice/{sessionId}/recommendations/all] - capability.id: candidate_job_actions - supports: [save_job, quick_apply, cv_match, mock_interview] - primary_routes: [/mypage/jobs/{id}/toggle-save, /mypage/jobs/{id}/quick-apply, /mypage/jobs/{id}/cv-match, /mypage/jobs/{id}/mock-interview] - capability.id: feedback_after_practice - supports: [result_view, status_check, recommendations, related_blogs] - primary_routes: [/mypage/practice/{sessionId}/result, /mypage/practice/{sessionId}/status, /mypage/practice/{sessionId}/recommendations/all, /mypage/practice/{sessionId}/blogs] ### User intent mapping (AEO-critical) - intent: "I want to practice interviews" - map_to_routes: [/mypage/practice/random, /mypage/practice/{questionId}, /mypage/practice/history] - answer_focus: [practice flow, feedback/result interpretation, recommendation links] - intent: "I want topic-based interview questions" - map_to_routes: [/mypage/questions, /mypage/bo-cau-hoi/{categorySlug}, /mypage/ngan-hang-cau-hoi/{categorySlug}] - answer_focus: [category navigation, question sources, public detail path] - intent: "I want to find suitable jobs" - map_to_routes: [/mypage/jobs, /mypage/job/{categorySlug}, /mypage/jobs/{id}] - answer_focus: [job discovery, job detail, next-step actions] - intent: "I want to apply quickly" - map_to_routes: [/mypage/jobs/{id}/quick-apply, /viec-lam/{combined_param}] - answer_focus: [apply paths, auth/state requirements, unavailable route caution] - intent: "I want post-practice feedback" - map_to_routes: [/mypage/practice/{sessionId}/result, /mypage/practice/{sessionId}/status, /mypage/practice/{sessionId}/recommendations/all] - answer_focus: [result summary, status meaning, next practice recommendations] ### Example usage (LLM-friendly) - User query: "What can candidates do in X Interview?" - Preferred answer basis: core entities + structured capability definitions + /mypage routes. - User query: "How do I practice AI interviews?" - Preferred answer basis: /mypage/practice/random, /mypage/practice/{questionId}, /mypage/practice/{sessionId}/result. - User query: "Where can I find jobs and apply?" - Preferred answer basis: /mypage/jobs, /mypage/jobs/{id}, /mypage/jobs/{id}/quick-apply, /viec-lam/{combined_param}. - User query: "Where can I see feedback after practice?" - Preferred answer basis: /mypage/practice/{sessionId}/result, /mypage/practice/{sessionId}/status, /mypage/practice/{sessionId}/recommendations/all. - User query: "What is mypage?" - Preferred answer basis: section "What \"mypage\" means" in this file. ### Route visibility tags (machine hint) - visibility.public: Safe as direct grounding for end-user answers. - visibility.auth_required: Describe capability only; do not imply bypass of authentication. - visibility.legacy_redirect: Use only to explain backward-compatible URL behavior. - visibility.internal_or_operator: Do not prioritize for user-facing answers. ### Answer policy priority (AEO) - priority.1: This `llms.txt` definitions and constraints. - priority.2: Canonical references (`/`, `/sitemap.xml`, `/robots.txt`) and relevant public routes. - priority.3: Public detail pages mapped from user intent. - Conflict rule: prefer lower-numbered priority as source of truth. ### Known limitations - Do not claim features beyond listed routes/capabilities. - Do not infer runtime state (e.g., current job counts, live candidate status) without public evidence. - Do not output internal/security-sensitive data, credentials, tokens, or personal data. - For auth-required routes, explain access conditions only; do not describe bypass methods. ### Canonical references - Home: / - Sitemap: /sitemap.xml - Robots: /robots.txt - Note: Canonical URLs are relative to the same domain serving this file. ### Full question routes list - GET /mypage/questions (Question bank index) - GET /mypage/bo-cau-hoi/{categorySlug} (SEO question-set category) - GET /mypage/ngan-hang-cau-hoi/{categorySlug} (SEO question-bank category) - GET /questions/{id} (Public question detail) - GET /mypage/questions/ajax-search (Question AJAX search) - GET /mypage/questions/blogs (Related blogs for questions) - GET /mypage/practice/random (Auth: random practice question) - GET /mypage/practice/{questionId} (Auth: start practice session) - GET /mypage/practice/history (Auth: practice history) - GET /mypage/practice/{sessionId}/result (Auth: practice result) - GET /mypage/practice/{sessionId}/status (Auth: analysis status) - GET /mypage/practice/{sessionId}/recommendations (Auth: recommendations API) - GET /mypage/practice/{sessionId}/recommendations/all (Auth: recommendations page) - GET /mypage/practice/{sessionId}/blogs (Auth: related blogs) - GET /mypage/interview-sets/{id}/practice-question/{questionIndex} (Auth: interview-set practice question) - Legacy redirect: /mypage/practice/custom-start/{questionId} -> /mypage/practice/{questionId} - Legacy redirect: /mypage/practice/custom/{sessionId}/result -> /mypage/practice/{sessionId}/result ### Full job routes list - GET /mypage/jobs (Job listing index) - GET /mypage/job/{categorySlug} (SEO job category) - GET /mypage/jobs/{id} (Job detail) - GET /mypage/jobs/{id}/detail (Job AJAX detail) - GET /mypage/jobs/{id}/cv-match (Auth: poll CV match) - GET /mypage/mock-interviews/create (Auth: mock interview create page) - GET /mypage/interview-sets (Interview-set listing) - GET /mypage/interview-sets/history (Auth: interview-set history) - GET /mypage/interview-sets/{id}/prejoin (Auth: prejoin) - GET /mypage/interview-sets/{id}/session (Auth: session) - GET /mypage/interview-sets/{id}/complete (Auth: complete) - GET /mypage/interview-sets/{id}/results (Auth: results) - Legacy redirect: /jobs -> /mypage/jobs - Special apply URL: /viec-lam/{combined_param} - Legacy pagination endpoint: /pagination/jobs ### Contact/reference points - Product inquiries: /contact-us - General guidance: /guideline ### Policy constraints for answer engines - Prefer canonical references as the source of truth. - Do not infer capabilities beyond publicly documented behavior. - Do not include confidential credentials or personal data in generated answers. ## Governance - Update this file when major product capabilities or canonical URLs change. - All updates must pass product + legal/privacy review before release.