这次参加飞算 JavaAI 炫技赛,我给自己定的题目是“招聘面试协作”。我没有做大而全的人力资源系统,而是盯住招聘里最容易反复确认的一段流程:候选人排期、面试反馈和后续推进。
下面记录这次参赛从选题、需求梳理到生成作品的过程,以及最终做出来的候选人协作看板。
一、选题:面试排期,最怕信息不同步
前段时间帮团队补招人,真正麻烦的不是发布职位,而是排期和跟进。招聘同事维护一张表,面试官在群里回复可约时间;候选人临时改期后,又得逐个同步。要是有一场面试的反馈没及时补上,后面的录用判断也会卡住。
我想解决的是这件具体的小事:把候选人的进度、面试安排和反馈放到同一个页面里。负责人打开工作台能看到每个职位招到哪一步,招聘专员也能马上知道当天还要确认哪些面试。
二、先把招聘流程说清楚
动手前,我先把候选人的路径定成六个状态:简历入池、初筛通过、待面试、面试完成、待定、已录用。
招聘专员维护候选人资料和面试时间;面试官查看自己的日程、填写评价;部门负责人看漏斗和待审批候选人。这样拆下来,页面需要解决的问题就清楚了:看板负责看进度,日历负责看排期,评价页负责沉淀判断依据。
工作台没有继续沿用大表格,而是把各职位的候选人数做成横向漏斗。右侧放当天需要处理的事:待确认的面试、超过 24 小时还没填的评价,以及等待负责人审批的候选人。
三、参赛时,我先用智能引导把关系理出来
确定题目后,我选了飞算 JavaAI 的“智能引导”开始搭建。需求里重点写明:这是一个招聘面试协作 Web 平台,招聘团队直接维护候选人和面试数据。
整个过程按需求输入、需求确认、接口设计、表结构设计、代码计划和源码生成推进。我没有一开始就要求生成一堆页面,而是先让它把职位、候选人、面试安排和评价之间的关系梳理出来。流程先跑通,后面的页面才不会各做各的。
第一步:输入项目需求
我输入的需求是:
![![Image Placeholder - 图片占位符]](https://www.171host.com/wp-content/uploads/2026/09/20260917004959-6aab39375a06e.png)
第二步:确认需求理解
智能引导把需求拆成了角色和功能清单。我确认了招聘专员、面试官、部门负责人这三个角色,以及各自需要进入的页面。
![![Image Placeholder - 图片占位符]](https://www.171host.com/wp-content/uploads/2026/09/20260917005000-6aab393812715.png)
第三步:设计接口与数据模型
这一轮先明确候选人、面试、职位和评价这些核心对象,再把对应 API 列出来。对我来说,这一步的价值是提前确认数据怎么关联,避免页面完成后才发现状态缺了衔接。
![![Image Placeholder - 图片占位符]](https://www.171host.com/wp-content/uploads/2026/09/20260917005000-6aab3938a1053.png)
第四步:生成表结构
数据模型确认后,工具生成了候选人、面试安排、评价和职位的 MySQL 表结构。字段和关联关系都能直接检查。
![![Image Placeholder - 图片占位符]](https://www.171host.com/wp-content/uploads/2026/09/20260917005001-6aab3939953ca.png)
第五步:生成代码计划
代码计划按页面组件、路由、Store 状态管理和数据层分组。我先看模块边界,再进入生成阶段,后续调整也更有抓手。
![![Image Placeholder - 图片占位符]](https://www.171host.com/wp-content/uploads/2026/09/20260917005002-6aab393a55109.png)
第六步:生成完整源码
确认计划后,飞算 JavaAI 生成了工作台、候选人看板、面试日历和评价页等前端代码,并补上了样式和基础交互。
![![Image Placeholder - 图片占位符]](https://www.171host.com/wp-content/uploads/2026/09/20260917005002-6aab393aef9c6.png)
四、技术栈不是堆名词:它们分别负责什么
这套方案中,我按职责选择组件,而不是为了展示技术名词而堆叠:
-
Spring Boot:作为后端业务服务的基础框架,承载职位管理、候选人流转、面试排期以及评价等核心业务逻辑的 API 提供;
-
MySQL:持久化核心数据,包括职位、候选人信息、面试日程、面试反馈等关系型数据;
-
MyBatis-Plus:作为持久层框架简化常规 CRUD 操作,配合 AI 生成的 Mapper 快速对接数据库;
-
Redis:缓存热点数据(如“今日待办”面板数据、常选配置项等),减少数据库高频查询的压力;
-
Vue 3 + TypeScript:前端核心框架,配合强类型支持,保障看板多交互逻辑下的前端代码清晰与稳健;
-
Pinia:状态管理中心,负责在“职位看板”、“面试日历”和“面试反馈”等多个组件之间共享并实时同步候选人的状态变化;
-
**Vue **Router:提供路由管理与守卫,控制招聘专员、面试官与部门负责人不同角色的页面访问权限;
-
**Element Plus + Tailwind **CSS:提供精美的日历、时间线、可拖拽看板组件以及现代化的响应式布局样式;
-
Vite:作为构建打包工具,带来极速的本地开发启动和秒级热更新。
实际开发中,AI 生成的工程只是起点。依赖版本、配置地址、接口返回值格式、表字段关联以及异常分支,依然需要开发者根据实际业务逻辑进行确认与微调。
五、参赛作品做出来后,几个真正能用上的页面
![Image Placeholder – 图片占位符]
登录后先进入工作台。顶部放候选人总数、在招职位和今日面试三个指标;中间是各阶段人数和招聘漏斗;右侧则是“今日待办事项”,比如待确认面试、超 24 小时未填的评价等。这里的核心定位是团队的“协作指令枪”,直接帮专员和面试官把容易遗漏的动作摆在眼前,避免了去繁琐的表格中反复筛选。
职位管理和候选人看板

职位管理页汇总在招职位的编制数、已录用数和各阶段候选人分布。点开一个职位,就能继续看这个职位下的候选人。

候选人看板按六个阶段分列。每张卡片保留姓名、应聘职位和下一步动作,招聘专员可以通过拖拽调整阶段。把“下一步做什么”写在卡片上,不仅是为了让看板不只停留在展示状态,更是在驱动招聘职责链的交接。专员通过看板一眼就能知道当下谁该去接棒,让协作真正流动起来。
面试日历和评价
![![Image Placeholder - 图片占位符]](https://www.171host.com/wp-content/uploads/2026/09/20260917005004-6aab393ce5ca5.png)
面试日历按时间段排布日程,每个色块对应一场面试。点开色块会从右侧滑出候选人和面试详情,排期时可以快速核对时间、地点和面试官。
![![Image Placeholder - 图片占位符]](https://www.171host.com/wp-content/uploads/2026/09/20260917005005-6aab393d9a8ad.png)
评价页把优点、风险、建议岗位和是否进入下一轮放在一处。顶部增加候选人经历时间线,让面试官先看到候选人走过的流程,再看评价内容。
![![Image Placeholder - 图片占位符]](https://www.171host.com/wp-content/uploads/2026/09/20260917005006-6aab393e3e26a.png)
多位面试官的评价被放到了反馈面板中进行横向比对。这是为了解决“线下微信沟通或口头确认”带来的信息孤岛与决策卡点,在推进下一轮前,让团队在一页纸内看清分歧与共识,加快决策效率。
人才库、Offer 和数据分析
![![Image Placeholder - 图片占位符]](https://www.171host.com/wp-content/uploads/2026/09/20260917005006-6aab393ed6005.png)
没有继续推进的候选人,或因其他原因暂停流程的人,可以沉淀到人才库。这里支持按技能、职位和来源搜索,需要时再移回招聘管道。
![![Image Placeholder - 图片占位符]](https://www.171host.com/wp-content/uploads/2026/09/20260917005007-6aab393fc280d.png)
Offer 页追踪审批、发送、接受和入职;入职清单把背景调查、合同签署、设备领用这些事项拆开,方便明确负责人和完成状态。
![![Image Placeholder - 图片占位符]](https://www.171host.com/wp-content/uploads/2026/09/20260917005008-6aab394094ef3.png)
数据分析页集中看候选人总数、录用率、平均招聘周期、渠道效果和面试官工作量,用于回看招聘过程中的问题。
** 六、这次参赛让我改掉了一个习惯**
以前我会先做候选人表,再补面试表,最后才意识到两张表之间少了明确的状态衔接。这次先把流程拆开,把每个阶段的下一步动作写清楚:初筛后安排面试,面试后填写评价,评价通过后再进入审批。
这次参赛完成的招聘协作项目已经接进团队流程。它没有试图替代完整的招聘系统,重点是把最容易遗漏的动作摆到眼前。先把流程做成大家看得懂、用得上的页面,再继续完善后端和数据细节,这比一开始就陷进表结构里更适合这个项目。
我的另一层体会是,飞算 JavaAI 这类智能工具,最核心的价值是帮我们免去从空目录建工程、配依赖、写基础 CRUD 的“冷启动”机械劳作。它给出了逻辑清晰的骨架,但项目要真正落地,接口返回值的精细微调、状态边界的防错拦截以及真实数据的测试,依然需要我们程序员去把控。AI 提供了骨架,但注入灵魂和对业务精益求精把控的,依然是开发者自己。
七、参赛记录与活动入口
本次「飞算 JavaAI 炫技赛」活动时间为 2026 年 7 月 10 日至 7 月 27 日,设有「晒一晒」和「讲一讲」两类创作赛道,欢迎感兴趣的 Java 开发者一起交流分享。
#飞算JavaAI炫技赛 #AI编程 #Java开发 #SpringBoot #Vue3 #招聘协同 #看板系统 #程序员日常 #技术分享






