141 lines
7.6 KiB
Python
141 lines
7.6 KiB
Python
|
|
#!/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}")
|