当前位置: 首页 > 面试经验 >

【2023暑期实习】完美世界UE客户端(已offer)

优质
小牛编辑
140浏览
2023-03-28

【2023暑期实习】完美世界UE客户端(已offer)

完美世界UE客户端开发一面 4.28


业务


基本都是C++的东西。




  1. 什么是内存对齐?


       struct A{
    char c;
    short s[3];
    char cs[3];
    }

    该结构体多大?
    如果我把第一个成员移动到第三个成员后面,应该是多大?
    讲一下怎么算的。




  2. 说一下static关键字




  3. const int *aint const *a有什么区别?



    • int * const a呢?




  4. 描述一下堆(小根堆为例)



    • 插入一个元素,堆要做什么操作?

    • 弹出堆顶元素后,堆要做什么操作?




  5. 快排的原理



    • 快排的最差时间复杂度?为什么是n方?

    • (可能最差没解释清楚,开始引导我)为什么最好的情况是nlogn?

    • 这个logn是怎么出现的?




  6. C++实现多态的方式?




  7. 前++和后++重载的时候有什么区别?




项目:


项目里用到了navmesh,是怎么做的?看过源码吗?


智力题:(答不上来也没关系)


求1-100的阶乘有多少位应该怎么做?


技术二面(5.5)



  1. 问专业课学了哪些

  2. 问实习经历(本科实习用过一点蓝图)

    • 用过蓝图,能介绍一下蓝图吗?

    • 对比一下写代码和蓝图这两种编程模式的优缺点

    • 有没有想过,搭建蓝图这样一种编程模式,需要哪些机制/技术来支撑?(不太清楚

    • 有用过wait相关的异步编程的节点吗?(没接触过




(中间电脑突然蓝屏,重新连接,很尴尬)




  1. 问项目,项目中用到了对象池,实现对象池有哪些需要注意的点?(回答了池子的大小,池子的注册



    • 生成的物体的状态如何进行管理的?

    • 能说一下Unity的垃圾回收吗?(说了一下C#的垃圾回收

    • 你觉得手动管理内存和系统级别提供垃圾回收,这两种方式各有什么优缺点?




  2. 智能指针是如何实现的?share_ptr, weak_ptr



    • 介绍一下深拷贝和浅拷贝

    • C++11里移动语义是解决什么问题的?




  3. 一个应用程序想申请N个字节的空间(new/malloc),用完之后再释放掉(delete/free),这些过程中发生了哪些事情?(这个问题没太理解要怎么回答



    • 追问:比如malloc申请5个字节或者5M有什么区别吗?(不太了解




  4. 问实验室项目



    • 有接触过GPU的编程吗(没有




  5. 问项目,观察者模式中如何检测你的观察者列表中的对象还是有效的呢?(对这个项目来说对象无效意味着敌人死亡,敌人死亡时会从列表中删除




  6. C++里析构函数一般会定义为虚函数,为什么?



    • 不写成虚函数会有什么问题?




  7. STL有了解吗?



    • map查询复杂度是多少?unordered_map呢?如何去选择用哪一个呢?

    • 哈希表如何解决碰撞?

    • 用迭代器删除map中的元素,会发生迭代器失效问题,如何解决/避免?




  8. 平时玩游戏吗?都玩什么类型的游戏?




反问




  1. 工作制度?



    • 分项目和部门,周一到周四10 9 5,周五可以七点走




  2. 对我有什么建议吗?



    • 相互不太了解,如果有机会来的话可以深入聊。




  3. 在做什么项目?



    • PC端的MMO




HR面(5.6)


记不太清了,整体上都很轻松



  1. 未来技术路线,UE4和U3D的选择?

  2. 是否对游戏热爱?未来确定要走这条路吗?

  3. 自己做游戏的时候感觉怎么样?


5.16已offer

#暑期实习#
 类似资料: