网易互娱游戏研发面经及答案:游戏相关

游戏相关

1.你知道游戏开发的过程嘛?

2.判断AOE技能是否击中物体

一开始答判断距离。后来面试官问如果技能释放频繁应该如何优化。我就答到四叉树去了,也不知道对不对。然后面试官问了下时间复杂度和空间复杂度怎么变化。

4.吃鸡的圈,每次更新圈会缩小成一个新圈,怎么选择新圈的圆心,写代码

5.一个装备,1-4级升级50%概率,5-9级也是50%概率,但是失败了会掉一级,现在要求升到9级花费次数的期望

6.三个技能框,A,B,C三个技能,不同组合是不同结果,总共有多少个?可以重复使用。假如说不同的顺序是一种结果呢?ABC和BAC一样

1)每一个位置出现ABC的可能次数都是3,故答案是3的3次方,27。
2)不同的顺序是相同结果的共有10种。

3.两个不同的终端设备,同时登陆一个账号,另一个将会下线?怎样避免?

游戏里的万人排行榜如何快速刷新

游戏里的大地图如何加载?如果有特别大的地图怎么管理,怎么实现一直朝一个方向走,地图一直延伸。

哪些算游戏外挂,如果知道一个外挂,怎么让它失效;

如何发现玩家掉线?

有一张表,表里存放了很多玩家信息和他们对应的IP地址,IP地址对应不同的位置。需要实现的是玩家一登录,获取到玩家的IP地址,并且返回对应的地址,如果IP地址不在表中,则完成一个插入操作并判断。用什么数据结构来实现

使用多叉查找树来做,类似数据库索引

8.接上一题,如果还要同时快速查找一个区间的IP应该怎么做

使用跳表来做

6.智力题
有一张桌子,桌子上有很多砖头,现在我们要把砖头摞在桌子边缘又不能让砖头掉下去,同时要让砖头在桌子边沿之外的部分尽可能长,怎么摞?
ABC三个枪手,相互击杀的
倒水称重

有10瓶药,每瓶药里面有若干数目的药片(每瓶的药片数量不等),其中有9瓶药的每片药物的重量为1g,剩下一瓶药中每片药物重量为1.1g。现在给一个电子秤,可以精确的称出物品的重量,问最少几次能找到重量不同的那瓶药物?

一次即可。记瓶子编号为i(0~9),每瓶药中分别取i片,加在一起共45片,放到电子秤上称重。记重量小数点的数后为0.i,则对应第i瓶为重量不同的药物。

模型太多了没法全加载到内存,当需要一个模型但是没在内存中时就得去加载它,并且释放掉一些已经加载的模型,问怎么优化这个过程

应该就是LRU、LFU那些策略吧

排名实时更新,你排在几万名的位置,怎么快速查到自己的排名-(这个感觉回答的不太好。。。回答了一个二分查找的思路,但有一些坑要注意)

1.老问题,快速找到自己在排行榜的排名
2. 游戏中人物有视野,怎样实现把视野中的人显示出来视野外的不显示(不太记得了)

  1. 对网易的看法,对其他游戏公司的看法等等
    作者:…En
    链接:https://www.nowcoder.com/discuss/246455?type=0&order=0&pos=17&page=1
    来源:牛客网

2.判断AOE技能是否击中物体

答:一开始答判断距离。后来面试官问如果技能释放频繁应该如何优化。我就答到四叉树去了,也不知道对不对。然后面试官问了下时间复杂度和空间复杂度怎么变化。

3.概率题。两人抛硬币,A先。如果A正,A赢。A反,轮到B抛。一直进行直到有人抛到正面。问谁的赢面大。

答:想了一下。A第一轮赢的概率为1/2(一开始扔到正面)。B第一轮赢的概率是1/4(反正)。还有1/4概率到下一轮。所以A赢概率为(1/2)/(1/2+1/4) = 2/3。所以A赢面大。

4.寻路问题。飞机想由出口到终点。让我设计系统。(即设计图怎么表示)

答:面试官说从简单的来。我就说用二维矩阵表示,障碍为1,其他为0。

5.(也就是二维矩阵每个数字表示多大体积)障碍体积应该多大?物体有体积应该怎么考虑?

答:跟飞机的最小行进单位有关。

6.寻路算法

答:BFS

7.如果图很大,怎么优化?

答:答了A*,动态规划以及图最短路径等算法。

8.喜不喜欢玩游戏等问题。

9.为什么投递游戏岗位。
AOE,kd-tree设置半径查询,可以嘛?楼主是图形的吗?我问了很多渲染八叉树之类,然后c++,算法题。

作者:sfwfs
链接:https://www.nowcoder.com/discuss/277374?type=0&order=0&pos=11&page=1
来源:牛客网

给了个Person类,里面int id, int name, string name, string data,写两个函数char *ser(Person &p)和Person des(char *a),序列化和反序列化
讲思路吧
不行,你就写,写完再顺着代码跟我讲
kuakuakua写完了
你用’+‘当分隔符,万一这两个string里面有’+‘怎么办,换分隔符永远无法解决这个问题
计算一下name的长度,放到id之前,用’+'分隔,记录就行
给你个二维数组,代表地形高度,你滑雪只能上下左右走,且只能滑严格小于地形高度的位置,问最长递减序列长度
用个dp存下每个点所需长度,然后dfs的时候只要比较就行
那你起始点怎么选,选的不好跟dfs没啥区别啊
(思考)那就从最矮的点开始算,这样每次后面的滑到矮的点就不用计算了
复杂度是多少
给你一个坐标轴,上面很多车,方向和速度都给你了,怎么判断最先碰撞的是什么车
假如撞上会消失,怎么快速判断最后剩下什么车,不能每次撞完就遍历(胡答了几种,最后还是没答上来)

