Files
online_sys/frontend_大健康/reorganize_interview_questions.py
KQL a7242f0c69 Initial commit: 教务系统在线平台
- 包含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>
2025-12-12 18:16:55 +08:00

253 lines
14 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
重组面试题数据结构
将面试题从position级别移动到industry级别按照参考项目的数据结构
"""
import json
import re
from datetime import datetime
def reorganize_interview_questions():
"""重组面试题数据结构"""
try:
# 读取当前文件
with open('src/mocks/resumeInterviewMock.js', 'r', encoding='utf-8') as f:
content = f.read()
# 创建备份
backup_filename = f'src/mocks/resumeInterviewMock.js.backup_{datetime.now().strftime("%Y%m%d_%H%M%S")}'
with open(backup_filename, 'w', encoding='utf-8') as f:
f.write(content)
print(f"已创建备份文件: {backup_filename}")
# 提取各个industry的面试题数据
industry_questions = {}
# 解析每个岗位的面试题
position_pattern = r'"title": "([^"]+)"[^}]+?"questions": \[([^\]]+?(?:\].*?\{[^}]*?\})*)\]'
# 先从已有数据中收集面试题(按岗位类别分组)
health_management_questions = []
health_check_questions = []
rehabilitation_questions = []
medical_beauty_questions = []
operation_questions = []
psychology_questions = []
supply_chain_questions = []
pharmaceutical_questions = []
testing_questions = []
clinical_research_questions = []
# 手动从我们之前更新的数据中提取各类别的代表性面试题
# 健康管理类 - 8个问题
health_management_questions = [
{
"id": "q1",
"question": "你认为健康顾问和传统医生的区别是什么?",
"answer": "医生主要负责疾病诊疗,而健康顾问更多聚焦于疾病预防和健康促进。健康顾问通过营养、运动、心理等多维度干预,帮助客户建立良好的生活习惯,与医生形成互补关系,共同提升客户健康水平。"
},
{
"id": "q2",
"question": "健康管理中最具挑战性的部分是什么?",
"answer": "最大的挑战是客户的依从性。很多客户虽然知道健康的重要性,但难以坚持。我会通过阶段性目标、数据化追踪和正向反馈来增强客户信心,提高健康干预的执行力。"
},
{
"id": "q3",
"question": "如果客户长期忽视健康管理建议,你会怎么办?",
"answer": "我会先分析原因,可能是方案过于复杂、目标过高或缺乏动力。我会调整为更小、更容易实现的目标,比如\"每天走5000步\"而不是\"立即跑10公里\"。同时,通过定期沟通和数据反馈,让客户看到小进步,逐步增强信心。"
},
{
"id": "q4",
"question": "在团队项目中,你曾如何参与健康管理活动?",
"answer": "我曾参与企业年度健康体检后的健康干预项目负责数据分析与健康讲座。我为员工设计了分层次健康方案高风险人群重点干预普通人群以健康教育为主。通过团队协作整体员工健康风险指标下降了10%"
},
{
"id": "q5",
"question": "你如何与客户建立长期的信任关系?",
"answer": "首先要保持专业性,提供科学、可靠的建议;其次要关注客户的真实需求,而不仅是疾病预防;再次要保持持续沟通,如通过电话、线上平台定期跟踪。让客户感受到被重视和陪伴,是建立信任的关键。"
},
{
"id": "q6",
"question": "如果客户对健康管理效果不满意,你会如何改进?",
"answer": "我会认真复盘方案是否切实可行,并征询客户对干预措施的感受。在此基础上优化方案,比如调整饮食计划的可操作性,或增加客户更喜欢的运动方式。通过客户反馈不断迭代,确保方案更贴合实际。"
},
{
"id": "q7",
"question": "如何在市场竞争中突出个人价值?",
"answer": "我会持续学习最新健康管理知识,关注营养学、运动科学和心理学交叉领域;同时注重数据化管理能力,例如使用智能穿戴设备和健康平台追踪客户指标。这样不仅提升专业性,还能提供差异化服务。"
},
{
"id": "q8",
"question": "你认为未来健康管理的发展趋势是什么?",
"answer": "未来趋势包括数字化健康管理AI、大数据分析、个性化健康干预基因检测+精准营养)、企业健康管理(职场人群定制化方案),以及\"医疗+健康管理\"一体化模式。随着人口老龄化和慢病高发,健康管理的需求将持续上升。"
}
]
# 健康检查类 - 6个问题
health_check_questions = [
{
"id": "q1",
"question": "常见的健康检查项目有哪些?",
"answer": "包括基础检查身高、体重、血压、心率、实验室检测血常规、肝肾功能、血脂血糖、影像学检查X光、彩超、CT/MRI、心电图检查、癌症筛查肿瘤标志物、低剂量螺旋CT、以及女性乳腺/宫颈筛查、男性前列腺检查等。不同人群可根据年龄和风险因素选择不同项目。"
},
{
"id": "q2",
"question": "为什么说健康检查应因人而异?",
"answer": "因为健康风险与性别、年龄、职业、遗传背景和生活方式密切相关。例如,年轻人更需关注代谢异常和传染病筛查,中老年人则更需重视心血管疾病和肿瘤筛查。因人制宜的体检方案能提高检查的针对性和有效性,避免资源浪费。"
},
{
"id": "q3",
"question": "健康检查的标准流程是怎样的?",
"answer": "流程包括:前期问诊(收集病史、生活习惯)、基础测量(身高、体重、血压)、实验室检测、影像学检查、功能学检查(心电图、肺功能)、专科检查(如妇科、眼科),最后由医生进行汇总解读,形成健康评估报告和干预建议。"
},
{
"id": "q4",
"question": "如何保证健康检查过程的规范性和安全性?",
"answer": "需严格执行SOP标准操作规程确保采血、影像等环节符合无菌与辐射防护要求对特殊人群孕妇、儿童、老年人制定差异化流程使用信息化系统进行全流程追踪避免漏检、错检并通过双人复核机制减少差错。"
},
{
"id": "q5",
"question": "健康检查结果如何进行风险分层?",
"answer": "可以按照 正常 / 临界 / 异常 三层分级。正常结果只需常规随访;临界值结果如血压 135/85 mmHg需要定期复查和生活干预异常结果如糖化血红蛋白 >6.5% 则需转诊进一步确诊。风险分层有助于实现 分级管理、精准干预。"
},
{
"id": "q6",
"question": "为什么健康检查需要建立个人健康档案?",
"answer": "健康档案可以追踪长期健康变化趋势,便于医生分析慢病发展过程。例如连续五年的血糖数据可显示糖尿病前期的进展趋势。它还能作为转诊医院的参考资料,避免重复检查,提高医疗资源利用率。"
}
]
# 康复治疗类 - 5个问题
rehabilitation_questions = [
{
"id": "q1",
"question": "康复治疗的核心理念是什么?",
"answer": "康复治疗的核心理念是通过系统化、个性化的康复训练,最大程度地恢复或改善患者的功能障碍,提高生活质量和社会参与度。它强调功能导向而非疾病导向,注重患者的整体康复而非单一症状的治疗。"
},
{
"id": "q2",
"question": "康复评估包括哪些主要内容?",
"answer": "康复评估主要包括功能性评估运动功能、认知功能、言语功能、生活质量评估、疼痛评估、平衡协调评估、肌力肌张力检测等。通过标准化评估工具如FIM、Berg平衡量表等为制定个性化康复方案提供科学依据。"
},
{
"id": "q3",
"question": "制定康复计划时需要考虑哪些因素?",
"answer": "需要综合考虑患者的疾病类型、功能障碍程度、年龄体质、既往病史、心理状态、家庭支持、经济条件等因素。康复目标应该具体、可测量、可实现,并根据康复进展动态调整方案。"
},
{
"id": "q4",
"question": "康复治疗中如何处理患者的依从性问题?",
"answer": "首先要建立良好的治疗关系,充分解释康复的重要性和预期效果;设置阶段性小目标,让患者看到进步;根据患者兴趣和能力调整训练方式;家属参与和支持;定期反馈和鼓励,增强患者信心。"
},
{
"id": "q5",
"question": "康复团队通常包括哪些专业人员?",
"answer": "康复团队通常包括康复医师、物理治疗师、作业治疗师、言语治疗师、心理治疗师、康复护士、社会工作者等。各专业协作,为患者提供全方位的康复服务,确保康复效果最大化。"
}
]
# 构建新的数据结构
new_industries = [
{
"id": "health_1",
"name": "健康管理",
"questions": health_management_questions
},
{
"id": "health_2",
"name": "健康检查",
"questions": health_check_questions
},
{
"id": "health_3",
"name": "康复治疗",
"questions": rehabilitation_questions
},
{
"id": "health_4",
"name": "医疗美容",
"questions": [
{
"id": "q1",
"question": "医疗美容与传统美容的主要区别是什么?",
"answer": "医疗美容是在医疗机构中,由具备医疗资质的医师进行的美容治疗,具有医疗性质;而传统美容主要是非医疗性的护理保养。医疗美容涉及医疗器械和药品使用,风险更高,但效果也更明显。"
},
{
"id": "q2",
"question": "医美咨询师的主要职责是什么?",
"answer": "主要负责客户接待咨询、需求分析、项目介绍、风险告知、术前术后沟通、客户关系维护等。需要专业的医美知识,良好的沟通技巧,以及高度的责任心和职业道德。"
}
]
},
{
"id": "health_5",
"name": "运营管理",
"questions": [
{
"id": "q1",
"question": "新媒体运营的核心指标有哪些?",
"answer": "主要包括曝光量、点击率、互动率、转化率、粉丝增长率、用户活跃度等。需要根据不同平台特点和运营目标制定相应的KPI体系通过数据分析优化运营策略。"
},
{
"id": "q2",
"question": "如何制定有效的品牌运营策略?",
"answer": "首先要明确品牌定位和目标用户;分析竞争对手和市场环境;制定差异化的内容策略和传播策略;选择合适的媒体渠道;建立完善的监测和评估体系;持续优化和调整策略。"
}
]
}
]
# 移除所有position中的questions字段并在industry级别添加questions
updated_content = content
# 首先移除所有position级别的questions字段
updated_content = re.sub(
r',?\s*"questions": \[[^\]]*?\](?:\s*,)*',
'',
updated_content,
flags=re.DOTALL
)
# 在每个industry的positions数组后添加questions字段
# 为健康管理行业添加面试题
updated_content = re.sub(
r'("name": "健康管理",[^}]*?"positions": \[[^\]]*?\]\s*)',
r'\1,\n "questions": ' + json.dumps(health_management_questions, ensure_ascii=False, indent=8).replace('\n', '\n '),
updated_content,
flags=re.DOTALL
)
# 为健康检查行业添加面试题
updated_content = re.sub(
r'("name": "健康检查",[^}]*?"positions": \[[^\]]*?\]\s*)',
r'\1,\n "questions": ' + json.dumps(health_check_questions, ensure_ascii=False, indent=8).replace('\n', '\n '),
updated_content,
flags=re.DOTALL
)
# 为康复治疗行业添加面试题
updated_content = re.sub(
r'("name": "康复治疗",[^}]*?"positions": \[[^\]]*?\]\s*)',
r'\1,\n "questions": ' + json.dumps(rehabilitation_questions, ensure_ascii=False, indent=8).replace('\n', '\n '),
updated_content,
flags=re.DOTALL
)
# 写回文件
with open('src/mocks/resumeInterviewMock.js', 'w', encoding='utf-8') as f:
f.write(updated_content)
print("面试题数据结构重组完成!")
print("已将面试题从position级别移动到industry级别")
return True
except Exception as e:
print(f"重组失败: {e}")
import traceback
traceback.print_exc()
return False
if __name__ == "__main__":
reorganize_interview_questions()