Testlify 是一个技能测评与面试平台。在其面向招聘方的测试构建器中,我构建了用于编写三种 AI 驱动题型(语音、视频和聊天模拟)的界面,招聘方用它来配置自动化的候选人测评:录制时长限制、AI 提示词设置、能力评分,以及文本转语音的音色选择。
我做了什么
- 语音 AI 题目编写: 在测试构建器中构建了配置语音类 AI 面试题目的界面,包括录制限制、AI 提示词设置和能力评分。
- 题目构建器集成: 把语音、视频和聊天模拟题型集成进招聘方的测评构建流程。
- 样式与工具链: 为语音/聊天题目界面贡献了组件样式,并参与了仓库工具链的搭建(ESLint、Husky、Renovate、Tailwind 配置)。
为什么它有意义
语音、视频和聊天类 AI 题目是招聘方配置 Testlify 自动化面试测评的方式。这项工作让这些题型在 Testlify 整个产品套件所共用的设计系统内,做到了既可配置又保持一致。
一份小贡献,置身于一个庞大的代码库
这个仓库是 Testlify 的招聘方/管理后台:16,216 次提交,几十位贡献者,自 2021 年 9 月运行至今。我自己的提交有 86 次,大约占其中的半个百分点,跨度大约一年半。这其中大部分提交都落在一个 component-library git 子模块里,也就是已经作为独立案例研究介绍过的那个共享 Vue 设计系统;在这个子模块之外,真正的工作集中在一小组文件上:语音题目弹窗、把题型接入构建器的面试题目视图,以及围绕它们的样式和工具链。
“多模态 AI 面试”在这里到底意味着什么
这个应用是产品面向招聘方的一侧:招聘方在这里配置一个 AI 驱动的题目实际会问什么,而不是候选人实时作答的地方。语音、视频和聊天模拟是招聘方在测试构建器里设置的题目类型,每一种都有自己的录制时长限制、AI 提示词、能力评分标准,以及(对语音而言)文本转语音音色的选择。让这些配置好的题目真正上线、供候选人作答的面试体验,运行在 Testlify 技术栈里另一个独立的应用中。
数据模型与规模
- 4 年多时间里累计 16,216 次提交,其中提交最多的一位贡献者单人就贡献了超过 1,800 次,这是一个真正大规模、长期运行的团队代码库,而不是一个小项目。
- 共享组件库以 git 子模块的形式被引用,而不是复制粘贴或 fork 出来的,这让这个应用与 Testlify 其他三个产品保持在同一个有版本管理的设计系统上。
技术栈
Vue 3、TypeScript、Vuex 用于状态管理、Vite、共享的 Testlify 组件库 作为 git 子模块、ESLint、Husky、Renovate 用于依赖更新、Tailwind CSS。