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

上传人:b****7 文档编号:15907461 上传时间:2023-07-08 格式:DOCX 页数:13 大小:141.93KB
下载 相关 举报
网易游戏游戏开发工程师与游戏测试面试题.docx_第1页
第1页 / 共13页
网易游戏游戏开发工程师与游戏测试面试题.docx_第2页
第2页 / 共13页
网易游戏游戏开发工程师与游戏测试面试题.docx_第3页
第3页 / 共13页
网易游戏游戏开发工程师与游戏测试面试题.docx_第4页
第4页 / 共13页
网易游戏游戏开发工程师与游戏测试面试题.docx_第5页
第5页 / 共13页
网易游戏游戏开发工程师与游戏测试面试题.docx_第6页
第6页 / 共13页
网易游戏游戏开发工程师与游戏测试面试题.docx_第7页
第7页 / 共13页
网易游戏游戏开发工程师与游戏测试面试题.docx_第8页
第8页 / 共13页
网易游戏游戏开发工程师与游戏测试面试题.docx_第9页
第9页 / 共13页
网易游戏游戏开发工程师与游戏测试面试题.docx_第10页
第10页 / 共13页
网易游戏游戏开发工程师与游戏测试面试题.docx_第11页
第11页 / 共13页
网易游戏游戏开发工程师与游戏测试面试题.docx_第12页
第12页 / 共13页
网易游戏游戏开发工程师与游戏测试面试题.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《网易游戏游戏开发工程师与游戏测试面试题.docx》由会员分享,可在线阅读,更多相关《网易游戏游戏开发工程师与游戏测试面试题.docx(13页珍藏版)》请在冰点文库上搜索。

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

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

网易游戏游戏开发工程师

1.一次考试,有25人参加,有ABC三题,每人至少会做一题,在不会做A的人中,会做B的人是会做C的人的两

倍,在会做A的人中,只会做A的人比其他的少一人,不会做A的人和只会做A的人数相等,问只会做B的有几

解:

设绿色加白色为X紫色加白色为X/2白色为Z红色为Y蓝色为Y+1

所以由条件可得X++2Y+1=25X+=Ya3X=16+2Z当且仅当Z=4,X=8时为整数解,故题目答案为X-Z=4人或以下

三组解:

Z=1,X=6;Z=7,X=10;Z=10,X=12;

2.李氏夫妇请4对夫妇来家吃饭

,已知每人不和自己和配偶握手,每人至少握手一次,不重复和人握手,李先生

初始:

87654321(00)括号内为李氏夫妇的次数

从8看起,那个人肯定和另外的8人握手,否则没有8次,而且他的配偶肯定是7次,否则不可能有8次握手的

人.(X表示已计算的握手)

第一次:

X7543210(11)

第二次:

XX432100(22)

第三次:

XXX31000(33)

第四次:

XXXX0000(44)

所以李先生和李太太都握手了4次.

3.几何题如图,两圆交于AB两点,由A作直线交于两圆于CD,问CD何时最长并证明.提示:

相同弧段的圆周角

是圆心角一半

感谢影子情人提供解法…

答案是让AB和CD垂直,这样BD和CB是两个直角三角形的斜边••提示可知道是直径…得整….

4.假设一副扑克牌只有A,2,3,4,5,6六张,且每张有任意多张,没有不同花型(即没有桃心梅方),用PQRST表示不

同的牌面,计算下列概率,并排顺序

PQRST,PPQRS,PPQQR,PPPQR,PPPPR,PPPPP,PPPQQ

大概解法:

概率里面的什么分子分母实在懒得打,我还用几次方和阶乘表示了相对关系,这样比较容易看,不要用大学的概率统计公式,直接用高中生想法,很容易求解.

注意,每种牌的数量不限制,所以去除某种特定牌的概率是1/6,但是取出第一张任意牌的概率是6/6,同理第二

张不同牌的概率是5/6,所以第一个概率是6!

/6人5然后乘以6,因为有六种取法,C65嘛等于C61,也就是6!

/6人4

后面的也差不多,顺便说一下,5张一样的好难啊,竟然只有6/6人5,也就是1/1296,呵呵,要珍惜炸弹啊.然后乘以

C61,也就是6/6人4

5已知二叉树的先序和中序遍历字符串,编程实现输出后序遍历字符串,如果没有成功输出Failed,最后分析时

间和空间复杂度

解:

这是标准的ACM2255题,NOIp和NOI中也有一样的题目,很经典的.我也提供一下网上的标准答案,懒得打

了.时间复杂度是2的n次方吧…我感觉是的,没有空间消耗,除了栈的开辟消耗空间.

#include

#include

usingnamespacestd;

