灵犀互娱面试

9/23
面试的感觉不好,面试官一脸似笑非笑的表情,还在抖腿
先照例问一遍为什么来投这里,非科班为什么选择来计算机行业,老实交代
喜欢游戏嘛,有玩过什么游戏,交代瓦洛兰特和云顶之弈
有没有了解过他们的一些实现技术,答没有
没有问实习,很奇怪

讲讲渲染管线
讲讲 pbr 讲讲阴影生成
shadowmap 的成因吧,减少锯齿的方法
bias
为什么要使用 bias,为什么可以减少锯齿
硬阴影的解决方式
讲讲常用的抗锯齿算法
ssaa msaa
原理是什么
回答完,再次诡异的笑

网络部分
游戏常用的同步,状态同步和帧同步区别是什么
udp 要实现可靠,怎么实现,答校验和和序列号
你这样子做 和 tcp 还有什么区别,答分片机制吗
反问,那面对大的数据,udp 也要分片
为什么 tcp 要四次挥手,为什么要多那一次
怎么做拥塞控制,滑动窗口的实现,答不出来

cpp 部分
多态的实现
常用的 stl
这三种 stl 在插入的时候底层做了什么
再次诡异的笑
时间复杂度是多少
快排的时间复杂度呢
最差的情况呢
如果从一百万个玩家中选出前一百个分数最高的玩家,怎么做
答,quickselect,
问时间复杂度是多少,答不出来
实际下场后冷静,应该使用堆会好一些,nlogk 的复杂度 #软件开发笔面经#
全部评论
啥玩意诡异的笑怪诡异的
点赞 回复 分享
发布于 03-20 18:34 广东
请问下是什么岗位的?
点赞 回复 分享
发布于 2024-09-28 19:07 新加坡
佬你面的是哪个岗
点赞 回复 分享
发布于 2024-09-23 23:54 上海

相关推荐

头像
04-12 08:45
已编辑
上海交通大学 后端
编程语言===C++多态的核心原理是什么?答了运行时多态(继承)和编译时多态(模板)构造函数为什么不能是虚函数?答:因为构造时虚函数表未初始化项目===问项目中选用Kafka, Redis, Mongo的原因?问一个项目(线上书城)的并发量多少?答:Spring Boot框架处理一部分并发问题,并且通过悲观锁防止超卖面试官问是否是自主选择Kafka, Redis, Mongo这些数据库/中间件?答:按照应用场景选择对应的技术,举了使用Redis做书籍基本信息缓存的例子(将话题引导到Redis)引导成功,面试官问初始时的数据是如何放到Redis中的?答:Cache Miss时回写缓存面试官追问:Redis放不下怎么办?答:设计的时候没有考虑这个问题,但是我现在思考了一下,或许可以通过一些缓存驱逐策略(比如LRU),限制Redis缓存使用的内存量?Kafka在项目中的作用?答了异步消息队列和具体的业务场景面试官觉得在这个场景下使用Kafka和数据库的区别似乎不大?答:使用Kafka可以实现消息的订阅机制,如果将订单请求存数据库,前端需要一直轮询面试官让我详细介绍了一个项目(LSM-KV相关),介绍完之后不断深挖,最后问了:如何修改跳表数据结构,使得可以快速查找到key指定排名的节点?没答上来,面试官建议去看看Redis源码中的跳表场景题===设计游戏的任务系统:玩家杀怪、和NPC聊天、制作东西等行为会触发某些任务进度的修改或者任务的完成,要求快速查找到某个任务、快速删除、更新任务进度。你大概会使用什么数据结构作支撑?思考了几分钟,追问:有限制玩家按照特定的顺序完成任务吗?面试官说:不用考虑那么复杂的情况答了使用AVL树或者红黑树等平衡树存储任务的索引,与线性表相比,查找、删除、修改的时间复杂度都是O(logN),综合下来性能比较优面试官追问:玩家杀怪的时候,系统如何知道杀怪是属于某个任务,并更新对应任务的进度?想了想:把不同的任务分放在不同的任务树上,比如杀怪事件都放在同一个任务树上、和NPC聊天的事件都放在另一个任务树上,这样杀怪事件发生后,只需要在杀怪任务树上查找,并更新相关任务节点的任务。闲聊===简历上写的掌握的编程语言,是大学里教的,还是自己学的?简历上写的项目是课程项目、还是自发参与的项目?想了解一下为什么投递服务器开发岗位?反问===介绍一下部门业务?自评===第一次进二面,面试前更紧张,但是面试开始后就逐渐不紧张了,面试总时长50min左右,没有问算法手撕感觉有些没底,希望能进HR面吧。== 4.11更新灵犀上海hc太少了,二面后横向比较挂好心的hr姐姐说帮我联系下广州总部,那边给的答复是倾向于招有转正的实习生,婉拒了🥲
投递阿里巴巴灵犀互娱等公司7个岗位
点赞 评论 收藏
分享
评论
4
12
分享

创作者周榜

更多
牛客网
牛客企业服务