首页 > 字节朝夕光年-游戏客户端开发实习-一二三面面经
头像
Charon11
编辑于 2021-04-02 10:31
+ 关注

字节朝夕光年-游戏客户端开发实习-一二三面面经

我用过 UnityUE4,其中对UE4相对更了解一些。熟悉的语言是 C++

一面

先做自我介绍,之后依次问了C++、操作系统、网络、游戏引擎相关基础问题。
最后做了一道数学题和一道编程题。

C++:

  1. 虚函数。
  2. 构造函数和析构函数是否可以是虚函数。
  3. 纯虚函数。
  4. vptr。
  5. 用过哪些模板类。
  6. 这些模板类的迭代器有什么区别。
  7. 右值引用及其使用场景。
  8. 智能指针有哪些,分别介绍一下。
  9. weak_ptr的应用场景。
  10. 智能指针的计数器是放在哪的。
  11. 用make_shared创建对象和直接定义shared_ptr有什么区别。
  12. 默认拷贝构造函数的原理。
  13. 什么情况需要自定义拷贝构造函数。
  14. 由于13没答出来,面试官提示说如果成员变量中有指针,调用默认拷贝构造函数会产生什么问题。

C#:

  1. 引用变量和值变量。
  2. 装箱和拆箱。
面试官发现了我不擅长C#,于是进入了下一part。

操作系统:

  1. 进程的状态。
  2. 中断有哪些。
  3. 内核态和用户态。
  4. 内核态拥有哪些用户态没有的权限。

网络:

  1. TCP与UDP。
  2. TCP的拥塞控制机制。

UE4:

  1. 你的项目中实现拾枪、换弹时是怎么实现动画切换的。
  2. 动画蓝图状态机。

数学题:

  1. 怎么计算空间中的两条异面直线间的距离。

手撕代码:

  1. LeetCode 239 滑动窗口最大值(https://leetcode-cn.com/problems/sliding-window-maximum/)。用单调队列,复杂度O(n)。

一面结束后的第三天接到电话约了二面。

二面

仍然是先进行自我介绍。这次和一面不同,都是开放题。面试官会抛出一个问题让你考虑,然后再根据你的回答提出进一步的问题。
话题主要是以下四个:
  1. 如何设计实现UDP的可靠化。
  2. new的底层实现,堆内存的空间分配和碎片管理。
  3. 给一个数组,如何公平且随机地对其重新排列。
  4. 手撕代码。给n件商品的价格(每个商品只有一件),和一个价格阈值m,找到使购买价格大于m且最小的购买方案。
最后是反问环节。结束。

二面结束后二十分钟就接到电话约了三面,效率极高。

三面

自我介绍后,先是问了一些项目的具体细节,然后开始编程和问答。
  1. 实现一个进程安全的智能指针类。(忘了mutex的用法,所以没有实现进程安全)
  2. 对一个结构复杂的模型,如何实现碰撞检测。(没答上来)
  3. 如何实现一个俄罗斯方块游戏。
最后,面试官问了一些轻松的问题。比如平时看什么书,平时学习技术的途径。
反问。
三面比较时间比较短,只面了半个多小时。自我感觉答得不太好,但还是希望能过。

三面结束后的第二天收到消息约了HR面。

HR面已过。

更多模拟面试

全部评论

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

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