字节跳动朝夕光年游戏客户端开发实习面经(已拿offer)

一面(110min) 你没有看错,就是那么长(考的特别多,不记得全部了)
  1. 自我介绍
  2. 面向对象的三大特性,并且解释一下
  3. 虚函数
  4. 内联,友联函数
  5. C++ 内存管理,分为几个区,分别是干什么的
  6. 手撕代码:实现一个单例的类
  7. 说说几个stl里面的容器,他们的底层原理
  8. TCP/UDP的区别
  9. C#深拷贝浅拷贝
  10. Unity优化
  11. 手撕代码:实现math lib里的sqrt。 (开始写了个暴力的,后面用了二分搜索优化)
  12. 项目问题
  13. 反问(问了为什么项目问题比较少,面试官说从简历上看找不到切入点0.0我解释了我项目的技术(都是游戏demo), 说了自己会图形学,面试官说二面来问你)
总结
第一次面试,人有点紧张,有些问题没回答好,不过面试官很好,十分有耐心,也给了一些提示,最后磕磕绊绊都做出来了。一面结束后一天后告诉我面试通过,进入二面。

二面(60min)
  1. 自我介绍
  2. 项目经历的问题(这次占了时间的大头)
  3. Unity渲染管线
  4. Unity顶点坐标变换,光照计算的原理
  5. 光照模型
  6. 深度测试
  7. 切线空间
  8. UV与模型
  9. 透明度与alpha混合
  10. LOD和遮罩剔除
  11. 四元数
  12. Prefab
  13. 说几个常见的排序算法
  14. 智能指针
  15. 手撕代码:正则表达式匹配
  16. 反问
总结:这次面试发挥的比较好,问题都回答出来了,上次告诉一面自己也会图形学,这次果然问了很多,面试官也很好。二面结束后3个小时告诉我面试通过,安排三面+HR面的时间。

三面(40min) 自我感觉是个压力面,面试官的问题明显深很多,还一直追问,问到大脑空白。
  1. C++ 11的新特性
  2. 智能指针
  3. C++ STL deque和list的区别
  4. 说说你知道的设计模式
  5. 观察者模式的底层实现原理
  6. 观察者模式的应用场景
  7. list的底层实现,怎么在观察者里面实现O(1)的删除?(因为我提到了list操作的时间复杂度,想了很久,说了很多,最后我还是没回答出来)
  8. 堆排序的底层实现
  9. 喜欢玩什么游戏?(说了FPS)
  10. 多人FPS游戏里游戏数据的位置(同步模式)
  11. 状态同步里的网络延迟
  12. 网络延迟的解决办法(延迟补偿机制)
  13. 反问(问了面评,面试官说我基础很好,但是有些深入的东西还要学习,问了HR面的信息)
总结: 三面的面试难度明显要比前两面要高很多,问的东西都很深,不仅要了解到知识本身,还要理解他的应用。三面结束后半个小时后通知HR面。

HR面(40min)轻松加愉快,气氛很好
HR面总体来说面试的很愉快,因为我是计算机科学:游戏设计专业(对口专业),问了我很多学校的事情,也问了我问什么选择这个专业。问了问我的项目经历,小组合作开发游戏时候遇到的困难,我的解决方式。也问了我对未来的想法。后面就是正常的HR信息收集。最后问了问评价,HR对我挺满意的。

HR面后两天接到OC,我的面试进度很神速,从一面到OC只用了8天的时间,我上岸了,希望大家也能继续加油,找到自己心仪的offer~
#实习##面经##游戏客户端开发工程师##字节跳动#
全部评论
之前一直没注意, 这二面是手撕了一个hard啊。 这真的有手撕hard的面试的, 还真的有人手撕出来,太牛逼了。
2 回复 分享
发布于 2021-04-15 13:37
老实说,只会C#不会C++怎么办,现在在游戏公司实习做游戏Demo,明年春招想投这里
1 回复 分享
发布于 2021-09-26 18:48
恭喜呀 想问问图形学怎么学的呜呜呜
点赞 回复 分享
发布于 2021-03-31 20:29
大佬,想问一下,c++是相关的题目是靠背的吗,还是写项目熟悉的
点赞 回复 分享
发布于 2021-04-04 22:26

相关推荐

评论
17
117
分享
牛客网
牛客企业服务