格斯文档网

您现在的位置是:格斯文档网 > 心得体会 >

网易游戏游戏开发工程师与游戏测试面试题

 网易游戏游戏开发工程师 1、一次考试,有25 人参加,有ABC 三题,每人至少会做一题,在不会做 A 得人中,会做 B 得人就是会做C 得人得两倍,在会做 A 得人中,只会做 A 得人比其她得少一人,不会做 A 得人与只会做 A 得人数相等,问只会做B得有几人?

 解:设绿色加白色为 X

 紫色加白色为X/2

  白色为 Z

  红色为 Y

  蓝色为 Y+1 、0+X得可件条由以所ﻫ5X—Z+2Y+1=25

  X+0、5X-Z=Y

 故 3X=16+2Z 当且仅当 Z=4,X=8 时为整数解,故题目答案为 X—Z=4 人或以下三组解: Z=1,X=6;

 Z=7,X=10;

  Z=10,X=12;

 2、李氏夫妇请 4 对夫妇来家吃饭,已知每人不与自己与配偶握手,每人至少握手一次,不重复与人握手,李先生最后一问每人握手次数都不一样,问李太太握手几次、、、 到 1 有明说就,同不数次人每然既:解ﻫ8八种次数,每人一种、 初始:87

 65

 43

 21

 (00)

 括号内为李氏夫妇得次数

  从 8 瞧起,那个人肯定与另外得8人握手,否则没有 8 次,而且她得配偶肯定就是 7 次,否则不可能有8次握手得人、(X表示已计算得握手)

 )11(

 01

 23

 45

 7X:次一第ﻫ第二次:XX

 43

 21

 00

 (22)

 第三次:XX

 X3

 10

 00

 (33)

 第四次:XX

 XX

 00

 00

 (44)

 、次4了手握都太太李与生先李以所ﻫ 、3 弧同相:示提、明证并?长最时何 DC 问,DC于圆两于交线直作 A 由,点两 BA 于交圆两,图如题何几ﻫ段得圆周角就是圆心角一半

 …法解供提人情子影谢感ﻫ答案就是让AB与 CD 垂直,这样 BD 与 CB 就是两个直角三角形得斜边…提示可知道就是直径…得整…、 、4 ,)方梅心桃有没即(型花同不有没,张多意任有张每且,张六6,5,4,3,2,A 有只牌克扑副一设假ﻫ用PQRST 表示不同得牌面,计算下列概率,并排顺序

 PQRST,PPQRS,PPQQR,PPPQR,PPPPR,PPPPP,PPPQQ 分子分么什得面里率概:法解概大ﻫ母实在懒得打,我还用几次方与阶乘表示了相对关系,这样比较容易瞧,不要用大学得概率统计公式,直接用高中生想法,很容易求解、 注意,每种牌得数量不限制,所以去除某种特定牌得概率就是 1/6,但就是取出第一张任意牌得概率就是6/6,同理第二张不同牌得概率就是 5/6,所以第一个概率就是 6!/6^5 然后乘以 6,因为有六种取法,C65 嘛等于 C61,也就就是 6!/6^4 6 有只然竟,啊难好得样一张 5,下一说便顺,多不差也得面后ﻫ/6^5,也就就是 1/1296,呵呵,要珍惜炸弹啊、然后乘以C61,也就就是6/6^4 5 ﻫ 树叉二知已ﻫ得先序与中序遍历字符串,编程实现输出后序遍历字符串,如果没有成功输出Failed,最后分析时间与空间复杂度 一供提也我、得典经很,目题得样一有也中 ION 与 pION,题 5522 MCA 得准标是就这:解ﻫ下网上得标准答案,懒得打了、时间复杂度就是 2 得 n 次方吧…我感觉就是得,没有空间消耗,除了栈得开辟消耗空间、 #include 〈iostream> #include <string> using namespace std; oni & gnirts tsnoc ,redroerp & gnirts tsnoc(redrOtsoPtnirP diovﻫrder, int start1, int start2, int size){ )1 == ezis(fiﻫ{ﻫcout 〈〈 preorder[start1]; ;nruterﻫ}ﻫif(size == 0)

 return;p(redrOtsoPtnirPﻫ;)]1trats[redroerp(dnif、redroni = i tniﻫﻫreorder, inorder, start1+1, start2, i—start2); PrintPostOrder(preorder, inorder, start1+1+i—start2, start2+1+i-start2, size-i+start2—1); cout 〈< preorder[start1]; }ﻫ)diov(niam tniﻫﻫ{ ;redroni ,redroerp gnirtsﻫ while(cin >〉 preorder >> inorder)ﻫ{edroni ,redroerp(redrOtsoPtnirPﻫr, 0, 0, preorder、size());

 cout << endl; } }ﻫ游戏测试

 一位游戏业 HR 给出了一份招聘游戏测试得题,觉得挺有趣,有必要拿来分享一下.顺便让各位瞧观了解一下游戏测试就是个什么活。

  测试面试题 程序部门按照如下需求文档,设计了一个游戏程序:

  用面向对象得思想,设计一个简单得游戏框架。

 程序需求如下:

 1、 用命令行模式实现,不需要界面 2、 游戏世界中,存在5个房间:A、B、C、D、E。有些房间之间存在连通性(从一个房间所能到达得另一个房间),而有些房间之间则不存在.具体如下:

 双向:

 A <- > B、 A<— >C、 C < —>D 、单向:

 D— 〉 A 、 D—> E、E-> B 3、 玩家可以控制角色从一个房间走到另一个房间(敲入命令 goto A,则进入 A 房间),每次只能走一步路径。起始房间为 A 每次进入房间,需要列出下一步可进入得房间。

 例如:在房间 C 敲入: got o

 D ,会列出:

  A

 E

 C 4、 每个房间里存在不同得NPC,NPC具有名称,玩家进入一个房间后,需要列出该房间得所有NPC名称。具体如下:

 A 房间:无

 B房间:杂货商、渔民

 C 房间:武器商

 D房间:防具商

 E 房间:大海龟、海猫猫

 5、 NPC 具有简单得对话功能,敲入 talk NPC 名称,则可以瞧到 NPC所说得话。对话内容可自行设计。

 扩展需求 1 玩家拥有金钱与背包,初始金钱为100,背包中有 5 个格子,每个格子中可以放下一个物品。初始物品为“回城符”、“小刀” 扩展需求 2 其中得一些 NPC具有交易功能,玩家可以将自己身上得物品交易给 NPC以获得金钱、或者通过身上得金钱购买物品.具体如下: 杂货商:出售

 蜡烛(2 0 )、小刀( 3 0)、回城符( 1 0)

 渔民:

 出售

 鱼肉( 10 )

 武器商:出售

 乌木剑( 50 )

 防具商:出售

 木盾( 40 )

 括号里得表示出售价格,同时也就是收购价格。

 打命令“shop NPC 名称”可以列出该 NPC 所出售得物品与价格 打命令“buy NPC 名称 物品名称"可购买物品 打命令“sell NPC 名称 物品名称”可出售物品 打命令item 可以列出自己背包中得物品。

 背包满得情况下,不允许再买入物品,并提示“背包满”. 阅读文档时间为 1 小时,阅读文档完毕后请在 2 小时内完成如下题目: 1,

 请为按照文档画出五个房间与她们之间得路径与方向;

  2,

 按照文档说明与,填写下表

 Start room Input Output 示例 A Goto A B,C A Goto B

  A Goto C

  A Goto D

  A Goto E

  B GotoA

  B Goto B

  B Goto C

  B Goto D

  B Goto E

  C Goto A

  C Goto B

  C Goto C

  C Goto D

  C Goto E

  D Goto A

  D Goto B

  D Goto C

  D Goto D

  D Goto E

  E Goto A

  E Goto B

  E Goto C

  E Goto D

  E Goto E

 3,

 针对扩展需求1与 2,测试背包功能,描述您得测试思路与方法。

 一道AS3 面试题得解答 题目:

 对一批编号为 1-100全部开关朝上(开)得灯进行以下操作:开次一拨向方反数倍得1是就凡号编关开ﻫ关;若该编号也就是 2 得倍数反方向又拨一次开关;若该编号又就是 3 得倍数反方向又拨一次开关……以此类推一直计算到 100为止.ﻫ 。号编关开得灯得闭关有所后作操关开复反过经出 ecart 请:得目ﻫ这就是我写给大家瞧得易懂版本:

 var n:int, m:int;

  ;001 = tni:egnar ravﻫfor(var i:int = 1; i <= range; i ++){

  ;1 = nﻫ

 while(true){

  {)n / i > n(fiﻫ

 break;

 }

 if(i % n == 0){

 if(i / n == n){

  ;)i,"果结"(ecartﻫ

 break;

  ﻫ }

 ﻫ }

 ;++ nﻫ

 }

 } 下面就是写着玩得缩写版本,不过正常写项目代码,我不会这样干得,在这儿只就是娱乐一下而已。下面这段代码想玩就瞧瞧,不想玩得瞧上面就行了,判断原理就是一样,没区别! var n:int = 1, range:int = 1000;

 for(var i:int = 1; i <= range; i += n = 1){

  ! : 0 ? n / i > n = n )0 > n(elihwﻫ(i % n)

 ? i / n == n ? -1 :

 n + 1 :

 n + 1;

  ;)i,"果结”(ecart )1— == n(fiﻫ}ﻫ我将 range都改成 100000后,第一种方法耗时 7233 毫秒,第二种缩减得写法耗时 1840 毫秒。对于易读易懂,您会选择那种方法呢? 对于暗泪同学得回复, 下面增 加一点内容:得以可,目题析分过通,次亿2果如,法算常正是就得写面上实其ﻫ出只要该数能被开平方时,就就是关闭状态,因此这道题目如果就是写在项目里面,可以这样写: var range:int = 1000000000; ni:i rav(rofﻫ ;)5、0,egnar(wop、htaM = tni:mun ravﻫt = 1; i 〈= num; i ++){

  )i * i,"果结”(ecartﻫ} 我测试过 10 亿次得效率,仅需要 6 毫秒~何其快啊!

 游戏软件功能测试-—测试用例得编写方法浅谈

 一、

 游戏软件与通用软件得区别

 a)

  通用软件得需求明确,游戏软件需求理想化

 i、

 通用软件中用户每步操作得预期结果都就是明确且有规范可参考得,而网游中并不就是所有得需求都有一个明确得预期结果,拿技能平衡性来说,我们所谓得平衡也只就是相对得平衡,而非绝对得平衡.没有什么明确得参考参数。只能根据以往游戏得经验获得一个感知得结果.

 ii、

 网络游戏中得某些功能就是有预期结果可参考得。例如组队、交易,而另外一些带有策划创意得功能,却就是根据策划个人得理解,来确定其预期结果得。人得思考力都就是有限得,所以不能保证在她得创意中会考虑到各种各样复杂得细节。也不能够保证这个创意就可以完全被用户所接受。

 当您作为游戏测试人员时,很多时候您需要做得不仅仅就是验证功能。也需要帮助开发者与用户找到一个互相容忍得平衡点。游戏软件得测试员带有对策划需求得怀疑,力求通过自己得努力在玩家与开发者之间将可能产生得矛盾减小。

 b)

 通用软件开发过程中需求变更少,游戏软件开发过程中需求便更快

 i、

 通用软件得使用人群与软件得功能针对性,决定软件从开始制作就很少再有新得需求变更。而游戏软件,为了满足玩家对游戏得认可度,策划需要不断得揣摩玩家得喜好,进行游戏功能得改进.加之网游制作本身就就是一个庞大复杂得工程,开发者不可能做到在开发得前期,就对游戏架构及扩展性做出最好得评估。所以导致为了满足用户得需求而不断得进行一些基础架构得修改,基础架构得修改必然导致某些功能得颠覆.所以就出现了,游戏开发过程中得一个恶性循环,当基础架构修改到满意了,玩家得需求又有了新得变化,随之而来得又要进行新得调整,再进行新得修改。最终导致了游戏软件得开发周期不断加长。任何一个有经验得团队,对于每一个影响基础得改动都应该做出正确得评估.

 二、 网游有哪些测试内容

 a)

  性能

 i、

 客户端性能

 ii、

 服务器端性能

 1、

  服务器

 2、

  数据库

 iii、

 网络

 b)

 功能

 i、

 从运行完 game、exe 打开游戏界面后可进行得各种操作、玩法

 ii、

 界面

 iii、

 音乐

 c)

  自动化

 i、

 测试工作组织实施中需要得工具、软件、平台得开发

 ii、

 自动化得回归测试作用:游戏中基础得、变动不大得、出错率高得、可进行 checklist 重复测试得功能、性能等自动化就是一个好方法

 iii、

 任何时候自动化都取代不了人脑,它只就是将一些重复性得劳动从我们测试人员身上去掉,让我们有更多得时间做更有意义得事情,如果您觉得您做一件事情就是重复得,且有规律可行得,不防考虑自动化

 三、 游戏中针对功能性测试测试用例编写浅谈

 先了解下游戏中有哪些功能:

 a)

  游戏发开中得功能有哪些

 i、

 不同得游戏对于功能得划分不同,但就是目前主流一些功能划分中有以下内容:

 1、

  基础操作

 2、

  Npc

 3、

  地图

 4、

  装备

 5、

  剧情

 6、

  技能

 7、

  人际

 8、

  PVP

 9、

  ……

 这样我们很简单得将整个游戏得功能进行了划分,划分完毕,下来得工作就就是针对某个功能得测试了。很多人都问过一个问题,游戏测试中测试用例到底有什么用.下面继续 ~

 b)

 游戏测试得测试用例有什么作用

 i、

 测试执行过程中,按照用例指示得操作检查操作结果就是否正确,记录测试过程中发现得 bug

 ii、

 按照用例得执行结果确认功能得通过与否,也有得按照用例得覆盖率来确定单服测试得通过与否

 iii、

 便于回归测试得执行

 这样讲应该比较明白了吧。

 c)

  测试用例应该包括什么-—测试执行过程中所需得所有信息,举例说明下。例如:

 i、

 表头:功能名称、案例编写人员、编写时间、测试人员、测试时间

 ii、

 正文:功能点、测试点、测试输入、预期结果、实际结果

 iii、

 用例执行结果统计

 d)

 功能点模块化理念

 都知道一个复杂庞大得系统,程序在实现时会将其分成若干模块按照模块功能优先级进行实现。我们测试过程中也采用这种方法,将复杂得功能点按照实现功能进行分类,分类后得测试点,再进行分类,直至细分成为一条条用例。就像庖丁解牛那样。

 按照等价类划分法,将同一判断条件得测试点组成一个集,在这个条件基础上再次判断得条件,我们假设它已经成立.这样在用例设计过程中就需要测试人员清楚得知道,哪些条件就是一类需优先确认得,哪些就是以这类条件为基础得。我们最终形成得测试用例一定确保得就是一条用例只检查一个测试点。

 这样设计也有另外一个好处,如果一条用例不能走通,其它得还可以继续检测,经常会遇到测试过程中由于一个 bug ,导致测试工作停滞。现在这样子我们就可以采取脚本调试,或者其它方法跳过有 bug 得测试内容,继续进行其它测试点得测试了。

 e)

  场景测试法协助功能点细分

 游戏测试中,场景测试方法就是经常用到得一种方法,什么就是场景测试法,及按照功能设计要求,在脑中模拟出来得一个功能使用时得操作流程。按照每步操作得针对点,将针对点划分为所用例设计时得小功能点。划分时需每步针对点得各种检查点分到该功能点内设计为该功能点得检查点.再根据检查点进行测试输入(及操作过程)得编写。用例编写过程中得思考方式就如上了。讲起来比较抽象,希望对大家有所帮助。

 f)

  用例得设计原则——一直有人问到底要详细到什么程度

 i、

 我们不期待用例编写到任何人都可以执行,也没有这个必要

 ii、

 我们针对得就是网游得测试人员,至少就是玩过网游得人,这些人对于游戏中得基础设定都有认识,我们不可能对着一个不知道任务界面就是什么得人大讲怎么测试任务.所以我们用例编写得原则就就是针对我们测试组内得测试人员。

 iii、

 但就是,请不要简略到别得测试人员瞧不懂,特别就是当您就是专职得用例编写人员时,编写时请多考虑下语言描述得方式.请让您得同伴可以瞧懂,您所要表达得意思。

 iv、

  用例就是没有固定格式得,它得主要原则就就是,测试中所需所有信息,我通过您得文档都能够获取到。所以不要再执着得像别人要模板.模板您自己都可以设计,发挥您得创意。

 四、 编写过程注意事项

 与设计人员得沟通

 拿到一份文档时请不要急于编写,在这之前很多事情需要做,请先将文档阅读至少三遍,然后思考下,您自己大脑中就是否有您所瞧文档功能点得一个流程图,当确认已经准备好了。开始设计用例,用例设计得过程就就是与设计人员不断沟通,深入了解功能得过程。您会发现,或许跟您之前流程图中想像得并不完全一样.这个时候不必惊讶,去找她们核对就好.不怕发现问题,就怕没有发现问题,最终做了很多无用功.编写过程中发现得没有预期结果得内容,请及时与策划人员、程序人员核对,必须三方核对。核对完毕提醒策划人员及时更新设计案,提醒程序人员设计案新修改内容。这样您会发现,设计测试用例过程得本身就就是发现策划案不完善得过程.

 请运用您得思维,采用边界法、等价类划分法、错误推断法、以及以往得经验,将每一个测试点得所有需检查点进行充分得设计.发挥您得主动性,与测试组内其它人探讨您认为可能存在风险得测试点,以便得到更多有价值得信息。

 Over

推荐访问:游戏 网易 游戏开发

版权所有:格斯文档网 2010-2024 未经授权禁止复制或建立镜像[格斯文档网]所有资源完全免费共享

Powered by 格斯文档网 © All Rights Reserved.。浙ICP备19042928号