【游戏测试工程师】2023年4399秋招笔试+面试记录
【写在前面】只记录了一些有印象的题,答案有些来自chatGPT,准确性不保证,仅供参考(修订中)
一、笔试题
(一) 逻辑推理题
1、猜花色
【题目】S先生、P先生、Q先生他们知道桌子的抽屉里有16张扑克牌:红桃A、Q、4,黑桃J、8、4、2、7、3,草花K、Q、5、4、6,方块A、5。约翰教授从这16张牌中挑出一张牌来,并把这张牌的点数告诉P先生,把这张牌的花色告诉Q先生。这时,约翰教授问P先生和Q先生:你们能从已知的点数或花色中推知这张牌是什么牌吗?于是,S先生听到如下的对话:**P先生:我不知道这张牌。Q先生:我知道你不知道这张牌。P先生:现在我知道这张牌了。Q先生:我也知道了。**听罢以上的对话,S先生想了一想之后,就正确地推出这张牌是什么牌。请问:这张牌是什么牌?
【答案】这张牌是方块5
(1)因为P说:”我不知道这张牌”,由此得知P拿到的点数在以上扑克牌花色中不是唯一的,所以排除黑桃中的J、8、2、7、3 和 草花中的 K、6,以这一条得知的当前牌库为:
红桃 A、Q、4; 黑桃 4; 草花 Q、5、4; 方块 A、5;
(2)Q说:“我知道你不知道这张牌”,从而得知Q在P说之前就非常肯定P不知道,所以Q得知的花色下面没有唯一的数,由此可排除黑桃和草花,(因为:Q不知道点数是多少,Q也可以这么肯定的说P不知道,是因为Q拿到的花色里面的数全都在其他花色里面出现过,满足此条件的只有 红桃A、Q、4; 和 方块A、5;所以可以直接排除黑桃和草花两个花色里面的全部数)
(3)然后P说: “现在我知道这张牌了”,由于当前牌库排除后只剩下红桃A、Q、4;和方块A、5;所以把红桃下面的A 和方块下的A 排除,(因为,两个花色中唯独一个数A 是重复的,Q是不知道花色的,所以如果P拿到的点数是A的话,那么P不可能说”现在我知道这张牌了”,所以排除掉A 剩下红桃Q、4; 和方块5;)
最后Q说:” 我也知道了”,所以,答案是方块5 ,(因为,C只知道花色不知道点数,当Q说出:“我也知道了”,就说明C拿到的花色是方块,因为,红桃下面还有Q、4 ,Q是不知道点数的,所以,Q就不可能说我也知道了,因为,红桃下面有两个不定的数,Q只知道花色,Q不可能会说我也知道了),所以最后的答案:只有方块5。
2、猜岗位
【题目】大学毕业的张、王、李、赵4人应聘到了同一家大型公司,每人负责一项工作。其中一人做行政管理,一人做销售,一人做研发,另一人做安保。已知:①张不做行政管理,也不做安保;②王不做行政管理,也不做研发;③如果张没有做研发,那么赵也没有做行政管理;④李不做行政管理,也不做安保;⑤赵不做研发,也不做安保。由此可以推出
A、张做销售,李做研发
B、赵做研发,李做销售
C、李做销售,张做研发
D、李做研发,赵做安保
【答案】A
第一种方法可以直接把选项代入题目判断,推出来有误的就pass掉
主要介绍第二种方法,老老实实的推理
根据以上分析,我们可以得出以下结论:
• 宋做市场,黄做行政。
关于赵的岗位,根据题目中的信息暂时无法确定具体是行政还是研发。
因此,答案选择A:宋做市场,黄做行政。
(二) 游戏测试相关题
1、假如你要对一款手机游戏进行基本测试,问: 一、你会做哪几个方面的测试? 二、分别想怎么做?
一、在对一款手机游戏进行基本测试时,可以考虑以下几个方面的测试:
(1)功能测试:确保游戏的各项功能正常运行,包括游戏开始、暂停、继续和结束等操作;保证游戏各种场景、关卡的正常切换和加载;测试各种游戏内的互动功能,如道具使用、技能释放等。
(2)兼容性测试:测试游戏在不同的设备上(不同型号、不同操作系统版本)的兼容性,包括屏幕适配、分辨率适配、操作方式适配等。
(3)性能测试:测试游戏在不同设备上的性能表现,包括流畅度、加载速度、卡顿情况等。可以考虑使用性能测试工具模拟不同设备上的负载情况来测试游戏的性能。
(4)用户界面测试:测试游戏的用户界面设计是否合理,包括按钮、菜单、文本等元素的布局是否美观、易用,以及与用户的交互是否符合预期。
(5)安全性测试:测试游戏是否存在潜在的安全漏洞或风险,例如数据传输的加密性、账号安全等。
二、针对以上测试方面,可以采取以下测试方法和实施步骤:
(1)功能测试:
• 制定功能测试计划和测试用例,涵盖游戏的各项功能。
• 逐个执行测试用例,验证游戏的功能是否符合预期。
• 记录并报告发现的问题,包括游戏功能异常、操作失灵等。
(2)兼容性测试:
• 确定不同型号和操作系统版本的设备,覆盖主流设备。
• 在不同设备上安装并运行游戏,检查画面适配、操作适配等情况。
• 记录并报告兼容性问题,如界面错位、闪退等。
(3)性能测试:
• 使用性能测试工具或模拟器,在不同设备上测试游戏的性能。
• 检查游戏在不同负载下的表现,如响应速度、帧率等。
• 记录并报告性能方面的问题,如卡顿、加载缓慢等。
(4)用户界面测试:
• 检查游戏的用户界面设计,包括布局、颜色、字体等元素。
• 模拟用户操作,验证用户界面交互是否符合预期。
• 记录并报告用户界面方面的问题,如按钮不明确、文字过小等。
(5)安全性测试:
• 检查游戏的数据传输是否采用加密方式,确保用户数据安全。
• 检查游戏的账号管理、防沉迷系统等安全措施的有效性。
• 发现并报告潜在的安全漏洞或风险。
2、编写游戏测试用例
【题目】游戏中首次创角开启该活动,开启时间为7天;活动一共有7个不同奖励,分别为第N天(N=1~7)天登录奖励,7天奖励显示为列表; 每天首次登录时,对应那天的奖励会出现领取按钮,可领取该天的奖励;领取奖励后,按钮显示为已领取;活动时间内奖励未领取的, 随时可以领取,活动时间后未领取的,奖励会以邮件形式发送到邮箱。 请根据已知活动信息,撰写测试用例。
【答案】
验证活动开启时间:• 确认活动在第一天正常开启,确保活动开始时间准确无误。验证每日登录奖励:
• 模拟用户每天首次登录,验证对应天数的奖励是否正确显示。
• 点击每天的领取按钮,确认奖励能够成功领取。
• 验证领取后按钮状态是否正确显示为已领取。验证未领取奖励的可随时领取:
• 在活动时间范围内,模拟用户登录,但不点击当天的领取按钮。
• 在非当天的其他日期登录后,尝试领取之前未领取的奖励,确保奖励能够成功领取。验证活动时间结束后奖励以邮件形式发送:
• 确保在活动时间结束后,未领取的奖励会以邮件的形式发送到邮箱。
• 模拟活动时间结束后登录,验证是否收到未领取奖励的邮件。验证奖励列表显示:
• 在第七天登录时,验证奖励列表中显示的奖励是否与活动规定一致。验证活动期间的异常情况处理:
• 模拟网络异常或游戏崩溃等情况,确认用户重新登录后是否能够正常领取未领取的奖励。
3、编写测试点
【题目】某游戏中,有一个限时神兽抽奖兑换活动 1、每月1号-7号开启该活动 2、玩家30级可以参与该活动 3、每次抽奖需花费100水晶 4、每次抽奖时,将随机从奖池中抽取1个奖励 5、奖池中的奖励类型及其对应权重,由策划表配置 6、奖池有保底策略,玩家参与100次抽奖,至少可以获得一个神兽 7、每天中午12:00-12:15参与活动,抽中神兽的权重加倍 8、每个月活动独立,抽奖次数不累计 根据以上描述,若此时策划想让你对该功能进行验收,问你是否有其他问题或者设定需要确认,你会提出哪些疑问或者补充呢? 根据以上描述,你觉得你需要关注的测试点有哪一些呢?
【答案】
根据以上描述,以下是一些我可能会提出的疑问和补充:
• 您提到活动每月1号-7号开启,但是否包含1号和7号在内?也就是说共计7天还是6天?
• 活动是以服务器时间为准还是以玩家所处时区的时间为准?关于参与条件:
• 玩家30级可以参与该活动,那么是否需要在活动开始前达到30级才能参与?或者是在活动期间内达到30级就可以参与?
• 如果玩家在活动期间内升级至30级,会立即获得参与资格,还是需要等到下一个活动周期?关于抽奖费用:
• 每次抽奖需花费100水晶,那么水晶如何获得?是否只能通过充值购买或者特定任务获得?
• 在抽奖过程中,如果玩家的水晶不足以支付抽奖费用,是否有相应的提示或处理方式?关于奖池配置:
• 奖池中的奖励类型及其对应权重,由策划表配置,请提供策划表的具体格式和配置内容。
• 是否存在奖励稀有度的概念?如果有,对应的权重是否符合策划的要求?关于保底策略:
• 您提到玩家参与100次抽奖,至少可以获得一个神兽,那么保底机制是如何实现的?是根据累计次数计算还是某种累积概率的方式?
• 如果玩家在达到100次抽奖之前就已经获得了一个神兽,保底机制是否继续生效?关于权重加倍:
• 每天中午12:00-12:15参与活动,抽中神兽的权重加倍,那么加倍后的具体权重是多少?是否有其他奖励类型的权重也会受到影响?
测试点:
• 确认活动时间是否准确无误。
• 验证玩家等级限制,确保只有30级及以上的玩家才能参与。
• 测试抽奖过程,包括抽取奖励的正确性、随机性以及费用扣除的准确性。
• 验证奖池配置是否正确,奖励的出现频率是否符合权重设定。
• 验证保底策略的正确性,确保玩家在参与100次抽奖后至少能获得一个神兽。
• 验证中午12:00-12:15期间抽中神兽的权重加倍功能是否生效。
• 确认每个月活动独立,抽奖次数不累计,确保数据重置正确。
(三) 编程题
1、游戏竞技场
游戏竞技场有8个角色,角色ID为18的正整数,每个角色带有战力数值,数值区间在1100的正整数 id power 1 97 2 60 3 61 4 33 5 24 6 38 7 81 8 96 现随机打乱后两两配对进行淘汰赛,按照对阵图顺序执行,比较战力大小,大的那方进入下一轮,战力相同id小的胜,直到决出冠亚季军,需要输出每一轮比赛的结果 假如按id顺序加入对阵图,输出格式举例: 八进四: 角色1对战角色2,角色1胜 角色3对战角色4,角色3胜 …(省略) 四进二: 角色1对战角色3,角色1胜 …(省略) 季军赛: 角色3对阵角色6,角色3胜,成为季军 冠军赛: 角色1对阵角色8,角色1胜,成为冠军,角色8负,成为亚军。通过c++代码实现以上输出
2、游戏冷却时间
在一个网游中,玩家可以使用各种技能来攻击敌人。 每个技能都有自己的冷却时间,即使用一次技能后需要等待一定时间才能再次使用该技能。 不同的技能之间,有个公共的冷却时间,即使用一次技能后,需要等待一定时间才能再次使用技能(包括自己跟其他技能)
现在给定一个技能列表和对应的冷却时间,技能公共冷却时间,以及玩家使用技能的顺序,请计算玩家完成所有技能所需的总时间。(技能释放时间忽略不计,可视作释放瞬间即完成)
示例输入
#技能列表
skills = [“A”, “B”, “C”]
#对应冷却时间
cooldowns = [3, 5, 2]
#技能公共冷却时间
common_cooldown = 1
#使用技能的顺序
sequence = [“A”, “B”, “C”, “C”] 其输出结果为4
解析: 公共冷却时间common_cooldown,指的是任意两个skill之间,必须至少间隔common_cooldown时间以上才可以释放,题中common_cooldown为1,其意义为释放完skill A后,必须要间隔1秒后才可以释放skill A或者其他skill; skill A对应的cooldowns为3,其意义使用完skill A后,必须要间隔3秒后才可以选择释放skill A;
故按照ABCC的顺序使用技能,总共需要花费的时间为0+1+1+2=4秒
要求
一、请编写一个函数 calculate_total_cooldown_time(skills, cooldowns, common_cooldown, sequence),其中 skills 是一个包含技能名称的列表,cooldowns 是一个包含对应冷却时间的列表,common_cooldown为技能公共冷却时间,sequence 是玩家使用技能的顺序。 函数应该返回玩家完成所有技能所需的总时间。
二、以备注形式,将你用于自测的测试用例附在代码最后(如题干中的示例)
3、3*3圈叉棋
33圈叉棋,两个玩家轮流在格子33中画○或者×,首先将相同图案连成3个一直线的玩家获胜;
一、请写一个检查当前动作之后,是否获胜的方法; 方法内参数包括,圈叉(O标记为0,X标记为1)信息, 坐标,上一步为止的棋局状况;可自行定义参数的数据结构 如果判断获胜,打印"win!"并返回当前棋局状况;否则,返回当前棋局状况。
二、以备注形式,将你用于自测的测试用例附在代码最后。
(四) 综合素质题
1、你需要跟上司沟通工作,但他的每天的日程很满,经常会有更紧急的事情排在你前面,你如何去跟他协调沟通的时间?
【答案】
在面对这种情况时,以下是一些建议来协调与日程繁忙的上司沟通时间:
2、请简单分析一下你的性格特质?以及你认为未来3-5年最有可能阻碍你成长的性格因素是什么?
【答案】略
二、一面业务面(线上)
三、二面hr面(线上)
1、为什么想要走测试这条路?
【回答】因为计算机岗大概分研发和测试、产品三个方向,然后自己通过一些方式,去了解或者尝试过研发和产品的工作,感觉自己不是很感兴趣,最后通过一段测试的实习,感觉自己对于测试的接受良好(但感觉这个问题回得一般般)
2、哪些方面比较合适做测试
【回答】有求知欲和学习能力(然后举了些例子来佐证);有耐心
3、大学期间,遇到的比较难相处的人或者难处理的事
【回答】说的是测试“任务发布”的例子,因为这个功能对应的需求文档写得不是很详细,加之需求人员因为要对接其他优先级更高的需求,所以在这个需求上投注的精力就比较少,然后我就和研发一起沟通讨论完善需求文档,加了很多功能细节进去,当时甚至和朋友调侃,感觉自己干了份需求的工作。
4、有哪些需要改善的地方
【回答】回答的是自己做事有点单线程,就是只能专注于一件事,而不能分心到其他事情上
5、接受加班吗
【回答】项目组需要的话,是可以接受加班的
6、能够接受加班的强度
【回答】(这里回答的比较模糊)因为从公司到学校大概要1个小时,然后地铁又差不多11点就停了,所以就是希望可以在地铁停运前回到学校。就是主要会从交通、和公司到家的一个情况来考虑
7、后面还是会做测试吗?或者自己有什么规划或者考虑
【回答】两三年内或者更长的时间内是不会考虑转行的
8、家人支持你的选择吗?
【回答】支持,家长对我的选择比较自由,不会干涉太多,举了高考选专业的例子,和在考研就业间的抉择的例子
9、父母的住址,以及工作岗位
【回答】因为面的4399在广州,所以我说父母在东莞的时候,hr还比较满意;之后还问了有没有兄弟姐妹
10、有什么兴趣爱好
【回答】追追动漫,打打篮球或者羽毛球,画画
11、打代码多吗
【回答】最近比较少,因为在准备面试需要的东西;但是也会有意识的在leetcode上去刷一些题,去培养一下自己的算法思维,虽然工作可能不一定会用到,但是我觉得只要从事计算机行业,就总有些帮助的
12、反问
(1)加班情况
965,早九晚六工作五天,根据项目组的不同,加班情况也有所差异,但不强制要求加班,然后也会给到加班补贴,比如调休、打车费用等等
(2)面试有几轮
面试有三到四轮
四、三面高级业务面(线下)
1、毕设打算做什么方向的
【回答】答的是打算做计算机图形学,因为感觉计图与游戏测试会沾一点边,而且大学期间学过“计算机图像处理”和“计算机图形学与虚拟现实”,回答的可以细一点;后来面试官又问了打算怎么进行我的毕设,以及这两门课的课设是怎样的
2、大学期间,遇到的比较难相处的人或者难处理的事
【回答】因为遇到的人都比较nice,所以我这里问了面试官,我可以说一下自己感觉比较有压力的事嘛;然后就说了自己大一下的时候,三下乡、社团(quanta杯)、团支书、学习之间的平衡,主要是想通过这个说明自己调节压力的能力还是不错的
3、游戏测试相比软件测试要注意什么
【回答】其实感觉这个题,算是比较经典吧,我主要从游戏测试更注重用户体验,所以游戏的交互性、音效体验会更强些,然后面试官后面还补充了一点,游戏的需要获取更多新兴咨询,更新比较快,然后也提到工作强度比较大(提到这里,感觉自己第2问的回答还可以)
4、做为一个好的测试人员,哪些素质是需要具备的
【回答】
(1)扎实的技术知识:首先做为一个测试人员,是需要具备基本的测试相关的基础知识的。比如软件测试的基本原理、方法和技术,了解测试相关的编程语言、测试工具和技术。同时,掌握软件开发、数据库和网络等相关技术知识也是必要的。
(2)分析和解决问题的能力:测试人员还需要具备良好的分析和解决问题的能力,能够理解需求、设计和代码,并通过测试来发现问题并提供解决方案。能够快速定位问题、复现问题以及准确地报告问题是非常重要的。
(3)耐心和细致的态度:测试工作需要耐心和细致的态度,对于繁琐的测试任务和反复的测试工作要有足够的耐心,同时对细节要有高度的敏感性,能够仔细观察和记录测试结果。
(4)良好的沟通能力:测试人员需要与开发人员、产品经理和其他相关团队进行有效的沟通,理解需求和预期,并将测试结果清晰地传达给相关人员。良好的沟通能力可以帮助测试人员更好地协调工作和解决问题。
(5)团队合作能力:测试是一个协作的过程,测试人员需要与其他开发人员、产品人员和QA团队紧密合作。良好的团队合作能力可以帮助测试人员有效地共同解决问题和提高测试质量。
(6)持续学习的态度:软件测试领域不断变化和更新,测试人员需要保持持续学习的态度,了解最新的测试方法和技术,提升自己的专业水平,不断改进和创新测试工作。
5、一道数学题:100的阶乘会落在下列4个从小到大的数的哪个区间内:2^32 2^64 2^128 2^256
【回答】先问了高考数学成绩,然后就考了这题,思路是100!=100×99×98……×2×1 然后可以写成(100×1)×(99×2)……(50×51),然后因为100×1是括起来最小的结果,50×51是括起来最大的结果;这样的括号有50对,那么100!的结果一定落在100的50次方,和50×51的50次方之间;然后对100的50次方,以2为底取对数;再对2的256次方以2为底取对数;最后比较出来100!比2的256次方大
【写在后面】最终的面试结果要等2周后才知道,waiting,,,
相关知识
【游戏测试工程师】2023年4399秋招笔试+面试记录
游戏测试笔试 —— 面试题!
qq飞车秋名山最快跑法与记录 快速通过技巧及记录查看方法
2022年4399游戏盒游戏发布会,多款游戏亮点回顾
这个面试有点硬游戏多少钱
4399小游戏江湖招募令发布!
【第3章
4399手机游戏专区大全
米哈游如何做游戏测试?游戏一个版本要处理3200多个BUG!
《创世战车》「燃擎测试」充值返利公告
推荐资讯
- 1老六爱找茬美女的烦恼怎么过- 4999
- 2博德之门3黄金雏龙法杖怎么得 4867
- 3《大侠立志传》剿灭摸金门任务 4312
- 4代号破晓官方正版角色介绍 4023
- 5赛马娘锻炼到底的伙伴支援卡事 3802
- 6闪烁之光11月兑换码大全20 3774
- 7原神原海异种刷怪路线-原神原 3547
- 8爆梗找茬王厕所特工怎么通关- 3542
- 9《我的世界》领地删除指令是什 3434
- 10原神开局星落湖怎么出去 原神 3426