Trigger Conditions
When the user needs to:
- Analyze a job description (JD)
- Extract key skills and requirements
- Assess the match between a resume and a JD
- Identify skill gaps
- Prepare for an interview for a specific company
Analysis Dimensions
1. Basic Information
- Job title and level
- Team and department
- Work location
- Job type (full-time/part-time/internship)
2. Skills Analysis
Programming Languages
- Required languages (Required)
- Preferred languages (Preferred)
- Frameworks and libraries
- Tools and platforms
System Design
- Distributed systems
- Microservices architecture
- Database design
- Scalability requirements
- Performance optimization
Domain Knowledge
- Industry-specific knowledge
- Business domain understanding
- Professional terminology
3. Soft Skills
- Communication skills
- Leadership
- Team collaboration
- Problem solving
- Adaptability
4. Qualification Requirements
- Educational background (degree, major)
- Years of work experience
- Experience in a specific field
- Certifications or certificates
5. Scope of Responsibilities
- Main job duties
- Project types
- Scope of impact
- Decision-making authority
6. Bonus Points
- Preferred skills
- Additional certifications or experience
- Special contributions or achievements
Workflow
Step 1: Extract Raw Information
Extract from the JD text:
- All skill keywords
- Experience requirements
- Education requirements
- Responsibility descriptions
Step 2: Structured Analysis
Classify the extracted information into:
{
"structured_analysis": {
"required_skills": [...],
"preferred_skills": [...],
"responsibilities": [...],
"minimum_qualifications": [...],
"preferred_qualifications": [...]
}
}
Step 3: Skill Matching
Compare with the user's base resume (data/resume/base.json):
{
"skill_match_analysis": {
"matched_skills": [
{"skill": "Python", "proficiency": "expert"}
],
"partial_match_skills": [
{"skill": "Java", "proficiency": "intermediate", "required": "advanced"}
],
"missing_skills": [
{"skill": "C++", "action": "需要学习基础"}
]
}
}
Step 4: Generate Recommendations
Based on the match analysis, provide:
- Skills that need to be supplemented
- Experience that should be highlighted
- Key points for interview preparation
- Resume optimization suggestions
Skill Extraction Patterns
Programming Language Identification
Identify the following patterns:
- "Proficiency in/with X"
- "Experience with/using X"
- "Strong knowledge of X"
- "X developer"
- "X, Y, or Z"
Experience Level Assessment
- Entry: 0-2 years
- Mid: 2-5 years
- Senior: 5+ years
- Staff/Principal: 8+ years
System Design Keywords
- "Distributed systems"
- "Microservices architecture"
- "Scalable systems"
- "High-availability"
- "Large-scale systems"
- "Cloud-native"
Soft Skill Identification
- "Excellent communication"
- "Leadership experience"
- "Team player"
- "Problem-solving skills"
- "Self-motivated"
Output Format
Company Information File Update
Update data/companies/{company}.json 's job_descriptions section:
{
"job_descriptions": {
"pos_001": {
"title": "Software Engineer III",
"description_source": "...",
"scraped_at": "2025-01-09T00:00:00Z",
"raw_text": "完整JD文本...",
"structured_analysis": {
"required_skills": ["Python", "Distributed Systems"],
"preferred_skills": ["Kubernetes", "ML"],
"responsibilities": ["设计并开发软件"],
"minimum_qualifications": ["计算机学位", "3年经验"],
"preferred_qualifications": ["硕士", "5年经验"]
},
"skill_match_analysis": {
"matched_skills": [...],
"partial_match_skills": [...],
"missing_skills": [...]
}
}
}
}
Usage Examples
Scenario 1: When Adding a New Company
The user provides JD text, automatically:
- Extract all skills and requirements
- Analyze the match with the user's resume
- Generate a structured analysis report
- Save to the company information file
Scenario 2: Before Resume Optimization
Provide for the resume optimizer:
- Key skills list
- Priority ranking
- Match score
- Optimization suggestions
Scenario 3: During interview preparation
Generate interview preparation focus points:
- Technical topics list
- Possible question types
- Areas requiring in-depth research
Matching rules
Exact match
- User has direct experience using it
- Actually applied in projects
- Can discuss in depth
Partial match
- Understands related technologies
- Has experience with similar technologies
- Can learn quickly
Missing
- No experience at all
- Needs to learn from scratch
- Suggested learning path
Weight calculation
Used for match scoring:
- Required skills: weight 2.0
- Preferred skills: weight 1.0
- Bonus items: weight 0.5
匹配度 = Σ(匹配等级 × 权重) / Σ(最大权重)
Notes
- Context understanding: Consider the overall context of the JD, not isolated keywords
- Skill categorization: Group skills with different names but the same essence
- Company characteristics: Identify the company's technology culture (e.g., Google values scalability)
- Implicit requirements: Identify expectations not explicitly stated in the JD
- Dynamic updates: Re-evaluate the match score as the user's skills improve
Advanced analysis features (new in Phase 2)
Company culture analysis
Culture indicator identification
Work culture keywords:
{
"culture_indicators": {
"pace": {
"fast": ["fast-paced", "move fast", "rapid iteration", "agile", "startup environment"],
"balanced": ["work-life balance", "sustainable pace", "flexible hours"],
"intense": ["high-pressure", "demanding", "deadline-driven"]
},
"collaboration": {
"collaborative": ["team player", "cross-functional", "collaborate", "pair programming"],
"independent": ["self-starter", "independent", "autonomous", "own initiatives"],
"leadership": ["lead", "mentor", "guide", "influence", "drive decisions"]
},
"innovation": {
"innovative": ["innovative", "cutting-edge", "pioneer", "breakthrough", "novel"],
"stable": ["stable", "proven", "established", "reliable", "mature"],
"scalable": ["scale", "growth", "expand", "multiply", "massive impact"]
},
"values": {
"customer_obsessed": ["customer obsessed", "customer first", "user-centric"],
"data_driven": ["data-driven", "analytics", "metrics", "experimentation"],
"ownership": ["ownership", "end-to-end", "responsibility", "accountability"],
"excellence": ["high standards", "excellence", "quality", "best practices"]
}
}
}
Culture match analysis
{
"culture_analysis": {
"company_culture_type": "Innovative & Fast-paced",
"key_culture_traits": [
"Data-driven decision making",
"Fast iteration and experimentation",
"Collaborative cross-functional work",
"High ownership and accountability"
],
"culture_indicators_found": [
{"trait": "fast-paced", "evidence": "fast-paced environment", "frequency": 3},
{"trait": "data-driven", "evidence": "data-driven approach", "frequency": 5},
{"trait": "collaborative", "evidence": "cross-functional teams", "frequency": 2}
],
"fit_assessment": {
"score": 85,
"strengths": ["匹配快速迭代环境", "有跨团队协作经验"],
"considerations": ["需要适应高压环境", "强调数据驱动决策"]
}
}
}
Salary range detection
Salary information extraction
Recognition patterns:
# 基础薪资
"(\$?\d{2,3}k?[-–to]\$?\d{2,3}k?)\s*(per year|annually|/year|annual)"
# 股票/股权
"(stock|equity|RSU|option|grant).*?(\$?\d{2,3}k?)"
# 奖金
"(bonus|signing|target).*?(\$?\d{1,2}k?|\d{1,2}%)"
# 总薪酬
"(total compensation|TC|OTE).*?(\$?\d{2,3}k?)"
Salary structure analysis:
{
"salary_analysis": {
"base_salary": {
"range": "$150,000 - $200,000",
"currency": "USD",
"period": "yearly",
"confidence": "high"
},
"equity": {
"mentioned": true,
"estimated_range": "$50,000 - $100,000/year",
"type": "RSU",
"vesting": "4 years"
},
"bonus": {
"mentioned": true,
"percentage": "20%",
"estimated_value": "$30,000 - $40,000"
},
"total_compensation": {
"estimated_range": "$230,000 - $340,000",
"breakdown": ["Base: $150k-$200k", "Bonus: $30k-$40k", "Equity: $50k-$100k"]
},
"market_comparison": {
"percentile": "75th",
"comparison": "Above market average"
}
}
}
Regional salary adjustment
{
"location_adjustments": {
"SF Bay Area": 1.0,
"New York": 0.95,
"Seattle": 0.90,
"Austin": 0.80,
"Remote (US)": 0.85,
"Beijing": 0.60,
"Shanghai": 0.62
}
}
Enhanced skill extraction patterns
AI/ML skill identification
{
"ai_ml_skills": {
"machine_learning": ["Machine Learning", "ML", "Deep Learning", "Neural Networks"],
"frameworks": ["TensorFlow", "PyTorch", "Keras", "Scikit-learn", "MXNet"],
"nlp": ["NLP", "Natural Language Processing", "Transformers", "BERT", "GPT"],
"computer_vision": ["Computer Vision", "CV", "Image Processing", "CNN"],
"mlops": ["MLOps", "ML Engineering", "Model Deployment", "Feature Engineering"]
}
}
Cloud platform skills
{
"cloud_skills": {
"aws": ["AWS", "Amazon Web Services", "EC2", "S3", "Lambda", "RDS", "DynamoDB"],
"gcp": ["GCP", "Google Cloud", "GKE", "BigQuery", "Cloud Functions"],
"azure": ["Azure", "Microsoft Azure", "AKS", "Azure Functions"],
"cloud_native": ["Kubernetes", "K8s", "Docker", "Helm", "Istio", "Service Mesh"]
}
}
Data skills
{
"data_skills": {
"databases": ["SQL", "NoSQL", "PostgreSQL", "MySQL", "MongoDB", "Redis", "Cassandra"],
"data_engineering": ["ETL", "Data Pipeline", "Spark", "Kafka", "Airflow", "Hadoop"],
"analytics": ["Data Analysis", "Analytics", "Visualization", "Tableau", "Power BI"],
"big_data": ["Big Data", "Distributed Computing", "Data Lakes", "Data Warehousing"]
}
}
Multilingual JD support
Language detection
{
"language_detection": {
"detected_language": "zh-CN",
"confidence": 0.95,
"supported_languages": ["en", "zh-CN", "zh-TW", "ja", "ko"],
"translation_needed": false
}
}
Bilingual JD processing
{
"bilingual_jd": {
"primary_language": "en",
"secondary_language": "zh-CN",
"merge_strategy": "primary_first",
"skill_extraction": {
"from_primary": true,
"from_secondary": true,
"merge_duplicates": true
}
}
}
Cross-language skill mapping
{
"skill_translation": {
"machine_learning": {
"en": "Machine Learning",
"zh": "机器学习",
"ja": "機械学習",
"ko": "기계 학습"
},
"distributed_systems": {
"en": "Distributed Systems",
"zh": "分布式系统",
"ja": "分散システム",
"ko": "분산 시스템"
}
}
}
Intelligent skill grouping
Related skill clustering
{
"skill_clusters": {
"backend_development": {
"skills": ["Python", "Java", "Go", "APIs", "Microservices"],
"weight": 2.0,
"priority": "high"
},
"data_processing": {
"skills": ["SQL", "ETL", "Kafka", "Spark"],
"weight": 1.5,
"priority": "medium"
},
"frontend": {
"skills": ["React", "JavaScript", "TypeScript", "HTML/CSS"],
"weight": 1.0,
"priority": "low"
}
}
}
Skill dependency analysis
{
"skill_dependencies": {
"Kubernetes": {
"prerequisites": ["Docker", "Linux", "Networking"],
"related": ["Helm", "Istio", "Prometheus"],
"advanced": ["Cloud Native", "Service Mesh"]
},
"Machine Learning": {
"prerequisites": ["Python", "Statistics", "Linear Algebra"],
"related": ["Deep Learning", "MLOps", "Data Engineering"],
"advanced": ["Neural Networks", "Computer Vision", "NLP"]
}
}
}
Implicit skill requirement identification
Infer skills based on responsibilities
{
"inferred_skills": {
"from_responsibility": "Design and build scalable web applications",
"inferred_skills": [
{"skill": "Web Development", "confidence": 0.95},
{"skill": "API Design", "confidence": 0.90},
{"skill": "Scalability", "confidence": 0.85},
{"skill": "Performance Optimization", "confidence": 0.80}
],
"reasoning": "Building scalable web apps requires these core skills"
}
}
Infer experience based on project scale
{
"scale_inference": {
"indicators": ["millions of users", "petabytes of data", "high QPS"],
"inferred_requirements": [
{"skill": "Distributed Systems", "importance": "critical"},
{"skill": "Scalability", "importance": "critical"},
{"skill": "Performance Tuning", "importance": "high"},
{"skill": "System Design", "importance": "high"}
]
}
}
Market demand analysis
Skill trend analysis
{
"market_analysis": {
"skill_demand": {
"Distributed Systems": {
"demand_level": "high",
"trend": "increasing",
"market_saturation": "low"
},
"Kubernetes": {
"demand_level": "very_high",
"trend": "stable",
"market_saturation": "medium"
}
},
"competitiveness": {
"score": 75,
"interpretation": "Moderately competitive position",
"recommendations": [
"Strengthen distributed systems fundamentals",
"Gain hands-on Kubernetes experience",
"Build system design portfolio"
]
}
}
}
Enhanced output formats
Complete JD analysis report
{
"jd_analysis_report": {
"metadata": {
"company": "Example Tech",
"position": "Senior Software Engineer",
"analysis_date": "2024-01-15T10:00:00Z",
"jd_language": "en",
"confidence_score": 0.92
},
"basic_info": {
"title": "Senior Software Engineer",
"level": "L4-L5",
"department": "Cloud Infrastructure",
"location": "Remote / SF",
"employment_type": "Full-time"
},
"culture_analysis": {
"culture_type": "Innovative & Data-driven",
"key_traits": ["Fast-paced", "Collaborative", "Customer-obsessed"],
"work_style": "Hybrid remote",
"team_size": "5-10 engineers"
},
"compensation": {
"base_salary": "$180k-$220k",
"equity": "$80k-$120k/year",
"bonus": "20% target",
"total_range": "$280k-$360k",
"market_position": "75th percentile"
},
"skills": {
"required": [
{"skill": "Python", "weight": 2.0, "proficiency": "advanced"},
{"skill": "Distributed Systems", "weight": 2.0, "proficiency": "advanced"},
{"skill": "Kubernetes", "weight": 2.0, "proficiency": "intermediate"}
],
"preferred": [
{"skill": "Go", "weight": 1.0, "proficiency": "intermediate"},
{"skill": "ML Engineering", "weight": 1.0, "proficiency": "intermediate"}
]
},
"skill_match_analysis": {
"overall_match": 85.5,
"matched_skills": 7,
"partial_match": 3,
"missing_skills": 2,
"gap_analysis": {
"critical_gaps": ["Kubernetes depth"],
"nice_to_have": ["Go proficiency"],
"recommendations": ["Take Kubernetes course", "Build Go side project"]
}
},
"readiness_assessment": {
"technical_readiness": 80,
"experience_match": 85,
"culture_fit": 90,
"overall_score": 85,
"ready_to_apply": true,
"prep_time_estimate": "2-3 weeks"
}
}
}
Analysis quality assurance
Verification checklist items:
- All key skills identified
- Salary information extracted (if present)
- Culture indicators analyzed
- Implicit skills inferred
- Match score calculated accurately
- Suggestions are actionable
- Multilingual support is correct
- Output format complies with Schema
Confidence score:
高置信度 (90%+): 清晰的技能描述,明确的要求
中置信度 (70-89%): 有一些歧义,需要推断
低置信度 (<70%): JD描述模糊,信息不完整