网易互娱平台开发二面4.15(1h)

面试官没有开摄像头,无自我介绍,最后也无反问环节,不知道会不会寄
全场景题,无八股,场景题会问的比较细致

场景一:贪吃蛇游戏设计,用面向对象思想,讲讲类对象,成员变量和方法怎么设计划分,实现游戏逻辑
场景二:微博系统,时间线查询功能,关注,发布,类似朋友圈,讲讲系统设计,包括数据库缓存的设计(这个系统设计讨论了将近半个小时,细致到会问表的字段,查询链路,优化,加锁情况)
数据结构:讲讲二叉排序树 讲讲完全二叉树
算法一:判断完全二叉树
算法二:给一个数组,都是整数,有序,除了一个单独元素剩下都是成对出现,找到单独的元素,要求logn复杂度(二分写红温了。。。)
全部评论
后续已挂
1 回复 分享
发布于 04-19 21:39 陕西
暑期?
点赞 回复 分享
发布于 05-13 09:18 北京
咱俩一个面试官吧,除了最后一个代码题不一样,其他的一模一样
点赞 回复 分享
发布于 04-22 10:36 广东
好难啊,答得怎么样
点赞 回复 分享
发布于 04-18 12:49 上海
佬,约三面了吗
点赞 回复 分享
发布于 04-18 11:20 甘肃
这算法题感觉技巧性有点高啊
点赞 回复 分享
发布于 04-17 15:45 陕西
场景题是口述的嘛,还是给题面的呢
点赞 回复 分享
发布于 04-15 22:39 广西
有一个关注表(id, 用户id,关注者id),然后我在用户id和关注者id都上了索引,然后并发场景,插入用户a关注用户b和插入用户c关注b,加锁情况,会冲突吗
点赞 回复 分享
发布于 04-15 17:30 北京

相关推荐

