Overview
Interview reports provide comprehensive preparation materials for job interviews, including:- Match Score: How well your profile matches the job (0-100)
- Technical Questions: Role-specific questions with suggested answers
- Behavioral Questions: Situational questions and response strategies
- Skill Gaps: Areas for improvement with severity ratings
- Preparation Plan: Day-by-day study plan
Prerequisites
Before generating an interview report, ensure you have:Registered account and active session
Job description ready
Resume file (PDF/DOCX) OR self-description text
Generate Interview Report
Authenticate Your Request
All interview generation requests require authentication. Include your session cookie:The
authMiddleware.authUser validates your session (see interview.routes.js:15).Prepare Your Input Data
Gather the required and optional fields:
Required Fields
- jobDescription (string): Complete job posting or description
Optional Fields
- resume (file): Your resume in PDF or DOCX format
- selfDescription (string): Additional information about yourself
- title (string): Job title (auto-derived from job description if omitted)
You must provide either a
resume file OR selfDescription text. Both are recommended for best results.Submit the Request
Send a From
POST request to /api/interview/ with multipart/form-data:interview.api.js:12-32.Resume Processing
The server processes your resume through multiple stages:
- File Type Detection: Magic byte analysis identifies PDF or DOCX
- Text Extraction: Libraries extract readable text
- Fallback Parsing: If extraction fails, AI reads the file directly
interview.controller.js:40-84.AI Analysis
Your resume and job description are analyzed by Google Gemini AI:The AI generates structured data including questions, skill gaps, and preparation plans.See
ai.service.js:63-70 for implementation.Understanding the Response
Match Score
ai.service.js:12 and validated in interviewReport.model.js:78-82.
Technical Questions
Each technical question includes:- question: The actual interview question
- intention: Why the interviewer asks this
- answer: How to approach your response
interviewReport.model.js:4-19 and ai.service.js:13-17.
Behavioral Questions
Structured identically to technical questions but focused on:- Leadership scenarios
- Conflict resolution
- Team collaboration
- Problem-solving approaches
interviewReport.model.js:21-36.
Skill Gaps
Identifies areas for improvement:- low: Nice to have, won’t significantly impact chances
- medium: Important but can be learned quickly
- high: Critical gap that may affect hiring decision
interviewReport.model.js:38-50.
Preparation Plan
Day-by-day study schedule:interviewReport.model.js:52-65.
Complete Example
Frontend Implementation
Backend Flow
The complete processing flow ininterview.controller.js:12-131:
- Validate
jobDescriptionis present (lines 16-21) - Ensure either
resumeorselfDescriptionexists (lines 25-29) - Derive
titleif not provided (lines 33-35) - Process uploaded resume file (lines 40-84)
- Generate AI interview report (lines 94-100)
- Save to database (lines 109-117)
- Return complete report (lines 127-130)
Error Handling
Validation Errors (400)
AI Service Errors (502)
interview.controller.js:101-105.
Database Errors (400)
Validation errors from MongoDB:interview.controller.js:119-123.
Retrieving Interview Reports
Get Single Report
interview.controller.js:137-153.
Get All Reports
The list endpoint excludes detailed content (questions, skill gaps, etc.) for performance. Use the single report endpoint to get full details.
interview.controller.js:159-166 for implementation.
Best Practices
Provide Detailed Job Descriptions
Include specific requirements, responsibilities, and preferred qualifications for more accurate analysis.
Use Both Resume and Self-Description
Resumes provide structure; self-descriptions add context and personal narrative.
Keep Job Descriptions Current
Generate new reports for each job application - generic reports are less effective.
Review Skill Gaps Honestly
Focus preparation on high-severity gaps first for maximum impact.
Tips for Better Results
Next Steps
Generate Resume PDFs
Create tailored resume PDFs optimized for specific job applications
API Reference
View complete API documentation and request/response schemas