联合技术答辩安排在新校区。
林辰早上从主校区出发。
没有卡着地图最短时间走。
提前留了交通缓冲。
一路正常地铁。
正常换乘。
到新校区以后。
距离答辩开始还有四十多分钟。
——
苏晚晴已经在创新中心。
林辰身体状态正常。
右脚踝没有不适。
之前手背那道划伤已经恢复。
玉佩常温。
没有新的共感。
林辰这边。
苏晚晴身体也吃过早餐。
没有低血糖症状。
水在包里。
两个人确认完。
就把这部分收起来。
——
今天桌前摆着两个名牌。
【需求负责人:苏晚晴】
【技术负责人:林辰】
没有什么交换后的特殊规则。
在所有评委眼里。
就是一名主校区需求负责人。
和一名新校区技术负责人。
共同参加答辩。
——
技术主讲是“林辰”。
也就是现在坐在林辰身体里的苏晚晴。
她提前看过答辩范围。
数据结构。
异常处理。
当前原型。
扩展边界。
她都按自己真正掌握的程度准备。
没有让林辰给她写一份完整技术稿。
——
林辰坐需求席。
桌上只有自己负责的材料:
去标识化访谈结论。
需求假设变化。
字段来源。
使用边界。
还有公开规则。
没有耳机。
手机按要求静音。
放到桌侧。
答辩期间禁止场外即时协助。
他们两个现在人都在现场。
也没必要开任何私人通话。
——
第一轮。
苏晚晴先讲原型。
“当前版本不是完整平台。”
“只验证三件事。”
“第一。”
“能不能把分散活动信息整理成统一字段。”
“第二。”
“缺失或不规范数据能不能被识别。”
“第三。”
“在不替用户做价值判断的前提下。”
“提供事实型信息卡。”
大屏幕上。
十二条模拟数据。
字段结构很简单。
时间。
地点。
资格。
设备。
费用。
退出节点。
咨询入口。
——
第一名评委问:
“为什么用这么简单的数据结构?”
苏晚晴答:
“因为当前只做最小验证。”
“需求侧还没有证明。”
“需要复杂关系模型。”
“所以暂时不扩。”
“那以后活动多了怎么办?”
“现有结构肯定需要调整。”
“怎么调?”
苏晚晴停了一下。
“要看后续数据来源。”
“如果不同学院字段差异很大。”
“可能需要拆基础字段和扩展字段。”
“如果只是数量增加。”
“现有结构本身不是主要问题。”
——
评委没有满意。
“你这回答太泛。”
“我问的是。”
“如果从十二条变成一万条。”
“你现在这个实现还能不能用?”
苏晚晴看向屏幕。
“当前版本没有做一万条规模测试。”
“所以我不能说能。”
“那你做原型的时候。”
“没考虑扩展性?”
“考虑过。”
“但没有把未验证规模提前当成当前需求。”
——
另一名评委接:
“这会不会变成。”
“每次只做最小的。”
“等真的要用才发现全得重写?”
问题不算客气。
苏晚晴握着麦克风。
“会有这个风险。”
“所以当前文档里保留了。”
“数据读取。”
“字段校验。”
“展示。”
“三层拆分。”
“不是所有逻辑写在一起。”
“但它仍然只是原型。”
“我不能把它说成可直接扩到正式系统。”
——
顾承安坐侧面。
没帮忙。
只记。
林辰也没动麦克风。
这是技术负责人能够回答的范围。
现在抢。
反而是在帮倒忙。
——
下一问更具体。
“费用字段。”
“你为什么同时允许数值和未说明?”
“因为来源可能缺失。”
“那为什么不统一成数值?”
“缺失信息不能自动变成0。”
“零表示明确免费。”
“未说明表示不知道。”
“这两个状态不同。”
“那‘免费’两个字为什么报异常?”
“因为当前字段规范没把字符串‘免费’定义成合法值。”
“后续如果数据提供方确认它是固定合法值。”
“可以在入口转换。”
——
评委追:
“为什么不现在转?”
“因为技术侧没有权限。”
“替数据来源方定义所有文本含义。”
这次。
那名评委点了一下头。
但马上换问题。
“你们一直强调不替用户判断。”
“那你们这个东西有什么价值?”
“只是把网页抄成卡片?”
——
这已经从纯技术。
压到使用场景。
苏晚晴没有慌。
“如果最后证明结构化信息没有明显价值。”
“项目可以停止。”
“当前访谈能支持的是。”
“时间、设备、资格、退出这些事实信息。”
“对部分学生判断成本有帮助。”
“不能支持的是。”
“系统替他们决定要不要参加。”
“所以我们没有做推荐。”
——
评委问:
“学生真的需要看这么多字段?”
“需求线有访谈结论。”
“我这里只能回答技术实现。”
苏晚晴停一下。
“当前原型按已确认字段做。”
“是否删减。”
“需要继续由需求验证决定。”
这个边界。
没有硬抢。
——
下一页。
异常处理。
苏晚晴演示一条缺失退出节点的记录。
系统显示:
【退出规则:未说明】
【咨询入口:主办方公开联系方式】
评委问:
“为什么不允许用户自己补?”
“当前没有用户编辑功能。”
“以后可以有吗?”
“要先确定谁能改。”
“学生自己改。”
“还是主办方改。”
“如果所有人都能写。”
“错误信息怎么办?”
——
“那做审核不就行了?”
“可以。”
“怎么审?”
苏晚晴沉默了半秒。
“当前版本没有。”
“所以我不能现场编。”
答辩室静了一下。
那名评委反而笑了。
“行。”
“至少没给我画未来功能。”
——
真正的压力出现在后半段。
一名技术评委直接把测试数据切到一张图。
“你们现在每条活动只有一个状态。”
“如果数据源更新呢?”
“比如主办方最开始没写退出规则。”
“第二天补上。”
“你怎么保证旧值不会覆盖新值。”
“或者新抓到的空值。”
“把已经确认的数据又清掉?”
——
苏晚晴看着那张图。
这个问题。
已经压到数据更新逻辑。
当前原型主要验证单次读取和展示。
并没有完整实现版本同步。
“当前版本没有自动更新数据源。”
她先承认。
“那正式实现呢?”
“需要定义更新规则。”
“什么规则?”
“……”
——
这不是她完全不会。
可真要往下说。
就涉及:
来源优先级。
原值保留。
字段状态。
异常回退。
以及什么时候允许覆盖。
这些东西。
她学过一部分。
项目接口里也写过。
但如果现在硬往技术架构层说。
很容易说过头。
——
评委继续:
“你前面一直说。”
“未知不能自动解释。”
“那数据更新时。”
“未知值能不能覆盖已确认值?”
“不能直接覆盖。”
“为什么?”
“因为新一轮抓取为空。”
“不等于原先信息失效。”
“那失效怎么判断?”
苏晚晴停顿。
半秒。
——
林辰看着屏幕。
这套逻辑。
他知道。
不是因为刚才远程有人告诉他。
也不是因为现在意识互换给了他什么额外信息。
这一块。
恰恰在需求与接口规范整理时。
是他亲手写过的。
——
需求席麦克风灯亮。
林辰按了下去。
“这部分我补充。”