面灵AI→

米哈游游戏测试笔试:编程题 + 800 字问答

轮次
笔试
时间
2026-09
来源
牛客网

《面试题目》

  1. 单选题与多选题:覆盖面较广,有几个测试相关的题目没看懂。
  2. 编程题 1 道:统计数字出现的重复次数,每一种重复次数记为一类,拿类的数目与 k 比较。
  3. 问答题 1:围绕《王者荣耀》写一篇约 800 字的小作文。
  4. 问答题 2:写出十个应该测试的点,约 800 字。

《参考解析》

编程题思路:先翻译题意,再选数据结构

这道题的关键是读懂「重复次数」这个词,它有两层含义容易混:一是每个数字出现了几次,二是「出现次数」本身有几种取值。按原帖的描述,正确理解是后者——把每个数字的出现次数算出来,再统计有多少种不同的出现次数,最后与 k 比较。用一次哈希表 + 一次集合就能做完:

from collections import Counter

def count_freq_classes(nums, k):
    freq = Counter(nums)                    # 每个数字出现几次
    classes = len(set(freq.values()))       # 出现次数一共有几类
    return classes > k                      # 按题目要求与 k 比较

复杂度 O(n) 时间、O(n) 空间。答题时要注意三件事:① 输入边界(空数组、只有一个元素、k 为 0 或大于元素个数)要先想清;② 题目到底比较的是 > 还是 >=,读清题干再写;③ 如果题目其实是要求「重复出现的数字个数」或「出现次数不少于 k 的数字个数」,代码要相应改,写完后用自己的样例验证一遍而不是直接提交。笔试里 AC 之后最好再补一行注释说明你的理解,方便人工复核。

问答题一:800 字的游戏小作文怎么写

这类题没有标准答案,评的是你有没有游戏理解、能不能结构化表达。800 字不要写成散文,按「现象 → 分析 → 建议」三段展开,每段给两三个论点:

  • 选一个具体切口,别写「王者荣耀很好玩」这种大而空的话。可选的切口:版本更新对英雄强度/对局节奏的影响、匹配机制与连胜连败体验、新英雄上线的数值平衡、商业化(皮肤、战令、抽奖)与玩家口碑的关系、移动端操作手感与外挂治理。
  • 分析要有依据:举具体版本、具体英雄、具体数值改动,说明改动前后玩家行为的变化(出场率、ban 率、对局时长)。哪怕数据是凭印象,也要说清推理过程。
  • 建议要可落地:如果是你,你会怎么改(分档测试、灰度放量、先在小分段验证数值、用行为数据而不是论坛情绪做判断),并说明风险。

写成「论点句 + 论据 + 小结」的结构,800 字其实很快就到了,而面试官看到的是清晰的逻辑而不是凑字数。

问答题二:「十个测试点」这类题的答法

这是游戏测试的看家题型。拿满分的关键是分类覆盖 + 每点具体可执行,而不是罗列十个同义句。

  • 先搭框架再填内容:功能正确性 → 数值与边界 → 状态与流程 → 异常与容错 → 兼容性 → 性能 → 网络 → 安全 → 商业化 → 体验与可访问性。
  • 每个测试点写成「操作 + 预期」:例如「在弱网(丢包 20%、延迟 300ms)下释放技能,预期技能能正常结算且不出现位移回拉」「购买道具时余额刚好等于价格,预期扣款成功且余额为 0,不出现负数」「对局中断线重连,预期回到原局且经济/装备不丢失」。这样才看得出你会不会写用例。
  • 主动覆盖边界与异常:0、1、最大值、并发点击、重复提交、跨天/跨版本、时区、账号切换、支付中断。这些是测试岗最看重的敏感度。
  • 收尾补一句优先级:哪几个是 P0 必须过、哪些可以放回归,体现你有风险意识。

笔试时间分配与准备建议

原帖作者在这类笔试里的常见问题是前面的题耗时过多、后面大题写不完。建议:选择/多选题控制在 30% 时间内,遇到不会的直接标记跳过;编程题留 25%,先把签到题 AC 再想优化;问答题留 45%,因为字数要求高、评分权重通常也高——大题写满比选择题多对两道更值钱。准备上,游戏测试笔试的题库方向很固定:测试理论与用例设计、Linux 与网络基础、Python/Java 基础、以及一两道简单的算法题(哈希、字符串、模拟)。再补一点游戏领域常识(常见玩法系统、匹配与结算流程、支付与道具发放链路),问答题才有话可写。