Files
ALL-teach_sys/frontend_化工/update_interview_questions_manual.py

141 lines
7.6 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
import json
import re
from datetime import datetime
print("开始手动更新面试题数据...")
# 定义所有岗位群的面试题
interview_questions = {
"化工安全": [
{
"id": "q1",
"question": "你在生产现场巡查时,发现一个储罐底部有微量液体渗漏,现场没有明确隔离带,也没有相应的紧急处理标识。请你当场该如何处理?",
"answer": "立即启动应急预案,首先隔离危险区并设立警戒区域;通知相关操作人员停止相关流程,关闭泄漏源;根据泄漏物性质,启动现场泄漏应急处置程序,如吸附剂、阻隔、通风、防火防爆措施;通报领导及安全环保部门,形成书面巡查和处置记录;后续配合技术部门分析原因,采取修复、更换或程序优化,并在全公司做案例分享与培训。"
},
{
"id": "q2",
"question": "假设你是一名化学品应急管理工程师,路上遇到一辆装苯罐车翻车泄露,你作为第一响应人会怎样处理?",
"answer": "初步保护与报告确定安全距离至少50m佩戴个人防护并拉警戒线向上级应急中心报告。泄漏处置与分析判断泄漏形式、风向、可燃蒸气扩散路径部署泄漏液回收和隔离沟渠。环境与人员疏散启动人员疏散预案检测空气苯浓度。后续处置联系专业抢修队伍堵漏配合监管部门落实通报机制。"
},
{
"id": "q3",
"question": "以下关于危化储罐气体泄漏探测器安装位置说法正确的是多选题A.储罐阀体绝缘侧下方0.5m即可安装探测器 B.应在储罐罐顶及阀门周围均布置可燃/有毒气体探测器 C.探测器仅需安装于转储区域入口处 D.探测器应与过程独立供电,并连入报警联锁系统",
"answer": "正确选项B、D"
}
],
"化工检验检测": [
{
"id": "q1",
"question": "请解释计量校准的基本概念,并简述其在工业生产中的重要性。",
"answer": "计量校准是通过比较标准测量设备与待校准设备的读数差异,来评估和调整待校准设备的精度。其在工业生产中至关重要,能够确保生产过程中的测量结果准确可靠,避免因测量误差导致的产品质量问题或设备故障。"
},
{
"id": "q2",
"question": "简述计量校准与测量溯源的关系。",
"answer": "测量溯源是指通过一系列的标准设备和校准程序,将测量结果追溯到国际标准。计量校准是确保测量溯源的基础,它通过校准过程验证设备的准确性,并确保所有测量符合国家或国际标准。"
},
{
"id": "q3",
"question": "在化工生产中,常见的校准设备有哪些?它们各自的应用场景是什么?",
"answer": "常见的校准设备包括温度计、压力表、流量计和PH计。温度计用于温度监测与控制压力表用于压力调节与控制流量计应用于液体或气体流量的精确计量PH计用于水质控制。"
}
],
"化妆品": [
{
"id": "q1",
"question": "请解释化妆品配方设计的基本原理,并说明功能性成分与载体体系之间的关系。",
"answer": "配方设计的基本原理是功能性、安全性与稳定性的平衡。功能成分决定产品功效,载体体系(如乳液体系、凝胶体系)决定成分的溶解、释放和肤感。二者必须匹配,避免成分失活或影响稳定性。"
},
{
"id": "q2",
"question": "化妆品配方中常见的乳化体系有哪几种?它们各自适用于什么场景?",
"answer": "主要有O/W水包油、W/O油包水和多重乳液体系。O/W适合清爽型乳液和啫喱W/O适合防晒和防水配方多重乳液用于高端抗衰老和控释体系。"
},
{
"id": "q3",
"question": "防晒剂常见的两大类是什么?请各举一个例子。",
"answer": "物理防晒剂(如二氧化钛)、化学防晒剂(如阿伏苯宗)。"
}
]
}
# 为其他岗位群添加通用面试题
other_groups = [
"化工贸易及供应链管理", "化工设备调试运维", "化工生产", "化工体系管理",
"化工仪表自动化", "化工质量管理", "化工自动化", "化学分析",
"精细化工", "农药", "涂料", "香精香料", "颜料染料", "医药中间体"
]
for group in other_groups:
interview_questions[group] = [
{
"id": "q1",
"question": f"请介绍一下你对{group}岗位的理解和认识。",
"answer": f"{group}是化工产业的重要领域,需要掌握相关的专业知识、技能和安全规范,确保生产过程的安全、高效和质量可控。"
},
{
"id": "q2",
"question": f"你为什么选择{group}这个职业方向?有什么优势?",
"answer": f"我对{group}领域有浓厚的兴趣,具备扎实的专业基础和实践经验,希望在这个领域深入发展,为企业创造价值。"
},
{
"id": "q3",
"question": f"{group}工作中,你认为最重要的素质是什么?",
"answer": "专业技能、安全意识、质量意识、团队协作和持续学习能力是最重要的素质。需要保持严谨的工作态度和责任心。"
}
]
# 读取现有文件
with open('src/mocks/resumeInterviewMock.js', 'r', encoding='utf-8') as f:
content = f.read()
# 备份文件
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
backup_file = f'src/mocks/resumeInterviewMock.js.backup_manual_{timestamp}'
with open(backup_file, 'w', encoding='utf-8') as f:
f.write(content)
print(f"已创建备份: {backup_file}")
# 更新每个岗位群的面试题
updated_count = 0
for job_group, questions in interview_questions.items():
# 构建subQuestions内容
sub_questions_str = json.dumps(questions, ensure_ascii=False, indent=8)
# 使用更精确的正则表达式
pattern = rf'("question"\s*:\s*"{re.escape(job_group)}岗位群面试题"\s*,\s*"subQuestions"\s*:\s*)\[\]'
replacement = rf'\1{sub_questions_str}'
new_content = re.sub(pattern, replacement, content)
if new_content != content:
content = new_content
updated_count += 1
print(f"✓ 已更新 {job_group}{len(questions)} 道面试题")
# 保存更新后的文件
if updated_count > 0:
with open('src/mocks/resumeInterviewMock.js', 'w', encoding='utf-8') as f:
f.write(content)
print(f"\n✅ 成功更新了 {updated_count} 个岗位群的面试题")
else:
print("\n⚠️ 没有找到匹配的岗位群,未进行更新")
# 验证语法
import subprocess
try:
result = subprocess.run(['node', '-c', 'src/mocks/resumeInterviewMock.js'],
capture_output=True, text=True, encoding='utf-8')
if result.returncode == 0:
print("✓ 语法检查通过")
else:
print(f"✗ 语法检查失败: {result.stderr}")
# 恢复备份
with open(backup_file, 'r', encoding='utf-8') as f:
backup_content = f.read()
with open('src/mocks/resumeInterviewMock.js', 'w', encoding='utf-8') as f:
f.write(backup_content)
print("已从备份恢复")
except Exception as e:
print(f"错误: {e}")