G4 面试题库 — 作品代表学生技能水平
每道题含:问题、考察意图、答题要点、反面示例、追问建议 适用于所有队伍的通用准备,队伍专属回答在 teams/ 下
一、设计来源与理解
Q1: 介绍一下你们的机器人,它是怎么工作的?
考察意图:G4 — 学生是否理解自己的机器人
答题要点:
- 从整体到局部:先说策略目标,再说结构组成
- 说出关键机构的名称和作用
- 解释为什么选这个设计(和比赛任务的关系)
反面示例:
- 只说"它能得分" → 太笼统,没有技术深度
- 说了很多术语但解释不清 → 可能不理解
- 念工程笔记的内容 → 像背书
追问建议:
- 你能演示一下这个机构怎么工作吗?
Q2: 为什么选择这种底盘/驱动方式?
考察意图:G4 — 设计决策是否有理据
答题要点:
- 说出考虑过的选项(麦克纳姆轮、全向轮、普通轮等)
- 每种的优缺点
- 最终选择的理由(和策略/场地/对手的关系)
反面示例:
- "因为大家都用这个" → 没有自主思考
- "老师说用这个" → G2+G4 双扣
- 说不出其他选项 → 没有设计过程
追问建议:
- 你测试过这个配置吗?遇到了什么问题?你怎么解决的?
Q3: 你们最关键的机构是什么?工作原理是什么?
考察意图:G4 — 学生是否理解核心机构的物理原理
答题要点:
- 清楚描述机构的运动方式
- 解释关键参数(齿轮比、力臂、速度 vs 扭矩的取舍)
- 为什么这个参数是最优的(有测试数据更好)
反面示例:
- "就是一个电机带动的" → 太粗略
- 说不出齿轮比/参数 → 不理解机械设计
- 参数不合理但不知道为什么 → 不是自己设计的
追问建议:
- 这个参数是怎么确定的?试过其他数值吗?
二、代码理解
Q4: 你们的自动赛程序是怎么工作的?
考察意图:G4 — 代码是否学生写的,是否理解
答题要点:
- 描述自动赛的整体流程(步骤 1→2→3)
- 说出关键逻辑(传感器触发条件、PID 控制等)
- 怎么调试的(试了几次、改了什么参数)
反面示例:
- 念代码变量名 → 不理解逻辑
- "就是让它往前走然后得分" → 太简单
- 说不出调试过程 → 可能不是自己写的
追问建议:
- 遇到过自动程序失效的情况吗?什么原因?怎么 debug 的?
Q5: 你们用了什么编程概念/算法?
考察意图:G4 — 技术深度是否与作品匹配
答题要点:
- 说出具体使用的概念(PID、状态机、传感器融合、路径规划等)
- 用自己的话解释这个概念是什么
- 为什么用它(解决什么问题)
反面示例:
- 说了"PID"但解释不了 P、I、D 分别做什么 → 不理解
- 用了高级算法但整体逻辑说不清 → 可能是抄的
- "我们没用什么特别的" → 如果代码很复杂,说明不了解
追问建议:
- 如果需要给机器人增加一个新功能,你会加在代码的哪个位置?为什么?
Q6: 代码里有 bug 的时候你怎么找到和修复的?
考察意图:G4 — 调试能力是理解代码的最好证明
答题要点:
- 举一个具体的 bug 例子
- 怎么发现的(测试时、比赛时)
- 怎么定位的(打印调试、传感器数据、逐步排查)
- 怎么修的
反面示例:
- "我们没遇到过 bug" → 不可能,评审不信
- "老师帮我们修的" → G2+G4 双扣
追问建议:
- 你用什么方法定位问题的?打印调试?传感器数据?
三、外部资源使用
Q7: 有没有参考网上的设计或代码?
考察意图:G4 — 诚实度 + 是否理解和改动了外部资源
答题要点:
- 必须诚实(评审见过无数设计,认得出来)
- 说出参考了什么(具体来源)
- 重点说自己做了哪些改动和为什么
- 强调"理解了原理后根据自己的需要调整"
反面示例:
- "完全原创" → 如果设计明显来自网上,当场扣分
- "我们照着做的" → 没有理解和改动
- 说不出改了什么 → 没有真正理解
追问建议:
- 能给我看看笔记本里关于这部分的记录吗?改进前后的对比?
Q8: 你们用了哪些代码库/模板?自己改了什么?
考察意图:G4 — 代码资源的使用是否合规
答题要点:
- 说出使用的库/模板(VEX API、开源 PID 库等)
- 自己写了什么(核心逻辑、策略、自动赛路径)
- 改动了什么参数/逻辑以适应自己的机器人
反面示例:
- 用了整套别人的代码但说不出改了什么 → G4 严重违规
- "全是我们从零写的" → 如果用了标准库,不诚实
追问建议:
- 这个库的核心原理是什么?如果让你自己写一个类似的,你会怎么做?
四、迭代过程
Q9: 你们的机器人经历了几个版本?为什么要改?
考察意图:G4 — 是否有真实的设计迭代
答题要点:
- 说出 2-3 个版本的关键区别
- 每次改的原因(测试发现问题、比赛暴露弱点、规则理解更新)
- 有数据支撑更好(改前 vs 改后的性能对比)
反面示例:
- "一直都是这样" → 没有迭代过程
- 只改了颜色/外观 → 不算有意义的迭代
追问建议:
- 哪个版本的改动最大?当时是什么驱动你们做这么大的改变?
Q10: 你遇到的最大困难是什么?怎么解决的?
考察意图:G4 — 问题解决能力是学生能力的最好体现
答题要点:
- 说一个真实的技术困难(不是"时间不够")
- 尝试了几种解决方案
- 最终怎么解决的
- 学到了什么
反面示例:
- "没遇到什么困难" → 不真实
- "老师帮我们解决的" → G2+G4 双扣
- 困难和自己负责的领域无关 → 可能在编故事
追问建议:
- 那个错误是在什么情况下发现的?你怎么意识到问题在哪的?
Q11: 有没有测试数据可以分享?
考察意图:G4 — 工程方法的严谨性
答题要点:
- 测试了什么(速度、准确率、得分、可靠性)
- 测了几次
- 数据怎么影响你们的决策
- 指向工程笔记里的记录
反面示例:
- "我们没记数据" → 缺乏工程素养
- 数据明显编造(太整齐/太完美) → 评审看得出来
追问建议:
- 这个测试数据是什么时候记录的?当时发现了什么问题?
五、策略与理解
Q12: 你们的比赛策略是什么?
考察意图:G4 — 策略是否和机器人能力匹配
答题要点:
- 说出明确的策略(侧重得分/防守/平衡)
- 策略和机器人设计的关系(为什么这个机器人适合这个策略)
- 不同情况下怎么调整
反面示例:
- "就是尽量多得分" → 不算策略
- 策略和机器人能力明显不匹配 → 不理解自己的机器人
追问建议:
- 如果对手的策略和你预期不同,你会怎么调整?
Q13: 如果比赛规则改变了 XX,你会怎么调整?
考察意图:G4 — 深层理解能力(不只是记住,而是能推理)
答题要点:
- 分析规则变化对策略的影响
- 说出具体的调整方案(机构、代码、策略)
- 展示对规则和设计关系的理解
反面示例:
- "我不知道" → 对自己的机器人理解不够
- "问老师" → 缺乏独立思考
追问建议:
- 你们有没有因为规则更新而修改过设计?
Q14: 如果让你重新开始,你会做什么不同?
考察意图:G4 — 反思能力 = 真正的理解
答题要点:
- 说出 1-2 个会改变的决定
- 为什么当初那样做、现在为什么想改
- 展示对设计 trade-off 的理解
反面示例:
- "我觉得都挺好的" → 没有反思
- "全部重做" → 没有具体思考
追问建议:
- 你说的这个改进,你们有没有尝试过?为什么成功或没成功?
六、深度验证
Q15: 给我看看你们工程笔记本里,机器人设计演变的记录。
考察意图:G4b — 验证迭代证据的真实性和完整性
答题要点:
- 笔记本有明确日期、各版本草图或照片
- 每次改动有原因和结果记录
- 有失败测试的记录(不只是成功)
- 内容与当前机器人实物一致
反面示例:
- 笔记本是赛前一次性补写的(内容过于整齐、日期集中)
- 内容与实物明显不符
- 只有成功结果,没有任何失败记录
- 笔记本被大人填写(字迹成人化、内容超出学生水平)
追问建议:
- 这个测试数据是什么时候记录的?你当时发现了什么问题?
- 是如何决定下一步改进方向的?
Q16: 你们机构里有没有其他队的机器人和你们相似?
考察意图:G4d — 同机构多队是否违反同质化禁令
答题要点:
- "其他队有不同的设计方案"
- "我们有交流过想法,但各自做了不同的选择"
- "最终的机器人结构是不同的"
反面示例:
- "我们机构所有队的机器人基本一样"
- "我们是按同一个模板搭的"
- "我们互相复制了代码"
追问建议:
- 你们和另一支队有交流过设计思路吗?
- 最终的机器人有哪些不一样的地方?
Q17: 解释一下你们代码的整体架构。代码是怎么组织的?为什么这样设计?
考察意图:G4 — 验证代码是否真正由学生编写并理解架构
答题要点:
- 能解释代码的模块化结构(如自动和手动分开的原因)
- 说出主要函数的用途
- 使用的控制逻辑类型及选择原因
反面示例:
- "代码是从网上下载的"
- "我们用的是现成代码库"(非官方)
- 无法说出任何函数名称或逻辑结构
追问建议:
- 如果现在需要增加一个新功能,你会加在代码的哪个位置?
- 你们的代码有没有已知的 bug 或想改进的地方?