06-02 12:37
已编辑
吉林大学 C++
过去的一年一直在为找游戏客户端开发实习做准备,但直到现在也就只接到过一个小公司的offer。思考了一下打算转前端了,目前大三下转战也还有机会。我其实内心也还在纠结,感觉这样做属于是,遇到瓶颈困难就半途而废,东一榔头西一棒,最后一事无成,但又担心万一自己的分析是对的,转战是合理利用自己优势,死磕游戏开发是执迷不悟。下面我会讲述原因,希望有懂行的前辈或是同学锐评一下我的观点,如果能给出建议,真的不胜感激,我现在真的有些迷茫。放弃游戏客户端开发最大的原因:我感觉,我了解到的游戏客户端开发的学习路线不够规范化,缺少学习框架的机会,学起来总感觉只会纸上谈兵,脱离实际生产(面试考察)需要。我觉得学习一项计算机技能大概分三个层次:第一层基础:学习算法,线性代数,OS,计网,数据库这些计算机学科基础,熟练掌握对应领域常用编程语言,常用api;第二层框架:有了第一层可能可以开发一个看起来能运行的一个小项目,但毫无章法,这时候就要学习框架,用行业内更规范化的结构组织你的项目(我正是缺了这一部分,所以这会儿也说不出具体的),第三层专精:向底层更深度的理解,就比如说你可能会用unity的shader,会用c++的openglAPI,但为了达到第三层你最好要会计算机图形学,最好能自己手搓软渲染器,游戏引擎。根据个人面试经历、招聘要求我总结,游戏客户端开发有以下面试考点:1、c++面向对象,操作系统,问你八股要答得上来2、算法,说实话我个人感觉挺难的尤其是雷火精英实习笔试,面试时也经常会有那种看起来简单,但是加上时间复杂度限制就变成hard难度的题。3、计算机图形学、渲染管线、lua热更新网络编程、游戏引擎实操、这一部分正式我迷茫的地方所以可以看见我只是列出了关键词。前两点不是问题都算是第一层基础,无非就是多刷题多背,学习路线知识体系也很明了,你也大概知道面试官会问些什么。如果是因为前两点失利我是不会萌生换赛道的想法的,重点就在第三点。考点3混合了第二三两层,框架与进阶,游戏开发确实很卷,面试经常会遇到问第三层的知识,但其问第三层也无所谓了,我觉得第三层知识的考查就只是为了筛人,而且也不是所有公司都一定要求会第三层,所以卷也不是我想转战最主要的原因。最主要的问题是游戏开发在应试时缺乏一个公认的框架,我不知道要学什么,面试时面试官问的问题也是涉及广泛,有的时候我也分不清一些知识到底属于第三层还是第二层,我可以去学计算机图形学,了解管线渲染过程,学习lua热更新网络编程,学习OpenGL、学习unity等等,但这些都各自独立我不知道怎么把他们组织起来,不知道我要做一个什么东西,说出一些什么理论,在面试官看来是有意义的。所以又卷又学习框架不清晰,我的技术实力也不高,本身就是把计算机学习当作是学一门高级一点手艺,混口饭吃,当初选择游戏开发,是觉得反正以后都是软件开发,游戏开发,开发出来的产品是自己感兴趣的,可能会更有动力一些,而且游戏开发好像以后的技术壁垒会更高一些(现在看来也确实如此),就选择了游戏开发,我当时以为的难是知识难,现在才发现难点是你不知道要学什么。而我所了解到的前端就没有这个问题,虽然我还没开始具体的学习,但就根据我搜索到的面经,B站上学习路线指导视频,你可以看到面试官还有这些指导视频所关注的点是一致的,而且框架层的知识体系是明了的。当然前端开发也有他的问题比如竞争人数更多(但岗位至少比游戏开发多),技术壁垒低,目前职业发展有被淘汰的风险,很多人都在考虑转后端或是全栈。大概就是这样吧,游戏开发我真不知道我要做什么,不只这里我会四处去请教,再思考两三天,是要做个决断了。
牛客41406533...:好像游戏客户端知识又多又难,我感觉使劲刷算法和基础八股就行了,那些高级的像什么引擎底层应该也不指望应届生会吧
投递哔哩哔哩等公司7个岗位
点赞 评论 收藏
分享
找实习期间看了不少大佬们分享的面经,收获不少,牛客上好像没什么银之心的面经,所以简单分享下自己的经验。bg:985本,211硕,简历包含一段小厂的unity实习,一个UE的基于GAS的ARPG玩具demo,4月底开始投简历。----------------------------------------------------------------------------------------------Time Line:5.23 -- 笔试5.29 -- 1面5.30 -- 2面6.3 -- 3面6.6 -- hr面6.16 -- oc---------------------------------------------------------------------------------------------笔试:4道算法题1.给定一个排列,求出所有子区间的中位数之和2.给定两个字符串a,b,将b插入a使得字符串为回文串,求有多少种插入方法3.给定两个长为n的整数数列A,B,每次可以从A的左或者右端取一个数字,B按顺序取,假设第i次取走的数为ai,则第i次取走的价值为bi*ai,求最大价值和4.给定两个长度相同的字符串s,t,每次可以将任何位置的任何字符移动到字符串末端,求至少需要多少次操作可以市s变成t?---------------------------------------------------------------------------------------------面试体验很好,几个面试官相当专业,反问环节回答得很认真,不敷衍,收获良多;hr小姐姐推进流程和回复问题也很及时。------------------------------------------------------------------------------------------------一面(55min)1、自我介绍2、常规的C++八股拷打,这里推荐知乎 不羁的游侠 的 《计算机基础篇》 ,我自己面试过程中遇到的大部分c++八股都可以在里面找到。-----没答上来或者答得不好的几个问题:(1)一个子类继承了两个父类,两个父类中有同名的虚函数,子类中重写此虚函数,重写的是哪个父类的虚函数?(2)类模板的声明和实现可以分别放到头文件和cpp中吗,为什么?(3)执行exe,main函数是最先执行的吗?如果不是,举几个在main函数前执行的例子。3、问:你的项目里有用行为树实现的敌人AI,有看过源码吗?答:没有,不过知道AI寻路的一些过程和原理,(然后balabala开始讲NavMesh生成网格体的过程和A*算法)4、问:了解过动画系统中动画动起来的原理吗?答:动画的载体是骨骼,动画序列由时间轴上的一系列关键帧组成,每个关键帧存储了每根骨骼的变换信息,非关键帧的骨骼变换信息通过插值等方式可以计算出。问:介绍一下UE的动画状态机、混合动画、叠加动画?    答:知乎 TurBo强  的《UE 动画系统框架介绍及使用》;问:知道蒙皮动画吗?   答:没了解过问:看过动画系统源码吗?   答: 没有5、手撕算法题:(1)字符串加法,常规题(2)追加要求:两个数可以是负数询问面试官:能否拆分为两个正数的减法和加法的函数,计算前先单独处理运算的两个数的符号位,并调用相应的函数。面试官回答可以,写了5min没写完,面试官表示时间差不多了,直接进入反问环节。----------------------------------------------------------------------------------------------------二面(45min)1、自我介绍2、问:玩过什么游戏?答:最近在玩 最后纪元 ,一个暗黑风格的ARPG游戏3、问:这种ARPG游戏里,怎么对敌人造成伤害?答:比如玩家发射一个火球,需要为火球添加碰撞体,敌人身上也必须具备碰撞体,同时实现接受伤害的接口,当火球与敌人碰撞时,触发hit或者Overlap事件,传递碰撞信息,其中包括敌人对象,拿到敌人对象后,调用接受伤害的接口。4、问:怎么进行碰撞检测?答:粗略检测的话,可以用包围盒等包围需要检测碰撞的对象,然后检测两个包围盒是否有相交即可。过程中可以通过四叉树、八叉树或网格加速结构,快速排除远距对象。不同划分区域保证不会碰撞的情况下,就能快速过滤与本物体不同区域的其他潜在物体碰撞。问:包围盒和包围球间的范围检测哪种比较简单答:包围盒和包围盒吧,只需要把各个顶点投影到坐标轴上。(好像不对,应该是球和球?)问:球和球的范围检测怎么计算?球和盒的范围检测怎么计算?答:(几何知识,大概画个图就知道了)5、问:如果是近战攻击,怎么对敌人造成伤害?答:和远程差不多,不过是需要在近战武器上添加碰撞盒,创建两个场景组件放置在武器的两端,作为box trace的起点、终点,挥舞武器的时候,在两点之间执行box trace。问:怎么让box trace跟着武器动的?答:近战攻击用一个动画蒙太奇实现,武器绑在角色手上的slot里,碰撞盒和起点、终点是武器的子组件,动画动,武器跟着动,子组件也跟着动。6、问:项目里有实现自动寻路吗?有了解过吗?答:(一面的时候也问道了)NavMesh生成网格体的过程+A*算法。问:如果场景中有移动的障碍,怎么处理?答:不太清楚 ,不过我猜可以先划分区域,只更新移动物体影响的区域,更新寻路网格体时,把移动障碍和其移动覆盖的区域整体标记为障碍物。问:需要重新烘焙吗?答:需要。7、问:还做过其他什么东西吗?答:还做了一个简单的多人游戏项目,不过做得不是很好问:网络游戏用什么协议答:UDP,不过通常会将在其往TCP的方向改,即可靠的UDP,(序列号与确认,丢包重传、超时重传、滑动窗口、拥塞控制)8、无手撕环节---------------------------------------------------------------------------------------------------三面(30min)三面大部分时间聊聊天了,问了一些简历上提到的东西,比如MVC的难点,ui的MVC和工程上的MVC的关系等,有三分之一的时间是面试官在给我讲解反问环节问的问题,醍醐灌顶,可惜忘记录音了...-------------------------------------------------------------------------------------------------
duadua666:同银之心oc,但是怎么感觉我这问的这么简单😧
查看25道真题和解析
点赞 评论 收藏
分享
评论
1
24
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务