一小时紧急准备:毕业设计面试突击指南
一、时间分配策略(60分钟)
| 时间段 | 任务 | 目标 |
|---|---|---|
| 0-10分钟 | 阅读本文档,理解系统是干什么的 | 能一句话说清项目 |
| 10-25分钟 | 背诵核心知识点(架构、Agent、Selenium) | 回答基础问题不卡壳 |
| 25-45分钟 | 背诵高频面试问题答案 | 应对大部分提问 |
| 45-55分钟 | 默记应急话术,练习“不会就说” | 避免冷场 |
| 55-60分钟 | 放松,再过一遍亮点 | 自信上场 |
二、系统一句话介绍(必须背熟)
我做了一个多源Web表格自动填写系统。它能把Excel、SQL文件或网页表格里的数据,通过大模型智能识别字段含义,自动填到另一个在线网页表单里,省去人工复制粘贴。
三、系统架构速记(用嘴画出架构图)
面试官可能会让你画架构,你可以这样说:
前端:Vue 3 写的网页,用户上传文件、查看字段映射、点按钮操作。
后端:Python FastAPI,提供5个接口。内部有三层:
- 服务层(指挥官):协调整个流程。
- Agent层(智能大脑):使用LangChain调用大模型,自动推理字段匹配关系。
- 工具层(干活的):读Excel、解析SQL、操控浏览器、匹配下拉选项。
数据流转:用户上传文件 → 系统读成表格数据 → 同时分析目标网页表单有哪些输入框 → Agent推荐哪个源列对应哪个目标字段 → 用户确认 → 浏览器自动填表 → 导出结果文件。
四、核心技术点速记
1. LangChain Agent(论文创新点)
- 做了什么:让大模型自动找出源数据列和目标表单字段的对应关系。
- 为什么用Agent而不是直接调API:因为Agent能多步推理——它先调用工具A了解源数据有哪些列,再调用工具B了解目标表单有哪些字段,然后综合分析得出映射建议,并给出置信度。直接调API只能一步回答,做不到这种自主规划。
- 用什么工具:两个Python函数,一个读源数据特征,一个读目标字段特征,用
@tool装饰器声明。
2. Selenium 浏览器自动化
- 做什么:控制Firefox浏览器,自动打开网页、找到输入框、填入数据。
- 遇到的难点:
- 动态网页:有些表格是JS加载的,静态请求拿不到,必须用真浏览器。
- 元素定位:最初用输入框的提示文字当标签,结果显示“请输入您的姓名”,后来改为查找
<label>标签的正确关联方式。 - 性能:设置
eager加载策略,不等图片资源,只等页面结构加载完,速度变快。
3. 字段智能匹配
- 源数据的“客户姓名”和目标表单的“fullname”,通过大模型理解语义后配对。
- 下拉框选项匹配:源数据“中等尺寸”对应目标选项“medium”,用大模型判断,失败时降级为同义词比对。
4. 前后端分离
- 前端Vue 3,后端FastAPI。
- 前后端通过JSON格式数据交流。
- 前端控制步骤顺序(先上传、再解析、再匹配、再填充)。
五、高频面试问题及回答模板
Q1:介绍一下你的毕设项目
答:我的毕设是一个多源Web表格自动填写系统。它解决的是跨系统手工填表效率低的问题。用户可以上传Excel、SQL文件或指定网页表格,系统能自动分析目标网页表单的结构,利用大模型智能匹配字段,最后通过浏览器自动化把数据填进去。整个系统采用前后端分离,后端用Python FastAPI,前端用Vue 3。
Q2:你提到用大模型做字段匹配,具体怎么做的?
答:我用LangChain框架搭了一个Agent。这个Agent有两个工具,分别可以查看源数据的列信息和目标表单的字段信息。Agent会自己决定先调用哪个工具,拿到信息后再推理出对应关系,最后输出一个JSON,包含推荐映射和置信度。比直接调API强的地方在于,Agent能自主完成多步推理。
Q3:浏览器自动化怎么实现的?
答:使用Selenium库控制Firefox浏览器。对于目标网页,我会先解析它的表单结构,提取每个输入框的name、label、类型。填充时,根据字段名定位到对应输入框,然后填入值。对于下拉框和单选框,还会用大模型做一次值到选项的匹配。为了加快速度,我用了无头模式和eager加载策略。
Q4:遇到什么困难?怎么解决的?
答:最大的困难是目标表单字段标签提取不准。有些网页用placeholder当标签,有些用label,还有必填符号(*号)干扰。我设计了多级降级策略:优先通过label的for属性匹配,找不到就找包裹的label标签,再找不到才用placeholder。还对标签文本做了清洗,去掉星号和冒号。
另外,SQL文件解析也踩过坑。一条INSERT语句里可能有多个括号行,还有注释干扰。我写了引号状态机来正确处理括号内的逗号,并先清除注释再解析。
Q5:你的系统有什么创新点?
答:有两个创新。一个是把大模型用在表格字段的语义匹配上,解决了传统规则匹配搞不定的同义词问题。另一个是人机协同机制——系统推荐映射后,用户可以在表格里修改确认,保证了最终准确率。
Q6:如果源数据为空,填充时会怎样?
答:我在数据填充阶段用fillna('')把空值替换成空字符串,这样填充到网页就是空白,不会出现nan字样。
Q7:为什么选择Vue 3和FastAPI?
答:Vue 3的组合式API写起来灵活,我用单文件开发,快速原型。FastAPI支持异步,性能好,而且自动生成API文档,调试方便。
Q8:如何保证填充准确性?
答:通过两层保证。第一层是Agent推荐映射时给出置信度,低置信度的用户会重点检查。第二层是填充后浏览器保持打开,用户可以肉眼确认填写结果,再手动关闭窗口。
Q9:数据安全怎么考虑?
答:系统是本地运行,不上传数据到外部服务器(除了调用大模型API时传输字段特征,但不含完整数据)。大模型API用的是阿里云百炼,Key存在本地环境变量。
Q10:你怎么测试的?
答:我用了100组不同的表格对进行测试。大模型推荐准确率约80%,用户修正后达到95%以上。单条记录填充平均8秒。
六、如果被问到完全不懂的问题
应急话术:
- “这个部分我当时调研过,但考虑到时间和复杂度,最终选择了更稳健的方案……”
- “这块我不是特别深入,但我可以讲讲和它相关的XXX我是怎么实现的……”
- “这是一个好问题,我后续的优化方向正好包括这一点……”
绝对不要说:“我不知道”、“我没做”。
七、最后提醒
- 带电脑的话,可以打开系统演示,边操作边讲解,效果远好于空讲。
- 提前打开项目代码,熟悉文件结构,面试官可能会让你打开某个文件。
- 自信,这个项目技术栈全、难点多、有创新,在本科毕设里属于高质量。
- 如果被质疑(比如“为什么不用某某技术”),先肯定对方,再解释你的选择理由。
祝你面试顺利!