作者:htod
链接:https://www.nowcoder.com/discuss/278084?type=0&order=0&pos=10&page=1
来源:牛客网

喜欢玩什么游戏?(王者荣耀)
最喜欢玩哪个英雄,怎么设计一个新英雄,有哪些类,怎么继承,画个图(考察oop能力,最好事先做点准备,就算没玩过王者荣耀,不要像我乱写一通心里没底)
伤害判断放在哪里?要考虑策划以后会加新的机制,怎么设计这个控制伤害的模块?(考察设计模式,不太会,再次诚实)
(看到unity)物理系统讲下,碰撞怎么做的。
jvfjnvnkjvz知道吗?(什么,是干嘛的?)svnfnvhd,unity的脚本规范。(不知道,gg)
shader写过吗,卡通效果讲下怎么实现,这个描边怎么实现
看过的最有帮助的书?(说的《unity shader入门精要》和《3D数学基础:图形与游戏开发》,都是入门级的,暑假看的。推荐)
书里印象最深的知识(讲了欧拉角、四元数、矩阵)
找公司考虑哪些因素?上海可以接受吗?(埋下伏笔)
觉得游戏最重要的是什么?(快乐就完事了)

玩过的游戏,挑一个熟悉的?
游戏里一个处理—客户端和服务器处理逻辑

作者:想要华为爸爸的offer~
链接:https://www.nowcoder.com/discuss/280353?type=0&order=0&pos=5&page=1
来源:牛客网

1.介绍一个做了最多工作的项目
2.一个圆内分布10个点,怎么让他们均匀分布
3.聊了游戏比赛的内容,讲了动画的设计和状态装换,写一个动画的基类
4.撕代码,删除单链表中的一个节点(无返回值,只知道要删除的节点的指针)

作者:土豆鸡块
链接:https://www.nowcoder.com/discuss/239347?type=post&order=hot&pos=&page=1
来源:牛客网

1.简述一下简历上自己觉得做得最好的项目
2.玩过哪些游戏,说一下你对游戏发展的理解
3.一个游戏中,你周围有100个人,你射了一枪,如何在不遍历周围玩家坐标的情况下,把击中可能性低的玩家排除掉
4.将玩家的胳膊简化成一个“胶囊”,“胶囊”由一个长方形和两个半圆组成,已知长方形的长为l,半径为r(长方形的宽为2r),子弹的运动轨迹也是已知,如何判断它们是否相交
5 写一下中序遍历的代码
6 如果泛化你写的中序遍历的代码,使别人可以用你的中序遍历函数完成个性化操作(例如:每个节点的值 1或-1,或者查找某个值(要求查到该值就立马停止遍历,返回结果))

作者:红袖添张
链接:https://www.nowcoder.com/discuss/273631?type=post&order=hot&pos=&page=1
来源:牛客网

先是到了之后在会议室手撕代码。这个不难lowbound(半小时)
然后拿着你手写的代码被叫到其他地方去面试
面试官人很好
问你常用的语言是什么。我:java 。项目用过一些c#
以下是问题(顺序不太记得了,问题基本都列下来)
1。java和c#的垃圾回收机制有什么不同
2。int[]arr 和arraylist 和了linkedlist底层实现以及区别
3。手撕–用两个栈实现一个队列
4。手撕–给你一个x轴,上面分布着许多小球。小球位置p[i]小球速度v[i],速度方向也知道 -号表示,两球碰撞之后会消失,求所有碰撞时间。
5。了解网络编程么。(我用c#做过)你项目用的是tcp还是udp。区别是什么。
6。多线程问题
7。你在学校都做过哪些项目。(本人课题是控制方面的…)为什么会选择游戏开发。
8。在10w个数据找出其中最大的前100个
9。有啥想问面试官的么。前台等一下结果
(就凉了…手撕的我确实没写出来,还是太菜了)
大家加油。希望有所帮助。

比如高效的字符串复制函数 HTTPS 输入域名的全过程 小游戏相关的策略 SYN攻击 …… 还有自己的项目等等
作者:ChessC
链接:https://www.nowcoder.com/discuss/263042?type=0&order=0&pos=2&page=1
来源:牛客网

(1)一个二维平面,上面有很多店铺,(x,y)坐标,有的稀疏有的密集,现在要求给定点的最近店铺是哪一个?BFS?那么有没有更优的?比如说落在了稀疏区域怎么办?
(2)一个装备,1-4级升级50%概率,5-9级也是50%概率,但是失败了会掉一级,现在要求升到9级的期望
(3)三个技能框,A,B,C三个技能,不同组合是不同结果,总共有多少个?可以重复使用。假如说不同的顺序一样呢?ABC和BAC一样
(4)字符串逆置,传char*
(5)100w的数据,name,26个字符,要找匹配BC的那些项。ABCD可行,BCDA可行,FBDC不可行。这里我说前缀树,然后问题在于不是B打头怎么办,面试官提示是否可以对前缀树的结构进行改进?不进行遍历来判断?没想出来

你可能感兴趣的:(面试)