voidPrintPostOrder(conststring

&preorder,conststring&inorder,intstartl,intstart2,intsize){

if(size==1)

cout<

return;

if(size==0)

return;

inti=(preorder[start1]);

PrintPostOrder(preorder,inorder,

start1+1,start2,i-start2);

PrintPostOrder(preorder,inorder,

start1+1+i-start2,start2+1+i-start2,size-i+start2-1);

cout<

intmain(void)stringpreorder,inorder;

while(cin>>preorder>>inorder)

PrintPostOrder(preorder,inorder,0,0,());

cout<

 

游戏测试

一位游戏业HR给出了一份招聘游戏测试的题,觉得挺有趣,有必要拿来分享一下。

顺便让各位看观了解一下游戏测试是个什么活。

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

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

程序需求如下:

1.用命令行模式实现,不需要界面

2.游戏世界中,存在5个房间:

A、B、C、D、E。

有些房间之间存在连通性(从一个房间所能到达的另一个房间),而有些房间之间则不存在。

具体如下:

双向:

Av->B、Av->C、Cv->D单向:

D->A、D->E、E->B

3.玩家可以控制角色从一个房间走到另一个房间(敲入命令gotoA,则进入A房间),每次只能走一步路

径。

起始房间为A每次进入房间,需要列出下一步可进入的房间。

例如:

在房间C敲入:

gotoD,会列岀:

4.

NPC名称。

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

A房间:

B房间:

杂货商、渔民

C房间:

武器商

D房间:

防具商

E房间:

大海龟、海猫猫

5.NPC具有简单的对话功能,敲入talkNPC名称,则可以看到NPC所说的话。

对话内容可自行设计。

扩展需求1

玩家拥有金钱和背包,初始金钱为100,背包中有5个格子,每个格子中可以放下一个物品。

初始物品为回

城符”、小刀”扩展需求2其中的一些NPC具有交易功能,玩家可以将自己身上的物品交易给NPC以获得金钱、或者通过身上的金钱购买物品。

具体如下:

杂货商:

岀售蜡烛(20)、小刀(30)、回城符(10)

渔民:

岀售鱼肉(10)

武器商:

岀售乌木剑(50)

防具商:

岀售木盾(40)

括号里的表示岀售价格,同时也是收购价格。

打命令

“shopNPC名称”可以列出该NPC所出售的物品和价格

背包满的情况下,不允许再买入物品,并提示背包满”。

阅读文档时间为1小时,阅读文档完毕后请在2小时内完成如下题目:

1,请为按照文档画出五个房间和他们之间的路径和方向;

2,按照文档说明和,填写下表

Startroom

nput

Output

示例A

GotoA

B,C「

A

GotoB

A

GotoC

A

GotoD

A

GotoE

B

GotoA

B

GotoB

B

GotoC

B

GotoD

B

GotoE

C

GotoA

-VC

GotoB

-VC

GotoC

-VC

GotoD

-VC

GotoE

D

GotoA

D

GotoB

D

GotoC

D

GotoD

D

GotoE

GotoA

GotoB

GotoC

GotoD

E,

GotoE

3,针对扩展需求1和2,测试背包功能,描述你的测试思路和方法。

一道AS3面试题的解答

题目

对一批编号为1-100全部开关朝上(开)的灯进行以下操作:

开关编号凡是1的倍数反方向拨一次开关;若该编号也是2的倍数反方向又拨一次开关;若该编号又是3

目的:

请trace出经过反复开关操作后所有关闭的灯的开关编号。

这是我写给大家看的易懂版本:

vam:

int,m:

int;

varrange:

int=100;

for(van:

int=1;iv=range;i++){n=1;

while(true){if(n>i/n){break;

if(i%n==0){if(i/n==n){trace("结果",i);

break;

n++;

下面是写着玩的缩写版本,不过正常写项目代码,我不会这样干的,在这儿只是娱乐一下而已。

下面这段代码想玩就看看,不想玩的看上面就行了,判断原理是一样,没区别!

varn:

int=1,range:

int=1000;

for(vari:

int=1;i<=range;i+=n=1){while(n>0)n=n>i/n0:

!

(i%n)i/n==n-1:

n+1:

n+1;

if(n==-1)trace("结果",i);

我将range都改成100000后,第一种方法耗时7233毫秒,第二种缩减的写法耗时1840毫秒。

对于易读易

懂,你会选择那种方法呢对于暗泪同学的回复,下面增加一点内容:

其实上面写的是正常算法,如果2亿次,通过分析题目,可以得出只要该数能被开平方时,就是关闭状态,

因此这道题目如果是写在项目里面,可以这样写:

varrange:

int=00;

varnum:

int=(range,;

for(vari:

int=1;i<=num;i++){trace("结果",i*i)

我测试过10亿次的效率,仅需要6毫秒~何其快啊!

游戏软件功能测试一一测试用例的编写方法浅谈

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

 

a)

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

i.

通用软件中用户每步操作的预期结果都是明确且有规范可参考的,而网游中并不是所有的需

求都有一个明确的预期结果,拿技能平衡性来说,我们所谓的平衡也只是相对的平衡,而非绝对的平衡。

没有什么明确的参考参数。

只能根据以往游戏的经验获得一个感知的结果。

ii.

网络游戏中的某些功能是有预期结果可参考的。

例如组队、交易,而另外一些带有策划创意的

功能,却是根据策划个人的理解,来确定其预期结果的。

人的思考力都是有限的,所以不能保证在他的创

意中会考虑到各种各样复杂的细节。

也不能够保证这个创意就可以完全被用户所接受。

当你作为游戏测试人员时,很多时候你需要做的不仅仅是验证功能。

也需要帮助开发者和用户找到一个互

相容忍的平衡点。

游戏软件的测试员带有对策划需求的怀疑,力求通过自己的努力在玩家和开发者之间将

可能产生的矛盾减小。

b)

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

i.

通用软件的使用人群和软件的功能针对性,决定软件从开始制作就很少再有新的需求变更。

而游戏软件,为了满足玩家对游戏的认可度,策划需要不断的揣摩玩家的喜好,进行游戏功能的改进。

之网游制作本身就是一个庞大复杂的工程,开发者不可能做到在开发的前期,就对游戏架构及扩展性做出

最好的评估。

所以导致为了满足用户的需求而不断的进行一些基础架构的修改,基础架构的修改必然导致

某些功能的颠覆。

所以就出现了,游戏开发过程中的一个恶性循环,当基础架构修改到满意了,玩家的需

求又有了新的变化,随之而来的又要进行新的调整,再进行新的修改。

最终导致了游戏软件的开发周期不

断加长。

任何一个有经验的团队,对于每一个影响基础的改动都应该做出正确的评估。

网游有哪些测试内容

a)

性能

i.

客户端性能

 

ii.

服务器端性能

1.

服务器

2.

数据库

iii.

网络

b)

功能

i.

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

ii.

界面

iii.

音乐

C)

自动化

i.

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

ii.

自动化的回归测试作用:

游戏中基础的、变动不大的、出错率高的、可进行

checklist重复测试

 

的功能、性能等自动化是一个好方法

iii.

任何时候自动化都取代不了人脑,它只是将一些重复性的劳动从我们测试人员身上去掉,让我们

不防考虑自动化

有更多的时间做更有意义的事情,如果你觉得你做一件事情是重复的,且有规律可行的,

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

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

9.

这样我们很简单的将整个游戏的功能进行了划分,划分完毕,下来的工作就是针对某个功能的测试了。

多人都问过一个问题,游戏测试中测试用例到底有什么用。

下面继续

 

ii.

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

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

 

都知道一个复杂庞大的系统,程序在实现时会将其分成若干模块按照模块功能优先级进行实现。

我们测试过程中也采用这种方法,将复杂的功能点按照实现功能进行分类,分类后的测试点,再进行分类,直至细分成为一条条用例。

就像庖丁解牛那样。

按照等价类划分法,将同一判断条件的测试点组成一个集,在这个条件基础上再次判断的条件,我们假设它已经成立。

这样在用例设计过程中就需要测试人员清楚的知道,哪些条件是一类需优先确认的,哪些是以这类条件为基础的。

我们最终形成的测试用例一定确保的是一条用例只检查一个测试点。

这样设计也有另外一个好处,如果一条用例不能走通,其它的还可以继续检测,经常会遇到测试过程中由

游戏测试中,场景测试方法是经常用到的一种方法,什么是场景测试法,及按照功能设计要求,在脑中模

拟出来的一个功能使用时的操作流程。

按照每步操作的针对点,将针对点划分为所用例设计时的小功能点。

划分时需每步针对点的各种检查点分到该功能点内设计为该功能点的检查点。

再根据检查点进行测试输入

(及操作过程)的编写。

用例编写过程中的思考方式就如上了。

讲起来比较抽象,希望对大家有所帮助。

们测试组内的测试人员。

 

与设计人员的沟通拿到一份文档时请不要急于编写,在这之前很多事情需要做,请先将文档阅读至少三遍,然后思考下,你自己大脑中是否有你所看文档功能点的一个流程图,当确认已经准备好了。

开始设计用例,用例设计的过程就是与设计人员不断沟通,深入了解功能的过程。

你会发现,或许跟你之前流程图中想像的并不完全一样。

这个时候不必惊讶,去找他们核对就好。

不怕发现问题,就怕没有发现问题,最终做了很多无用功。

编写过程中发现的没有预期结果的内容,请及时与策划人员、程序人员核对,必须三方核对。

核对完毕提醒策划人员及时更新设计案,提醒程序人员设计案新修改内容。

这样你会发现,设计测试用例过程的本身就是发现策划案不完善的过程。

请运用你的思维,采用边界法、等价类划分法、错误推断法、以及以往的经验,将每一个测试点的所有需检查点进行充分的设计。

发挥你的主动性,和测试组内其它人探讨你认为可能存在风险的测试点,以便得

到更多有价值的信息。

Over

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2