<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>MySQL - tag - 沐木</title><link>https://oldletter.cn/tags/mysql/</link><description>MySQL - tag - 沐木</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Wed, 01 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://oldletter.cn/tags/mysql/" rel="self" type="application/rss+xml"/><item><title>问卷考试系统设计（一）：架构选型与数据模型</title><link>https://oldletter.cn/posts/qnr-01-architecture/</link><pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate><author>mumu</author><guid>https://oldletter.cn/posts/qnr-01-architecture/</guid><description><![CDATA[<h2 id="为什么还要自建一套">为什么还要自建一套？</h2>
<p>问卷星、腾讯问卷、考试系统都有自己的适用场景，而且这些平台都做得很成熟。普通调研、满意度收集、报名表、简单测评，用它们效率非常高。腾讯问卷有自定义逻辑 / DSL 相关能力，问卷星也支持常见的题目逻辑、API、量表和计分配置。真要只是发一份问卷、收一批答案、导出 Excel，我肯定不会自己造轮子。</p>
<p>我这里说的“问卷考试系统”，更类似是<strong>心理量表 + 考试流程 + 报告引擎 + 内部系统集成</strong>揉在一起的东西。它不是一个单纯的问卷，也不是一个单纯的考试。踩坑之后我发现，问题不在于现成平台有没有某个功能，而在于这些功能是不是能按我们的方式组合、审计、复用和长期维护。</p>
<h3 id="现成问卷平台的边界">现成问卷平台的边界</h3>
<p>问卷星、腾讯问卷这类 SaaS 平台适合快速搭建和运营，优势很明显：</p>
<ul>
<li>题型丰富，跳题、显示逻辑、配额、回收渠道都比较完善</li>
<li>常规计分、基础报告、数据导出基本够用</li>
<li>高级版/企业版通常还会提供 API、团队协作、品牌定制、更多逻辑能力</li>
<li>对非研发团队很友好，产品、运营、老师自己就能配置</li>
</ul>
<p>但到心理量表和内部业务系统结合时，边界就开始出现了。</p>
<p><strong>第一，算法可控性不够。</strong> SCL-90 有 9 个因子分，CES-D 有正性情感题需要反向计分，MMPI 又有 L/F/K 等效度量表。平台可能支持“维度计分”或者“反向题”，但我们还会遇到更细的规则：题目版本修订、常模分层、测谎阈值、T 分/Z 分转换、异常答题判定、人工复核标记。只要规则需要被代码审计、被测试用例覆盖、被历史版本追溯，单靠页面配置就会吃力。</p>
<p><strong>第二，报告不是简单的结果页。</strong> 心理测评的报告往往不是“你得了 78 分”这么简单。它要解释每个维度的含义，要有雷达图、柱状图、风险提示、建议话术，还要能输出 PDF、归档、推送到业务系统。模板一多，报告本身就变成了一个小型内容系统。</p>
<p><strong>第三，数据合规和私有化要求绕不开。</strong> 有些答卷数据涉及个人状态、组织内部评估、学校或企业的敏感信息。即使平台本身安全可靠，业务上也可能要求数据留在自己的库里，权限走自己的组织架构，审计走自己的日志链路。</p>
<p><strong>第四，长期成本和集成成本要算总账。</strong> SaaS 平台按版本、账号、回收量、API 能力收费，短期省事，长期不一定便宜。更麻烦的是集成：用户体系、组织架构、权限、报告归档、消息通知、数据看板都要打通，越往后越类似在平台外面再套一层系统。</p>
<p>所以我末尾的判断是：现成平台并非不能用，重点是<strong>如果核心价值在“量表算法和报告自动化”上，自建会更可控</strong>。</p>
<h3 id="考试系统模型哪里不贴合">考试系统模型哪里不贴合</h3>
<p>考试系统当然也能改。它的流程很完整：题库、试卷、答题、交卷、评分、成绩统计，和我们要做的东西确实很类似。</p>
<p>问题在于考试系统默认有一套很强的假设：答案有对错，题目有标准答案，分数代表掌握程度。心理测评不是这个模型。“近段时间一周你感到情绪低落的频率”这种题，选“没有”和选“经常”只是反映状态，不存在谁更正确。反向题也并非为了“迷惑考生”，重点是为了修正量表方向和控制作答质量。</p>
<p>再比如考试系统常见的防作弊逻辑是切屏检测、人脸识别、随机抽题；心理量表更关心直线作答、过快作答、矛盾回答、测谎题异常。看起来都是“质量控制”，实际关注点完全不同。</p>
<h3 id="什么时候值得自建">什么时候值得自建</h3>
<p>我的经验是，不要一上来就自建。先用这个清单判断：</p>
<table>
  <thead>
      <tr>
          <th>场景</th>
          <th>更适合现成平台</th>
          <th>更适合自建</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>问卷规模</td>
          <td>临时调研、活动报名、满意度收集</td>
          <td>长期产品能力，需要持续迭代</td>
      </tr>
      <tr>
          <td>计分规则</td>
          <td>总分、简单维度、固定报告</td>
          <td>多维度、反向计分、常模、效度量表、复杂阈值</td>
      </tr>
      <tr>
          <td>数据要求</td>
          <td>可接受平台托管和导出</td>
          <td>私有化、审计、权限、合规要求强</td>
      </tr>
      <tr>
          <td>系统集成</td>
          <td>Excel 导出即可</td>
          <td>要打通用户、组织、业务流程、消息、档案</td>
      </tr>
      <tr>
          <td>成本模型</td>
          <td>短期使用，人数不大</td>
          <td>长期高频使用，企业版/API 成本明显</td>
      </tr>
      <tr>
          <td>可维护性</td>
          <td>配置改完就结束</td>
          <td>算法要测试、版本要追溯、报告要复用</td>
      </tr>
  </tbody>
</table>
<p>如果只是普通问卷，用成熟平台更省心；如果要做成企业内部长期运行的测评能力，那就需要一套更工程化的系统。</p>]]></description></item></channel></rss>