腾讯光子一面凉经

记录下光子一面,应该是凉了

项目

  • 为什么选择状态机实现Boss的AI,如何实现BossAI状态机,如何实现2D地图中Boss追逐玩家的AI设计
  • 介绍A*寻路,如何实现,如何在大地图中进行优化
  • 对话系统如何实现,对话系统应该使用什么数据结构,如何实现一个带分支的对话系统且一些对话有前置解锁条件,此时又应该选择什么数据结构

基础

  • 数组和链表的区别,数组在什么时候删除元素是O(1)的,如果数组中的元素不要求有序,使用什么方法可以实现删除随机元素是O(1)的
  • 二叉树介绍,如何求一个二叉树的最大深度,使用递归有什么坏处。二叉树的层序遍历
  • hash算法,hash表的底层实现,如何实现一个hash算法
  • lua面向对象的实现,面向对象三特性在lua中分别是如何表现出来的
  • UE的反射介绍,Uobject介绍
  • 左值和右值了解吗,介绍下左值和右值
  • C++如何实现多态,介绍下纯虚函数,如果一个类声明了纯虚函数那么该类的子类一定要实现该纯虚函数吗,子类如何调用父类函数,通过什么方式或者关键字
  • 构造函数和析构函数能是虚函数吗,为什么析构函数必须是虚函数
  • new和malloc的区别,有没有一种方式可以每次调用资源的时候不用手动new和delete(智能指针)
  • 提到智能指针,智能指针的底层实现了解吗(介绍了下shared_ptr)
  • 两个sharedptr相互引用会造成什么问题,如何解决
  • GC了解吗,什么情况下一个资源会被GC,在有GC机制的语言中(lua, C#),遇到上述两个变量相互引用的情况这两个变量表示的资源会被GC吗

智力题

  • 12个球一个天平,其中有一个球的质量和其他球不同,最少称几次可以找出这个球
  • 100层楼两个玻璃球,如何以最少次数找出刚好能摔碎玻璃球的那一个楼层,说说思路
#软件开发2024笔面经#
全部评论
这些问题都答上来了吗?答上来了的话挺可以了
1 回复
分享
发布于 03-27 21:52 山西
没有手撕吗
点赞 回复
分享
发布于 03-29 18:20 四川
滴滴
校招火热招聘中
官网直投

相关推荐

游戏客户端    暑期实习1.Blinn Phone模型 计算光照强度是怎么做的吗?2.给出法线,平行光方向,怎么计算平行光强度呢?3.点乘叉乘区别4.MSAA抗锯齿的实现原理是什么?5.MSAA可以在延迟渲染上做吗?6.MSAA带宽为什么会增加?7.使用MSAA要避免什么操作?8.深度测试,模板测试具体是做了什么?9.法线贴图的作用是什么?法线贴图里面存的数据是什么?在Shader里面怎么用法线计算光照的?10.阴影贴图,深度值是怎么生成的?11.阴影抖动是什么问题导致的?12.阴影粉刺?13.数组和链表的区别?14.vector,添加元素到vector超过最大数目后会发生什么?15.介绍一下红黑树,有哪些数据结构用红黑树实现的16.智能指针,弱指针,假如共享指针已经释放掉了,弱指针会怎么样呢?17.共享指针的计数器是怎么实现的?18.两个共享指针指向一个对象,有几个计数器?    C++并发编程部分(简历上有提到)19.什么是原子操作?20.i++是原子操作吗?++i是原子操作吗?21.线程同步的方法?线程1需要线程2的结果,怎么操作?22.new和malloc的区别?23.如果有多层for循环,如何从最里层跳出来。(我说break,然后说只能跳出一层,然后goto,要求列举风险)24.有20多个bool值数据,如果有一个是true,则满足条件,怎么只判断一次就成立?性能优化25.多态怎么实现?怎么实现虚函数的?怎么通过指针找到派生类的虚函数?26.C++怎么实现RTTI?27.静态类型转换和动态类型转换区别?我真是个傻子,上次面试有点吓到我了,第一题都没听明白什么意思,听录音才知道我有多么傻更新,已挂,但不是秒挂,比起上次有进步
点赞 评论 收藏
转发
OC了,感谢牛友们的面经帮助,散点面经回馈一下3.25投递,3.29下午打电话约了一面一面55min(4.1)计算机基础部分1. 什么是栈内存,什么是堆内存,有什么区别?2. 刚你提到了栈的内存比较小,那你说明一下什么是栈溢出3. 为什么堆的分配比较慢?这个问题有没有什么解决方案?4. 游戏引擎有没有什么对内存的管理操作?5. 堆空间只申请不释放会造成什么?(内存泄漏)如何避免(从编程语言的层面上解释)?(Java/C# 内存管理GC, C++智能指针)6. 你知道哪些智能指针?(unique_ptr, shared_ptr)?还有一个你知道吗?(没说出来,面试官提醒能解决循环引用的weak_ptr)7. 栈的访问效率比堆高,你能解释一下吗?8. 垃圾回收内存管理GC机制,能不能深入说一下底层如何实现?9. 说一下什么是虚拟内存?存在的意义是什么?数据结构部分10. 描述一下数组和链表的区别?各自的优缺点11. 说明一下什么是二叉树手撕部分12. 递归前序遍历二叉树写一个函数,输入是二叉树的根结点,返回它结点的前序遍历13. 用BFS遍历树追问:DFS和BFS这两种遍历策略,一般用来解决什么问题?有没有什么优化方案策略?开放问题15. 树这种数据结构在你项目开发中有什么应用?C++中有没有什么容器是用树实现的?16. 说明什么是面向对象,有什么特点?17. C++中可以实现多态,请你从虚函数表的方面描述一下重载一个虚函数的过程?(往虚函数表,虚函数指针上扯)。虚函数指针占多大空间?(就是普通指针,32位机器4,64位机器8)拷打简历18. 开发MOBA项目中遇到的最大难点是什么?19. FPS项目中,NPC巡逻的逻辑?你这种检测方法会把NPC背后的敌人也检测进来,有没有什么改进方法?20. 简单说一下你了解的unity物理引擎?其他问题21. 你平常玩哪些游戏多一些?STEAM上的单机游戏玩过吗?你CF玩得多,你觉得CF哪些功能做的不错?22. 除了游戏开发,你还有哪些其他方面技术上的兴趣?23. 你打过不少算法比赛,你觉得你的算法水平在你们校队能排到top多少?反问面试官人很温柔,聊起来也挺舒服的,面完二十分钟后官网就显示通过了
点赞 评论 收藏
转发
3 26 评论
分享
牛客网
牛客企业服务