字节跳动面经(游戏研发)

字节跳动面经:

面试官:先介绍自己。(2分钟)

卑微的我:******

面试官:简历上的项目介绍一下(20分钟)

卑微的我:介绍项目各种细节

面试官:你们团队几个人啊?为什么这个项目没有用数据库?

卑微的我:四个吧,还有一个划水。当时这个软件数据存到本地了,所以使用了SQLite。*******

面试官:你说你用C++,那先说一下内存分配吧,new 和 malloc的区别是什么?

卑微的我:就简单说了一下返回类型,初始化,按什么分配以及未成功时的处理不同。

面试官:说到内存了,进程和线程的区别是什么?

卑微的我:系统分配资源的基本单位,线程时CPU调度的基本单位。接下来讲了通信机制,切换之间的不同。

面试官:C++STL用过吧?vector和set实现机制有什么不同?vector内存怎么申请的?

卑微的我:vector用数组,set用的时红黑树。Vector内存分配使用的是STL的allocator分配器,采用二层分配机制,申请内存大于128K时使用malloc,小于128K时使用内存池,接着讲了一下内存池的机制,维护16个空闲链表之类的。***

面试官:数据库里索引是干什么的,怎么实现的?

卑微的我:提高数据查询速度,*****

面试官:虚函数时怎么实现动态多态的?

卑微的我:对象首地址时一个虚函数表指针,指向存放在进程data段里的虚函数表,然后讲了一下虚函数表是干啥的,怎么继承和修改虚函数表里的函数地址之类的****

面试官:那么纯虚函数是干啥的?

卑微的我:定义纯虚函数的类为抽象类,它像继承它的子类提供一个接口,自己不用去实现。

面试官:学过计网吧,TCP/IP是哪一层的,他们的头部都包含什么信息?

卑微的我:运输层和网络层。然后就是介绍TCP/IP头部字段,序号确认号 六个标志位啊什么的,IP有源IP地址和目的IP地址之类的***

面试官:那你来说一说这些报文段经历路由器后头部的哪些字段会变?

卑微的我:(没考虑过,就随便说了一道)首部字段应该变,因为路由器下面的链路层MTU不一样,报文段切片后的MSS也不一样。

面试官:算了,不问你那么细了。你刚才说到了连接管理,那么TCP建立连接为什么要3次,断开连接要4次?

卑微的我:因为TCP是全双工服务,断开连接后,另一方还可能有数据要发送,所以2 3步的确认报文和请求报文不能合在一起,建立时候可以,提高效率。

面试官:TCP断开连接后有一个TIME_WAITE状态,说一说为什么断开后还要等?

卑微的我:(要哭了)不清楚。

面试官:结构体用过吧?说一说和类的区别

卑微的我:默认的访问权限不一样。结构体是public,类是private。

面试官:那结构体为什么要字节对齐?

卑微的我:就简单介绍,减少CPU寻址次数,提高数据读取效率啊什么的

面试官:来写一下这一道题。给你20分钟(LCA算法)

卑微的我:写完讲了下思路。

面试官:你可以做个后序遍历,路径存到数组里然后两个数组去匹配节点。

卑微的我:其实你这个空间复杂度太高。

面试官:你还有什么要问我的?


整个过程70分钟,MMP,吐了吐了。

#字节跳动游戏研发##字节跳动##游戏研发工程师##面经##校招#
全部评论
完了,我也是游戏开发,还他妈笔试中来
1
送花
回复
分享
发布于 2020-03-19 18:52
我被约的周日 同游戏研发 看你这个问的我慌了兄弟
点赞
送花
回复
分享
发布于 2020-03-19 21:46
滴滴
校招火热招聘中
官网直投
我被问了也40多分钟吧
点赞
送花
回复
分享
发布于 2020-03-20 11:03
 请问你笔试过了几题呀?
点赞
送花
回复
分享
发布于 2020-03-20 23:31
所以学长最后你拿到offer了吗😥
点赞
送花
回复
分享
发布于 2020-04-05 12:34
我感觉面试官问的有点狠,还能搞到70分钟,光剖析项目就整了20分钟
点赞
送花
回复
分享
发布于 2020-04-13 16:51
这是面试还是考察背书呀。太恐怖了吧
点赞
送花
回复
分享
发布于 2020-04-15 22:57

相关推荐

4 60 评论
分享
牛客网
牛客企业服务