首页 > 游戏客户端面经 完美世界(一面、二面)
头像
iphelf
编辑于 2023-12-06 13:49
+ 关注

游戏客户端面经 完美世界(一面、二面)

目录/时间线

09121630 一面

总共47min。

自我介绍。

算法面试题

  • 介绍一下数据结构中的堆
  • 介绍一下堆排序的过程
    • 空间复杂度是怎样的
    • 是稳定的吗
  • 讲一下建堆的过程
    • 建堆是从哪个结点开始的
  • 用两个栈实现队列
  • 怎么判断链表有没有环
    • 接着刚刚的算法{哈希表},怎么找到环的入口
    • 可以讲下快慢指针怎么找环的入口吗

C++

  • 递归深度过深会出现什么问题
  • 简单介绍一下什么是面向对象设计
  • 知道多态的实现原理吗
  • C++的类默认会有哪些函数
  • 怎么阻止编译器创建默认的构造函数
  • 子类和父类的构造函数执行顺序是怎样的
  • 构造函数可以调用虚函数吗
  • 子类的析构函数不是虚函数会有什么问题
  • 怎么让类的所有实例之间共享数据
    • 静态数据成员会影响类的大小吗
    • 如果静态数据成员是私有的,那么还可以通过类名限定访问到吗
  • newmalloc有什么区别
  • 内联函数的作用是什么
    • 有什么缺点吗
    • 和宏有什么区别
  • 了解右值引用吗
  • 怎么将一个左值转换为右值
  • 介绍一下STL
  • vectorlist的区别是啥
    • 对于插入和删除,哪个数据结构效率更高

计算机基础

  • 介绍一下线程和进程的概念
  • 线程有自己的资源吗
    • 它共享了进程的哪些资源

反问

  • 这个岗位{游戏C++客户端开发}和另一个岗位{游戏UE客户端开发}有什么差距:不太确定
  • 为什么这个岗位没有安排笔试:不清楚
  • 有决定项目组分配吗:有,是MMORPG,用UE5开发的(后来在二面问到了——诛仙世界端游)
  • 客户端的技术栈是怎样的:C++为主、Lua做界面、蓝图给策划用
  • Code Review:之前有说要搞过,但没搞起来,只是偶尔看下SVN提交记录,但不会作为研发流程的一部分,因为目前研发工期还是比较紧的

09141530 二面

总共42min。

自我介绍。

项目

  • 介绍自己做了哪些事情,以及做了哪些比较好的事情
  • 详细介绍一下这些比较好的事情
  • 对ECS是怎么理解的
  • 采用ECS有什么好处

实习

  • 做了哪些工作
    • 做的还挺多的,就三个月期间内完成的吗
  • 了解虚幻引擎吗

计算机基础

  • 堆内存和栈内存的区别
  • 怎样降低动态创建大量对象的性能开销
    • 如果这些对象大小不一呢
    • 这些不同粒度的内存池能合并在一起吗
    • 有办法减缓内存碎片的负面效果吗

C++

  • vector在扩容时会对其内现存的对象调用拷贝构造和析构函数吗
    • “不会调用这些函数”这一事实,意味着有哪些需要特别注意的坑(答错了,事实上会调用到)

算法面试题

  • 给定1000x1000的二维平面,其中有大量半径为R的圆,要求能够快速查询给定的一条直线段与哪些圆相交了

反问

  • 项目的规模和进展如何:客户端加引擎差不多30人左右;在准备二测
    • 既然已经首测公开过了,那是什么游戏呢:诛仙世界
  • 对正式员工会有什么形式的培训:公司层面不太清楚,项目内部会有指导、有导师指引
  • 入职后大概会从事什么工作:主要是做Gameplay层的开发,从界面入手,然后到场景相关的。

全部评论

(2) 回帖
加载中...
话题 回帖