25届游戏客户端春招总结

一、前言

有些后悔学的东西太杂太广了,没有早点选定一个方向深入学习,导致秋招没拿到梦想的offer。秋招之后,开始奋发图强(开始摆烂),也没怎么用心准备,没刷题也没看八股,忙着写毕业论文。春招本来只打算碰碰运气,投了想去的公司和一些产品做的比较好的游戏公司,也不局限于游戏,还投递了一些C++开发相关的岗位。总的来说,赚钱的游戏厂商就那么多,但是这些公司要求往往比较高,行业不太景气的情况下,很可能只有极少数人能够找到满意的工作。除了自身实力以外,运气还挺重要的,有时候offer就是在实力的基础上再加一些运气。如果没有拿到offer,也不用灰心,慢慢提升自己吧。

其实真心不建议不热爱做游戏的人搞游戏开发。还记得去年暑期面试的时候,面试官说做游戏和玩游戏是两码事,爱玩游戏不代表爱游戏开发。而且,游戏开发的薪资不算高,不过大公司给的比较大方一点。其他游戏中小厂的薪资普遍比互联网中小厂的薪资要少一点。还有一点就是,游戏开发加班会比较严重一点,人员流动也比较大。

二、投递概括

笔试挂

英雄互娱(说是岗位调整)、鹰角。

一面挂

波克城市、拓竹科技、元戎启行、Zoom。

二面挂

米哈游(对基础考察最深的,没有之一)。

OC

Unity中国、腾讯、B站游戏。

三、面经

有很多问题与秋招的面试题重合了,这里就不放上来了。不包含米哈游面试题

  1. 个人职业规划、打算往哪个方向深耕,这两个问题其实值得思考,很多面试官会看回答的契合度。
  2. 有没有想做的游戏类型,如果项目组开发的游戏不是你理想的游戏类型,你会怎么办。
  3. 如果你进入项目组之后做的东西和你职业发展不匹配,你会怎么办。
  4. 手撕单例模式,手撕对象池,手撕行为树。
  5. 行为树能不能和大模型有结合点。
  6. 用过哪些设计模式,优点是什么,举个例子看看。
  7. 遇到过内存泄露吗,如何排查内存泄漏。
  8. 移动端的性能优化有了解吗。
  9. GC了解过吗,什么时候触发GC,怎么缓解GC带来的性能下降问题。
  10. 1%Low帧知道是什么吗。
  11. 如何排查卡顿原因,可能出现卡顿的情况。
  12. 如何排查性能下降是不是因为drawcall数量过多。
  13. 游戏过程中,手机发热可能是什么原因。
  14. 了解外挂吗,有没有什么好的办法防止外挂呢。(DMA)
  15. 协程底层实现原理。
  16. 进程同步方式,临界区用过吗。
  17. 共享内存会出现什么问题。
  18. cache是什么。
  19. 讲讲cache的写回机制。
  20. 进程同步和线程同步有什么不同。
  21. 线程共享了进程的哪些资源,为什么能够共享,底层实现是什么。
  22. 内核态和用户态的区别。
  23. 互斥锁、读写锁、自旋锁的概念和区别。
  24. 什么情况下会出现死锁。
  25. 地址长度、虚拟内存和物理内存的关系。
  26. 如果一个程序需要8G的内存,而物理内存仅有1G,这个程序能够运行吗。
  27. std::vector的扩容机制,为什么不直接使用memcopy和memmove。
  28. 有哪些迭代器失效的情况。
  29. 模板、模板偏特化,如何实现std::vector<bool>。
  30. std::shared_ptr的引用计数存储在堆上还是栈上。
  31. 手撕std::shader_ptr。
  32. 如果修改.text段的数据,会发生什么。
  33. 移动构造函数最后会调用析构函数吗。
  34. C++const的作用,如果类的成员函数声明为const,有几种办法可以修改成员变量。
  35. dynamic_cast的底层实现原理。
  36. 两个对象的内存空间中值一样,能不能互相转换。
  37. 虚函数指针会有几个,考虑多继承情况下。
  38. 虚函数表存在哪个位置,虚函数表的生成时机。
  39. printf怎么实现任意多个参数,了解调用约定吗。
  40. 汇编层如何实现函数调用的。
  41. Phong和Blinn-Phong的区别。
  42. Early-Z和Z-Buffer以及遮挡剔除。
  43. 怎么绘制一个三角形。
  44. BVH树和kd树原理以及应用场景。
  45. 你会怎么实现类似虚幻引擎蓝图的功能。
  46. 有没有看过最近几年的GDC。
全部评论
现在26届,刚刚在盛趣实习两天,感觉项目好古老
点赞 回复 分享
发布于 05-10 18:33 上海
还要手撕shared_ptr
点赞 回复 分享
发布于 05-08 21:31 湖南
忍耐王
点赞 回复 分享
发布于 04-25 12:09 湖南

相关推荐

50分钟,两个面试官轮流拷打平时玩游戏吗黑神话如何实现攻击连段射击游戏命中的判定方式,帧数不同如何确保公平c++重写和重载,子类重写父类函数如何实现,不加virtual关键字调用会怎么样,为什么c++多继承,子类和父类虚函数表的情况,函数存在内存中的哪个部分一个类中存放5个char类型变量,大小是多少,加上一个int类型后是多少,内部实现一个虚函数是多少,实现一个普通成员函数是多少换人osi模型有几层,分别是什么http协议在哪一层,arp协议在哪一层,tcp,udp在哪一层tcp和udp的区别,tcp如何确保连接的稳定性,tcp连接的具体过程,udp连接的过程http协议的请求方式有哪些,意义都是什么,实现时需要传入哪些参数换人平移矩阵,缩放矩阵,旋转矩阵lod和mipmap是什么,hdr是什么map和unordered_map底层是什么红黑树每个节点需要存放哪些参数,父节点和子节点的大小关系,查询和插入的时间复杂度哈希表解决哈希冲突的两种方式,开放寻址法在删除节点后是将该位置置为空吗,为什么,查询和插入的时间复杂度排序算法了解多少堆排序具体如何实现,调整堆操作如果直接将根节点单独存放空间复杂度太大,将最后一个节点和根节点换位会有重复的问题,怎么解决反问:是哪个项目,工作中蓝图和代码如何协调项目是招进去后再分配,面试官是鸣潮组的,90%内容c++,开发完成,开发只负责实现策划要求的蓝图节点,具体实现由策划完成4.25下午面试,4.27上午挂
库洛游戏一面3人在聊 查看17道真题和解析
点赞 评论 收藏
分享
04-28 19:23
门头沟学院 C++
点赞 评论 收藏
分享
评论
17
87
分享

创作者周榜

更多
牛客网
牛客企业服务