标准答案

  1. 题目要有具体业务场景,例如表格筛选、权限菜单、灰度发布、监控接入或组件库迁移。
  2. 要明确约束条件,例如时间、团队规模、旧系统包袱、浏览器兼容、接口稳定性和上线风险。
  3. 要允许候选人提出方案、风险、验证方式和回滚计划,而不是只输出唯一代码答案。
  4. 评分重点应覆盖问题拆解、数据模型、状态边界、异常处理、测试验证、性能和可维护性。
  5. 开放题要避免过度发散,可以设置阶段目标和追问点,让回答保持可评估。

题目解析

真实工程能力很难靠一道语法题看出来。开放题更适合观察候选人如何澄清需求、识别风险、设计边界、安排验证,以及在不完美约束下做取舍。

好题目不是越大越好。比如“设计一个后台表格页”太泛,可以改成“在已有 Vue 项目里实现订单列表筛选、分页、URL 同步和权限按钮,要求支持回退和测试”。这样回答才有落点。

开放题也要有评价标准。否则面试会变成聊天,候选人说什么都像对。评分维度应提前定义,围绕工程结果而不是术语密度。

代码示例

开放题可以用场景、约束和观察点组织。

Text
scenario:
  existing admin project needs an order table refactor

constraints:
  old API, role permissions, URL sync, no full rewrite

ask:
  design state model, component split, error handling, tests, rollout plan

observe:
  tradeoffs, edge cases, verification, rollback

常见误区

  • 题目只有“实现一个复杂系统”,没有业务约束和评价标准。
  • 只考候选人知道哪些工具名,不看如何落地和验证。
  • 开放题没有收束点,候选人无法判断回答深度。

作者信息