字节跳动游戏研发一二三面面经总结,回报牛客
秋招至今一直靠牛客大佬们的帖子积累,现在回报一下。
本人很菜,可能有些遗漏,记得的就是这些了。
一面:
基础问题:
C++中虚函数的性质。
C++中static关键字的作用。
进程与线程的区别。
进程间通信方式。
多进程调度算法。
TCP和UDP区别。
渲染流水线。
hashmap和map的区别和使用场景。
编程:
两个队列实现栈。(10分钟,有多少功能写多少)
二面:
基础问题:
进程数据段有什么内容。
线程怎么使用进程数据段。
空间局部性和时间局部性。
BRDF是什么。
前向渲染和延迟渲染的区别。
多个光源的前向渲染。
寻路算法(回答了A*,接着问如何改进)。
Dijkstra算法。
编程:
中序遍历非递归实现
三面:
冰火雷三种技能位置无关组合有多少种(参考卡尔),位置相关有多少种,如果是四种技能呢。
一枚硬币投掷一个序列,正正反A获胜,反反正B获胜,请问是否公平。
给定一个攻击范围,如何确定哪些怪物在攻击范围中。
洗牌算法,如何证明随机性。
一个评论系统,支持大规模同时写入和随机翻页。
大概就是这些问题,其他都是项目和一些非技术问题就不写了。