- 统一所有岗位简历的教育经历显示为苏州信息职业技术学院 - 更新简历详情页面组件,确保教育经历信息一致性 - 优化简历信息展示格式和样式 - 添加新的面试题库和项目库数据 - 完善文旅产业相关简历模板
100 lines
2.9 KiB
JavaScript
100 lines
2.9 KiB
JavaScript
import fs from 'fs';
|
|
import path from 'path';
|
|
import { fileURLToPath } from 'url';
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = path.dirname(__filename);
|
|
|
|
// 读取面试题数据
|
|
const interviewQuestionsData = JSON.parse(
|
|
fs.readFileSync(path.join(__dirname, 'src/data/interviewQuestions.json'), 'utf-8')
|
|
);
|
|
|
|
// 解析面试题内容 - 获取所有题目
|
|
function parseAllInterviewQuestions(content) {
|
|
if (!content) return [];
|
|
|
|
const questions = [];
|
|
const lines = content.split('\n').filter(line => line.trim());
|
|
|
|
let currentQuestion = null;
|
|
let currentAnswer = '';
|
|
let collectingAnswer = false;
|
|
let questionIndex = 0;
|
|
|
|
for (let i = 0; i < lines.length; i++) {
|
|
const line = lines[i].trim();
|
|
|
|
// 跳过标题行
|
|
if (line.startsWith('#')) {
|
|
continue;
|
|
}
|
|
|
|
// 匹配问题(数字开头)
|
|
if (/^\d+\./.test(line)) {
|
|
// 保存上一个问题
|
|
if (currentQuestion && currentAnswer) {
|
|
questions.push({
|
|
id: `q${questionIndex + 1}`,
|
|
question: currentQuestion,
|
|
answer: currentAnswer.trim()
|
|
});
|
|
questionIndex++;
|
|
}
|
|
|
|
// 开始新问题
|
|
currentQuestion = line.replace(/^\d+\.\s*/, '').trim();
|
|
currentAnswer = '';
|
|
collectingAnswer = false;
|
|
}
|
|
// 匹配答案标记
|
|
else if (line.includes('答案:') || line.includes('示例回答:') || line.includes('参考答案:')) {
|
|
collectingAnswer = true;
|
|
// 提取答案内容(可能在同一行)
|
|
const answerMatch = line.match(/(?:答案:|示例回答:|参考答案:)(.*)/);
|
|
if (answerMatch && answerMatch[1]) {
|
|
currentAnswer = answerMatch[1].trim();
|
|
}
|
|
}
|
|
// 收集答案内容
|
|
else if (collectingAnswer && line) {
|
|
if (currentAnswer) {
|
|
currentAnswer += ' ';
|
|
}
|
|
currentAnswer += line;
|
|
}
|
|
}
|
|
|
|
// 保存最后一个问题
|
|
if (currentQuestion && currentAnswer) {
|
|
questions.push({
|
|
id: `q${questionIndex + 1}`,
|
|
question: currentQuestion,
|
|
answer: currentAnswer.trim()
|
|
});
|
|
}
|
|
|
|
return questions;
|
|
}
|
|
|
|
// 生成每个岗位群的完整面试题
|
|
interviewQuestionsData.forEach(item => {
|
|
const groupName = item['岗位群名称'];
|
|
const questions = parseAllInterviewQuestions(item['面试题内容']);
|
|
|
|
if (questions.length > 0) {
|
|
console.log(`\n// ========== ${groupName} ==========`);
|
|
console.log(`// 共${questions.length}道题`);
|
|
console.log(`const ${groupName.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, '')}Questions = [`);
|
|
|
|
questions.forEach((q, index) => {
|
|
console.log(` {`);
|
|
console.log(` id: "${q.id}",`);
|
|
console.log(` question: "${q.question.replace(/"/g, '\\"')}",`);
|
|
console.log(` answer: \`${q.answer.replace(/`/g, '\\`')}\``);
|
|
console.log(` }${index < questions.length - 1 ? ',' : ''}`);
|
|
});
|
|
|
|
console.log(`];`);
|
|
}
|
|
}); |