字节面经游戏客户端开发

📍面试公司:字节
👜面试岗位:游戏客户端开发
📖面试问题:
一面30min
虚函数
STL vector和list区别
网络同步方案
剔除算法(没答上来)
延迟渲染
Tile based deferred shading(没答上来)
算法简单题秒了
反问环节问了下项目

二面45min全是根据简历提的问
为什么做Gameplay开发
日志系统如何设计的遇到了什么问题
DrawCall为什么要降低
为什么PSO能带来优化(上一问我提到了)
网络同步方案和比较
帧同步怎么做
状态同步怎么做
一道网络同步场景题
n个简历项目业务问题
延迟渲染前向渲染对比和如何优化
剔除算法(这次答上来了)
预计算可见性如何计算的,有什么代价(没答上来)
介绍行为树和如何设计的
UI开发中有哪些地方可以优化性能
每个问题都会根据回答再深挖一点点
反问环节问了具体项目和部门方向

🙌面试体验:一面无感,二面满分,尤其是反问环节面试官回答的非常详尽也非常热情

二面过但是腾子offer先来了,后续面试流程就拒了
#软件开发笔面经#
全部评论
客户端考这么多图形学和渲染吗
点赞 回复 分享
发布于 04-05 18:01 黑龙江
游卡春招也在看客户端哦,可以投递简历尝试一下哦~
点赞 回复 分享
发布于 04-03 11:26 浙江
usc同方向帮顶
点赞 回复 分享
发布于 03-24 11:18 美国
哥们腾讯base上海吗
点赞 回复 分享
发布于 03-22 04:05 北京
哥们哪个工作室?
点赞 回复 分享
发布于 03-21 14:59 广东

相关推荐

字节前端DML实习二面面筋面试时长:60分钟一、实习经历与项目提问面试官首先针对我之前在公司的实习经历展开询问,详细了解了实习期间参与的工作内容、遇到的问题及解决方案。随后聚焦到项目中的乐观更新相关内容,深入探讨了其实现原理、应用场景以及在项目中解决的实际问题。由于对ZOD库的使用细节掌握不够扎实,面对相关提问时未能给出满意回答,这也成为本次面试的一个扣分点。二、算法与代码实现题1. 实现自定义Red Hook题目要求实现一个自定义hook,该hook接收一个函数和一个delay参数,从hook中解构出的函数能够每隔delay时间执行传入的函数。这道题主要考察对React Hook机制的理解以及定时器相关知识的运用。2. 字符串处理需要实现一个字符串处理逻辑:先移除字符串中所有的字符b,然后检查去除b后的字符串中是否存在连续的ac,若存在则将ac一并去掉。我采用栈的思路解决,遍历字符串时,遇到b直接跳过,遇到c时检查栈顶元素是否为a,若是则将a和c从栈中移除,最终栈中剩余元素组成处理后的字符串。3. 实现带过期时间的Local Storage原生的Local Storage没有过期时间设置功能,题目要求实现一个具有过期时间的版本。这需要在存储数据时额外记录过期时间,每次读取数据时检查是否过期,若过期则删除该数据,主要考察对浏览器存储机制的理解和扩展能力。三、八股文问题1. HTTP无状态实现有状态面试官询问了HTTP作为无状态协议,如何实现有状态的交互。我回答了基础的验证思想:用户通过账号密码向服务端发起请求,服务端在数据库中查询验证,若用户存在(查询结果数量大于1),则返回相关标识给客户端。客户端可将该标识存储在cookie、localStorage或sessionStorage中 ,三者区别如下:• localStorage存储容量相对cookie更大,数据会一直保存在客户端,除非手动删除;• sessionStorage仅在当前会话(浏览器窗口)存在期间有效,关闭窗口数据即被清空;• cookie通常随HTTP请求一起发送到服务端,但其存储容量较小,且安全性存在问题,存储敏感信息容易被截取。为解决cookie敏感信息暴露的问题,可采用Token替代。一种方式是客户端仅保存用户ID,服务端通过维护session table记录session ID与对应value(用户定制化信息),但这会消耗服务端资源。为减轻服务端压力,引入JWT(JSON Web Token),服务端为用户分配JWT,其中包含用户相关信息及权限标识,客户端请求时携带JWT,服务端通过解密算法获取客户端所需信息,从而实现安全高效的有状态交互。不过在回答过程中,由于太久没复习相关知识,表述不够清晰全面,回答质量欠佳。2. merge和rebase的区别由于平时在解决版本控制冲突时较少使用merge和rebase,面对该问题未能给出准确答案,暴露了在版本控制工具使用细节上的不足。四、其他提问面试最后,面试官询问了我平时喜欢阅读的书籍,可能是想从侧面了解我的学习习惯和知识涉猎范围。总体而言,本次面试涵盖项目经验、算法实现、基础知识以及个人兴趣等多个方面,通过这次面试,也清晰认识到自己在知识储备和技术细节掌握上存在的不足,希望能顺利通过面试,也为后续学习指明了改进方向。
查看9道真题和解析
点赞 评论 收藏
分享
05-16 15:26
广州大学 Java
一面(过)自我介绍(1)能说⼀下HashMap的数据结构吗?(2)你对红⿊树了解多少?为什么不⽤⼆叉树/平衡树呢?(3)synchronized⽤过吗?怎么使⽤?(4)说说synchronized和ReentrantLock的区别?(5)垃圾收集算法了解吗?(6)什么是虚拟内存?没答好(7)从浏览器地址栏输⼊ url 到显⽰主页的过程?(8)说说 HTTP 与 HTTPS 有哪些区别?(9)HTTPS的详细流程(10)对https抓包,怎么做,猜测一下(11)客户端怎么去校验证书的合法性?(12)说说 Session 和 Cookie 有什么联系和区别?(13)链表: 1-53-3-43-5-28-7 排序二面(挂)自我介绍(1)==和 equals 的区别(2)hashCode 与 equals?(3)能说⼀下HashMap的数据结构吗?(4)HashMap的哈希/扰动函数是怎么设计的?(5)说说什么是进程和线程?(6)进程间有哪些通信⽅式?(7)说说synchronized和ReentrantLock的区别?(8)线程死锁了解吗?该如何避免?(9)索引(10)什么是虚拟内存?(11)说说 HTTP 与 HTTPS 有哪些区别?(14)HTTPS的详细流程(12)客户端怎么去校验证书的合法性?(13)链表 每个节点向后移动k且最后一个节点移到第一个,好奇怪,没给用例,脑子抽了忘记问清楚,不然 一起移动的话可能是快慢指针就可以做到。(14)写个冒泡排序问我优化,第二重循环用二分
查看23道真题和解析
点赞 评论 收藏
分享
评论
11
68
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务