当前位置: 首页 > 工具软件 > Snk > 使用案例 >

10.8 SNK中国一面面经

子车飞鹏
2023-12-01

1.自我介绍

2.问实习,我大概说了20min吧,之前有详细准备,主要是Unreal的实习项目

  • 你们项目有多少人?
  • 为什么使用Unreal?(我回答了开源,而且基于AirSim开源框架)
  • 其他AI算法部门有通过你们平台系统实现仿真吗?(我实习那会还没有)
  • 为什么离职了?不继续做下去?(个人学业、时间原因)
  • 抓取动作和放下动作如何实现的?物体附着到手中和脱离是怎么实现的?
    • 从Delta Time入手,逐帧递减Two Bone IK的Alpha值
    • 附着和脱离:AttachToComponent、DetachFromActor
  • 擦污渍的动作你是怎么实现的?
    • 在Clean动作的动画序列中设置Notifier,触发逻辑函数
    • 在动画蓝图中从Event Blueprint Update Animation的Delta Time入手,逐帧递减decal材质的透明度
    • 通过附着在Actor上的TMap,获取自己想擦除的decal名称,指定某个污渍
  • 擦污渍动作你说用了notifier,是怎么用的?
  • UE的GC
  • UE的SpawnActor和NewObject区别?如何生成一个Character?(忘了)
  • SpawnActor中的Outer??(这里没听清,但自己也忘记了,用的不多,这题寄了)
  • 你项目中人物去抓取物体,如果隔着一堵墙怎么办?难道穿模吗?(我回答说如果这样的话
    • 我:按理说不会这样,因为这堵墙周围不会生成NavMesh网格,人会绕过这堵墙
    • 面试官:那如果这堵墙很薄呢?
    • 我:。。。(其实我觉得可以通过射线检测来测量与墙的距离吧。。实现手部IK)

3.自己的游戏demo项目,没问太多,我也多少透露了项目demo之前有些bug问题。。

  • AI行为树,答了selector,sequence,task,EQS
    • 问:所有人物都用AI行为树吗?

4.C++

  • 虚函数机制
  • 虚函数是属于类的还是对象的?为什么?
  • 构造函数和析构函数调用虚函数?
  • 菱形继承有什么问题?
  • C++11智能指针说说,各自怎么用,有什么特性?(这里我说了各自特点,以及shared_ptr循环引用问题)
  • 左值和右值?
    • 回答了基本的,然后自己引出std::move,移动语义,为了及解决什么问题,讲了浅拷贝和深拷贝,举了一个String类的例子来讲拷贝构造函数和移动构造函数之间的差异,感觉自己说的越多越好(前提是对的)
  • 问了一堆STL:
    • vector、list、deque、stack、queue底层
    • vector、list、deque效率
    • set和map区别、底层
    • map和unordered_map底层,什么时候用
  • 如何用栈实现队列
  • 如何用队列实现栈
  • A*算法
  • 如何判断一个点在三角形内?(答了叉乘向量法,问还有没有别的方法,答了重心坐标,但是具体细节有些忘记了)

5.其他

  • 老家是哪的?以后希望留在北京吗?
  • 什么时候能到岗?实习?
  • 你对加班有什么看法?
  • 之后毕业论文有什么要求?什么时间开始?需要一直在学校吗?
  • 你对在研和在营的项目,更偏向于哪个?(肯定在研的啊!)
  • 公司Unreal项目和Unity都有,你都可以接受吗?(可以,都是相通的,技多不压身)

6.反问

  • 公司在研项目用Unreal多还是Unity多?技术栈?
  • 对游戏开发或图形学的学习方法和路线(回答了游戏客户端分GamePlay和引擎,引擎的话肯定要把图形学学好)
  • 对中国游戏行业有什么看法?(哈哈)

总体感觉难度适中吧,Unreal答得不是特别好,但是自己也说了特别多,有把握的能说的都说了。还是得回去把Inside UE4好好研读一番。还有一些基本的数学知识。图形学竟然没问。。

 类似资料: