字节跳动游戏研发岗(杭州)
笔试
选择题
- 10道单选,5道多选
- 偏综合,涉及算法、C++、数据库、设计模式等
- 大部分为牛客原题
编程题
- 1,18岁生日问题(80%)
- 2,正则式匹配(AC)
- 3,寒冰王座(AC)
- 4,连连看(AC)
简答题
- 1,四叉树相关
- 2,多用户游戏服务器使用多进程还是多线程?
一面
时间
开始时间:7月5日下午一点
总时长:40min
问题
- 1,自我介绍
- 2,TCP和UDP
- 3,进程与线程
- 4,C++的虚函数
- 5,内敛函数
- 6,map的数据结构与功能
- 7,map与hash
- 8,hash与rehash
- 9,设计模式
- 10,MySQL索引的数据结构
- 11,进程间的通信方式
- 12,C#的闭包
- 13,C#的反射
- 14,C#的委托
- 15,简历中实习与项目的内容(20min)
- 16,提问环节
算法
- 判断字符串B是否是字符串A的子串
小结
- 问的很广,但是不深
- 编程题很简单,不过还是有点紧张,10min才写完
二面
时间
- 开始时间:7月6日下午三点半
- 总时长:40min
问题
- 1,自我介绍
- 2,向量点乘的几何含义
- 3,向量叉乘的几何含义
- 4,有面试过深圳的公司么
- 5,状态同步与真同步
- 6,渲染与渲染流程
- 7,怪物AI的行为树
- 8,简历中实习与项目的内容(25+min)
- 9,喜欢什么游戏
- 10,如何实现类似于底特律变人这种剧情选择对后续游戏流程游戏?
- 11,提问环节
算法
- 无
小结
- 二面面试官很懂,不管说什么,都有了解
- 关于项目,问的尤其多。包括算法改进,也能直接指出其中存在的问题。
- 面试官对游戏也很有涉猎,问到最喜欢的游戏,个人回答奇异人生,挺小众。面试官立刻知道是剧情选择类游戏,接着提问这种类型的游戏的问题。
三面
时间
- 开始时间:7月8日下午六点
- 总时长:40min
问题
- 1,自我介绍
- 2,简历中实习与项目的内容(20min)
- 3,如何实现一个俄罗斯方块游戏
- 4,设计一个存储海量评论的结构,要求大量数据的写入,可以随意进行翻页
- 5,为什么想要来杭州
- 6,什么时候能毕业
- 7,能提前来实习么
- 8,如何看待目前国内的游戏行业
- 9,来这边工作倾向于做前端还是后端
- 10,提问环节
算法
- 1,利用两个栈模拟队列,包含push、pop、count功能
- 2,判断一个点是否在扇形中
小结
- 三面算法也不难,第二个问题不清楚扇形怎么定义,于是说了几何学上的解决办法。
- 主要是在谈行情、理想、发展这些事情。
Hr面
时间
- 开始时间:7月9日下午四点十五
- 总时长:20min
问题
- 1,评价一下之前的几轮面试以及面试官
- 2,家乡是哪里的
- 3,为什么选择杭州
- 4,自我介绍
- 5,不涉及技术细节的介绍一下实习经历
- 6,就你刚才所说的个人XX优点,能详细的就项目经历举个例子说一下么
- 7,准备接下来如何学习相关的技术
8,实习期间对你有何帮助与提高 - 9,提问环节
小结
- Hr面即闲聊,不过也不能信口胡诌。个人在自我介绍,阐述个人优点时,下一个问题就是针对个- 讲话有条理一些,最好按点说,分一二三四条。
个人总结
- 1,面试难度并不高,比字节跳动算法岗、头条抖音的后台开发都要简单。因此最终Hr面通过的太多,以至于40%的人又被拒了。
- 2,项目和实习经历很重要,必须要有东西说才行。从一面到Hr面,每一面都至少有一半的时间在讲项目,怼经历。因此,必须要了解简历项目的每一个细节才行。
- 3,说话要有逻辑,组织语言要有条理。
- 4,找工作是一个双向选择,自信是关键。