网易互娱面经 游戏研发工程师

游戏研发一面 8.11(一个半小时)

  1. 半小时代码考核(此时是hr)

    ​ 题目:寻找二叉树中最大的二叉搜索树

    ​ 需要自己处理输入(类似root = [4, 2, 7, 2, 3, 5, null, 2, null , null, null, null, 1])所以最后我输入都还没处理完,树也要自己建

  2. 面试官出现说题目有点问题,没有指定输入,然后让我说了下大致解题思路,这题可以在网上找到,我也不知道说对没有

  3. C++相关

    1. 右值和右值引用相关
    2. A a1; A a2 = std::move(a1);&a1 == &a2是否为true
    3. static作用
    4. static是如何限定作用域在文件范围内的?(?)
    5. 我提到可能是在编译过程?然后面试官问那一个代码到执行会经过几个阶段
  4. 项目相关

    1. 我没说服务器,我还是说的软挑
    2. 让手写了一下其中用到的评价函数,然后看了下我贴在gitee上的代码
    3. 代码中用到的C++特性有哪些
  5. 网络编程相关

    1. socket建立tcp的过程
    2. udp建立的时候有什么不同
    3. udp和tcp发包大小限制(?)
    4. 问了下写rtsp服务器过程中发包大小限制(?)
    5. 走路和打枪都会发tcp包,一共会发多少次(?)
    6. 我提到可能和包大小有关,说了粘包拆包
    7. nagle算法中包是怎么发送的
  6. 图形学学过吗(没有)

  7. 单链表归并排序,我不会,我写的自顶向下,面试官说下去可以看看怎么自底向上,省去中间随机访问的步骤

  8. 反问:

    1. 没写过游戏开发可以应聘吗

      ​ 可以,我们招聘的连没打过游戏的都有,游戏开发是加分项

    2. 面试表现,我有什么需要改进的地方

      ​ C++可以再深入地去学习,面试官认为C++是永远学不完的,可以一直学得越精也好

    3. 岗位分工和任务

      ​ 主要分服务端和客户端,服务端分工没有很大差别(全球服务还是什么没听太清楚),客户端分为游戏玩法、逻辑、图形学等等。

  9. 5-7个工作日hr会通知面试结果

游戏研发二面 8.20 (55分钟)

  1. 自我介绍
  2. 服务器项目介绍
    1. Reactor和Proactor的区别
    2. Select/Poll/Epoll的区别
    3. 自由链表和内存池
      • 如果内存块不够了会怎样分配
      • 再向系统申请也会带来开销怎么处理
    4. 怎么解决内存泄露问题
  3. 最近有在玩什么游戏
    • 如果要你设计LOL的通信,是用什么协议(说的UDP)
    • 如果是UDP怎么完成可靠传输,用什么数据结构和算法(没答上来)
  4. 实验室项目介绍
    1. 数据集有多少
    2. 遇到的什么困难怎么解决
    3. 进入实际应用了吗
  5. 我看你学过数字图像处理,学过图形学吗,数字图像处理的知识(我直接回避)
  6. 相交链表怎么找到相交节点(双指针)
  7. 智能指针、怎么解决循环引用
  8. 最近有在看什么书
    1. 讲了《Linux内核设计与实现》和《STL源码剖析》
    2. 讲了进程、线程调度和STL中的hashtable
  9. 用户态和内核态有了解吗、系统调用有哪些(照着自己理解说的)
  10. 反问:
    1. 部门间不同岗位的合作:完成一个TASK,策划到程序、美术到测试、QA
    2. 游戏研发岗所需要的知识(他说看我了解得比较少)
      • 客户端:引擎、图形学
      • 服务端:数据库、网络编程
      • 分配这些岗位要经过offer到入职这段期间的培训(大多是自学,会有导师带)
    3. 面试结果:3-5个工作日

许愿hr面

