初创公司QA自动化二面:现场从零写井字棋

日期:2026-04-09

  • 企业与岗位:未具名初创企业(所属国家未公开)|QA Automation Engineer
  • 适用层级:中级

本篇为社区对用户分享面经的整理汇编,旨在帮助求职者了解面试考察方向。问题部分力求忠实还原原帖问答脉络;「参考答案 / 复盘思路」为整理方结合工程实践原创补充,仅供交流参考,不代表官方标准答案。

原帖未披露企业名称和所属国家;以下仅整理其公开的现场考核与追问。

面试问题与参考答案

1. 现场编程任务:从零实现井字棋(Tic-Tac-Toe)。

参考答案 / 复盘思路:

先澄清题目边界:只需命令行逻辑还是图形界面,双人对战还是AI对手,是否要求输入校验。最小实现用长度9的棋盘保存空位、X、O,轮流落子;每次检查8条胜利线、平局及非法重复落子。工程上将状态更新、胜负判定与输入输出分离,便于单元测试。验证横竖斜三连、棋盘已满、非法索引、已结束继续落子与重复占格。若面试时间有限,先交付可运行核心逻辑,再补交互;原帖未给出详细验收条件,不应冒充这些都是面试官要求。

2. 面试官追问:你上一次亲自写代码是什么时候?

参考答案 / 复盘思路:

这道追问是在了解候选人实际编码频率和熟练度,适合用最近真实的提交、脚本维护或缺陷修复回答。可以说清语言、代码规模、自己负责的模块和测试方式;若大量使用AI辅助,也要解释如何审查生成代码、补充测试和处理错误。不要把“经常让模型写代码”包装成“每天手写核心逻辑”,否则现场编程很容易暴露差距。

延伸思考(社区补充)

如果把井字棋改成“为现有游戏编写自动化测试”,测试策略有什么变化?

优先把胜负规则提取为可单测纯函数,再通过API/UI覆盖用户操作;建立确定性棋盘状态、验证非法落子和胜负状态,避免只靠页面截图断言。