- 包含4个产业方向的前端项目:智能开发、智能制造、大健康、财经商贸 - 已清理node_modules、.yoyo等大文件,项目大小从2.6GB优化至631MB - 配置完善的.gitignore文件 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
79 lines
2.8 KiB
Python
79 lines
2.8 KiB
Python
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
import json
|
||
import re
|
||
|
||
print("=== 分析智能制造岗位简历.json 中的面试题内容 ===\n")
|
||
|
||
# 读取智能制造岗位简历数据
|
||
with open('网页未导入数据/智能制造产业/智能制造岗位简历.json', 'r', encoding='utf-8') as f:
|
||
smart_mfg_data = json.load(f)
|
||
|
||
# 分析每个岗位群的面试题
|
||
interview_map = {}
|
||
|
||
for item in smart_mfg_data:
|
||
job_group = item.get('简历岗位群', '')
|
||
position = item.get('岗位名称', '')
|
||
interview_type = item.get('面试题', '')
|
||
interview_content = item.get('面试题内容', '')
|
||
|
||
if job_group and interview_content:
|
||
if job_group not in interview_map:
|
||
interview_map[job_group] = {
|
||
'type': interview_type,
|
||
'positions': [],
|
||
'sections': [],
|
||
'total_questions': 0
|
||
}
|
||
|
||
interview_map[job_group]['positions'].append(position)
|
||
|
||
# 解析面试题内容
|
||
lines = interview_content.split('\n')
|
||
current_section = None
|
||
question_count = 0
|
||
|
||
for line in lines:
|
||
line = line.strip()
|
||
if not line:
|
||
continue
|
||
|
||
# 大标题(如 # 一、xxx)
|
||
if line.startswith('# '):
|
||
section_title = line[2:].strip()
|
||
if section_title and section_title not in interview_map[job_group]['sections']:
|
||
interview_map[job_group]['sections'].append(section_title)
|
||
current_section = section_title
|
||
|
||
# 问题编号(如 1. xxx)
|
||
elif re.match(r'^\d+\.\s+', line):
|
||
question_count += 1
|
||
|
||
interview_map[job_group]['total_questions'] = max(
|
||
interview_map[job_group]['total_questions'],
|
||
question_count
|
||
)
|
||
|
||
# 打印分析结果
|
||
for group, data in sorted(interview_map.items()):
|
||
print(f"{group} ({data['type']}):")
|
||
print(f" 包含岗位: {', '.join(set(data['positions']))}")
|
||
print(f" 面试题章节: {len(data['sections'])} 个")
|
||
for section in data['sections']:
|
||
print(f" - {section}")
|
||
print(f" 总题目数: {data['total_questions']} 道\n")
|
||
|
||
# 检查一个具体例子
|
||
print("\n=== 示例:PLC类岗位面试题详细内容 ===\n")
|
||
for item in smart_mfg_data:
|
||
if item.get('简历岗位群') == 'PLC' and item.get('岗位名称') == 'PLC编程工程师':
|
||
content = item.get('面试题内容', '')
|
||
# 提取所有问题
|
||
questions = re.findall(r'(\d+\.\s+[^\n]+)', content)
|
||
print(f"找到 {len(questions)} 个问题:")
|
||
for i, q in enumerate(questions[:10], 1): # 只显示前10个
|
||
print(f" {q[:80]}..." if len(q) > 80 else f" {q}")
|
||
if len(questions) > 10:
|
||
print(f" ... 还有 {len(questions) - 10} 个问题")
|
||
break |