#面经##网易互娱##游戏研发工程师##校招#
全部评论
老哥你这面经.....一二面都难度好大,感觉我这一面也太水了🤣
1 回复 分享
发布于 2021-08-20 17:46
这c++部分好离谱
点赞 回复 分享
发布于 2021-09-23 19:35
楼主oc了吗
点赞 回复 分享
发布于 2021-09-09 00:58
楼主有hr约面试吗
点赞 回复 分享
发布于 2021-09-02 01:49
老哥有通知了吗
点赞 回复 分享
发布于 2021-08-25 01:01
第三面就是HR面吗
点赞 回复 分享
发布于 2021-08-23 20:57
老哥们二面都没有手撕代码吗
点赞 回复 分享
发布于 2021-08-22 13:23
楼主base是哪里?
点赞 回复 分享
发布于 2021-08-20 22:07
我二面不到半小时,感觉贼难受
点赞 回复 分享
发布于 2021-08-20 17:58

相关推荐

04-12 08:45
已编辑
上海交通大学 后端
编程语言===C++多态的核心原理是什么?答了运行时多态(继承)和编译时多态(模板)构造函数为什么不能是虚函数?答:因为构造时虚函数表未初始化项目===问项目中选用Kafka, Redis, Mongo的原因?问一个项目(线上书城)的并发量多少?答:Spring Boot框架处理一部分并发问题,并且通过悲观锁防止超卖面试官问是否是自主选择Kafka, Redis, Mongo这些数据库/中间件?答:按照应用场景选择对应的技术,举了使用Redis做书籍基本信息缓存的例子(将话题引导到Redis)引导成功,面试官问初始时的数据是如何放到Redis中的?答:Cache Miss时回写缓存面试官追问:Redis放不下怎么办?答:设计的时候没有考虑这个问题,但是我现在思考了一下,或许可以通过一些缓存驱逐策略(比如LRU),限制Redis缓存使用的内存量?Kafka在项目中的作用?答了异步消息队列和具体的业务场景面试官觉得在这个场景下使用Kafka和数据库的区别似乎不大?答:使用Kafka可以实现消息的订阅机制,如果将订单请求存数据库,前端需要一直轮询面试官让我详细介绍了一个项目(LSM-KV相关),介绍完之后不断深挖,最后问了:如何修改跳表数据结构,使得可以快速查找到key指定排名的节点?没答上来,面试官建议去看看Redis源码中的跳表场景题===设计游戏的任务系统:玩家杀怪、和NPC聊天、制作东西等行为会触发某些任务进度的修改或者任务的完成,要求快速查找到某个任务、快速删除、更新任务进度。你大概会使用什么数据结构作支撑?思考了几分钟,追问:有限制玩家按照特定的顺序完成任务吗?面试官说:不用考虑那么复杂的情况答了使用AVL树或者红黑树等平衡树存储任务的索引,与线性表相比,查找、删除、修改的时间复杂度都是O(logN),综合下来性能比较优面试官追问:玩家杀怪的时候,系统如何知道杀怪是属于某个任务,并更新对应任务的进度?想了想:把不同的任务分放在不同的任务树上,比如杀怪事件都放在同一个任务树上、和NPC聊天的事件都放在另一个任务树上,这样杀怪事件发生后,只需要在杀怪任务树上查找,并更新相关任务节点的任务。闲聊===简历上写的掌握的编程语言,是大学里教的,还是自己学的?简历上写的项目是课程项目、还是自发参与的项目?想了解一下为什么投递服务器开发岗位?反问===介绍一下部门业务?自评===第一次进二面,面试前更紧张,但是面试开始后就逐渐不紧张了,面试总时长50min左右,没有问算法手撕感觉有些没底,希望能进HR面吧。== 4.11更新灵犀上海hc太少了,二面后横向比较挂好心的hr姐姐说帮我联系下广州总部,那边给的答复是倾向于招有转正的实习生,婉拒了🥲
投递阿里巴巴灵犀互娱等公司7个岗位
点赞 评论 收藏
分享
评论
9
78
分享

创作者周榜

更多
牛客网
牛客企业服务