网易游戏游戏开发工程师与游戏测试面试题.docx
- 文档编号:16591474
- 上传时间:2023-07-15
- 格式:DOCX
- 页数:7
- 大小:43.82KB
网易游戏游戏开发工程师与游戏测试面试题.docx
《网易游戏游戏开发工程师与游戏测试面试题.docx》由会员分享,可在线阅读,更多相关《网易游戏游戏开发工程师与游戏测试面试题.docx(7页珍藏版)》请在冰点文库上搜索。
网易游戏游戏开发工程师与游戏测试面试题
网易游戏游戏开发工程师与游戏测试面试题
网易游戏游戏开发工程师
1.一次考试,有25人参加,有ABC三题,每人至少会做一题,在不会做A的人中,会做B的人是会做C的人的两倍,在会做A的人中,只会做A的人比其他的少一人,不会做A的人和只会做A的人数相等,问只会做B的有几人?
解:
设绿色加白色为X 紫色加白色为X/2 白色为Z 红色为Y 蓝色为Y+1
所以由条件可得X+0.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表示已计算的握手)
第一次:
X7 54 32 10 (11)
第二次:
XX 43 21 00 (22)
第三次:
XX X3 10 00 (33)
第四次:
XX XX 00 00 (44)
所以李先生和李太太都握手了4次.
3.几何题如图,两圆交于AB两点,由A作直线交于两圆于CD,问CD何时最长?
并证明.提示:
相同弧段的圆周角是圆心角一半
cout< return; } if(size==0) return; inti=inorder.find(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,preorder.size()); cout< } } 游戏测试 一位游戏业HR给出了一份招聘游戏测试的题,觉得挺有趣,有必要拿来分享一下。 顺便让各位看观了解一下游戏测试是个什么活。 测试面试题 程序部门按照如下需求文档,设计了一个游戏程序: 用面向对象的思想,设计一个简单的游戏框架。 程序需求如下: 1.用命令行模式实现,不需要界面 2.游戏世界中,存在5个房间: A、B、C、D、E。 有些房间之间存在连通性(从一个房间所能到达的另一个房间),而有些房间之间则不存在。 具体如下: 双向: A<->B、A<->C、C<->D、单向: D->A、D->E、E->B 3.玩家可以控制角色从一个房间走到另一个房间(敲入命令gotoA,则进入A房间),每次只能走一步路径。 起始房间为A 每次进入房间,需要列出下一步可进入的房间。 例如: 在房间C敲入: gotoD,会列出: A E C 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所出售的物品和价格 打命令“buyNPC名称物品名称”可购买物品 打命令“sellNPC名称物品名称”可出售物品 打命令item可以列出自己背包中的物品。 背包满的情况下,不允许再买入物品,并提示“背包满”。 阅读文档时间为1小时,阅读文档完毕后请在2小时内完成如下题目: 1, 请为按照文档画出五个房间和他们之间的路径和方向; 2, 按照文档说明和,填写下表 Startroom Input 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 C GotoB C GotoC C GotoD C GotoE D GotoA D GotoB D GotoC D GotoD D GotoE E GotoA E GotoB E GotoC E GotoD E GotoE 3, 针对扩展需求1和2,测试背包功能,描述你的测试思路和方法。 一道AS3面试题的解答 题目: 对一批编号为1-100全部开关朝上(开)的灯进行以下操作: 开关编号凡是1的倍数反方向拨一次开关;若该编号也是2的倍数反方向又拨一次开关;若该编号又是3的倍数反方向又拨一次开关……以此类推一直计算到100为止。 目的: 请trace出经过反复开关操作后所有关闭的灯的开关编号。 这是我写给大家看的易懂版本: var n: int, m: int; var range: int = 100; for(var i: int = 1; i <= range; i ++){ n = 1; while(true){ if(n > i / n){ break; } if(i % n == 0){ if(i / n == n){ trace("结果",i); break; } } n ++; } } 下面是写着玩的缩写版本,不过正常写项目代码,我不会这样干的,在这儿只是娱乐一下而已。 下面这段代码想玩就看看,不想玩的看上面就行了,判断原理是一样,没区别! var n: int = 1, range: int = 1000; for(var i: int = 1; i <= range; i += n = 1){ while(n > 0) n = n > i / n ? 0 : ! (i % n) ? i / n == n ? -1 : n + 1 : n + 1; if(n == -1) trace("结果",i); } 我将range都改成100000后,第一种方法耗时7233毫秒,第二种缩减的写法耗时1840毫秒。 对于易读易懂,你会选择那种方法呢? 对于暗泪同学的回复,下面增加一点内容: 其实上面写的是正常算法,如果2亿次,通过分析题目,可以得出只要该数能被开平方时,就是关闭状态,因此这道题目如果是写在项目里面,可以这样写: var range: int = 1000000000; var num: int = Math.pow(range,0.5); for(var i: int = 1; i <= num; i ++){ trace("结果",i * i) } 我测试过10亿次的效率,仅需要6毫秒~何其快啊!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网易 游戏 开发 工程师 测试 试题