腾讯光子后端面经

楼主已拿到offer但是没去,主要是我不是做游戏的,被这个部门约面就去了。

一面(面试官人挺好,全程笑呵呵,问的比较随便,也比较少,没有做题,没有什么压力,半小时全程聊天)
技术题只问了一小点:
.动态链接库 放在哪个段(文件映射段)
既然动态链接库是多个进程共享的,那如果dll中有一个全局变量,是共享还是独占(独占,因为进程空间隔离,数据实际上在全局变量段)
.可执行文件的二进制代码是一次全加到内存吗(不是,虚拟内存管理的知识,只加一部分,用到的时候再加载并分配页表数据)
.讲一讲一个请求发到服务器到响应的整个过程(看对网络有多了解,发挥题)
.聊一聊protobuf
.对lua了解吗

二面(压力面,拷打烂了,一个半小时,没有做题)
.知道页表缓存吗(tlb)
.epoll的使用流程(几个关键函数epoll add,wait,非阻塞,循环拿)
.epoll为什么快(红黑树查询+链表返回)
.边缘触发,从代码角度回答怎么使用(关键点:循环读)
.循环读取完,返回结果,错误码要怎么处理(eagain,epipe)
.tcp链接关闭的过程为什么要四次,3次行不行,什么时候会是3次(服务端不需要在第二次和第三次挥手之间再发数据且打开了延迟ack机制),客户端为什么要等待2msl(处理服务端没有收到第四次ack时的重传问题,等待网络中所有有关的历史报文失效干净,这样重启时不会有幽灵)
.rpc技术了解吗,rpc究竟是解决了什么问题,http2有哪些优化,为什么要多路复用,和http1的长链接有什么区别?分帧是怎么分的?
.reactor模型具体是怎么样的结构,有哪几种,redis是其中哪一种结构?
.redis主从模式,相关命令知道哪些吗,如何配置?
.redis 持久化,rdb怎么实现(fork子进程,cow机制),如果rdb过程中父进程修改了一些数据怎么办?继续增量同步,讲一讲增量涉及到过程(循环数组+偏移指针)
.k8s deploy和statefulset区别(存储,调度顺序,网络分配)
.k8s怎么实现灰度更新,怎么切流量(建一个新deploy,service的selector选中新老版本的pod,通过deploy的副本数控制流量比例)
.有用过pod探针吗,启动探针的好处是什么(解决其他探针启动时间设置困难的情况)
.有知道service mesh技术吗(答的istio side car,)东西流量的路由是通过k8s的哪个关键组件搞定的?
.平时学习的主要方式

三面(总监面,有一点压力,一个小时,聊得比较宽,没做题)
.深挖项目
.redis分片集群,怎么知道数据在哪个节点上
如果某个节点走了,需要重新哈希吗
.场景题,设计1000万个题目随机抽题让用户作答,要求每次题目不重复。(核心点是用伪随机表的方法,每次答下一题直接查随机表,o1复杂度)
.如果答题有等级,答的越多越从高难度里抽题怎么做(数据分层)
.英雄联盟这种5v5游戏,服务器设计上你觉得哪些问题需要考虑,比较重要?(不知道,没做过游戏,就说了一下帧同步,状态同步)
.为什么从日本拉一个文件,要比从本地城市慢得多(直接原因是rtt长,发送方确认一个报文变慢。根本原因是tcp的机制导致的,大rtt导致tcp的拥塞控制和流量控制出现缓慢:拥塞控制的过程(八股),拥塞窗口是收到一个ack才增大,所以rtt大会让发送方拥塞窗口增长缓慢。流量控制也是这个原因,因为rtt大,收方的窗口信息更新不及时,回过头来也限制住了发送方的窗口大小。以上几点导致了带宽低,积压多,速度慢。
.开源项目中参加了哪些工作?有多少人?
.hook拦截进程函数,怎么找到某个感兴趣的地址(项目相关,先动态调试od跟断点分析,再ida静态分析,补符号表慢慢看)
.有没有看过架构方面的书(没
.看过哪些原理上的书
.期望城市
.有没有了解过游戏业务(没
.平时在实验室怎么做项目的,拿到一个课题怎么入手
.玩过哪些游戏
.黑神话打到第几关了
#秋招#
全部评论
爱信等
1 回复 分享
发布于 2024-12-06 17:36 吉林
爱信等
点赞 回复 分享
发布于 2025-01-22 17:16 海南
好难
点赞 回复 分享
发布于 2024-12-12 15:39 江苏
很强
点赞 回复 分享
发布于 2024-12-07 23:27 广东
爱信等
点赞 回复 分享
发布于 2024-12-06 18:12 山东
爱信等
点赞 回复 分享
发布于 2024-12-06 17:59 安徽
爱信等
点赞 回复 分享
发布于 2024-12-06 17:53 辽宁
爱信等
点赞 回复 分享
发布于 2024-12-06 17:46 湖南
太牛了大佬,这些这么底层的都是看哪里的文档
点赞 回复 分享
发布于 2024-12-02 16:23 广东

相关推荐

不愿透露姓名的神秘牛友
03-03 21:09
已编辑
整体面试体验非常好,面试官人也很好,觉得如果过了的话一定是一个梦中情mt。1.三段实习挑一个产出讲一讲,中途会打断问问题拷打快20分钟,开始八股盛宴2.你们项目为什么要用PgSQL?3.PgSQL和Mysql的区别你觉得有什么?4.从其他的角度?你觉得mysql哪一点相比于PgSQL会更好?5.除了索引,对于MVCC来说,各自的优势是什么?6.你给我讲一讲MVCC,为什么要有MVCC,他解决的是一个什么样的问题?7.Mysql的隔离级别8.各个隔离级别出现的问题,怎么解决的9.讲讲Spring的IOC10.Spring的IOC你刚是直接说到底层了,其实还有一个功能是管理bean,你给我讲讲SpringBean生命周期11.那我们平时使用的AOP通常发生在哪个阶段?12.你给我讲讲Spring的AOP13.AOP底层原理?14.动态代理,Spring默认用哪个15.讲讲JVM内存区域16.什么情况下栈会溢出17.问一个堆上的问题,a=“abc”,b=“ab”+“c”,最终输出a==b的结果是什么,为什么,举一个是false的情况18.手撕算法:hashSet,写一个类,插入,删除时间复杂度都是O1,插入时元素存在,则不插入,删除时元素存在则删除,另外提供一个方法,随机返回出任意一个元素,要求复杂度O1反问建议:表达能力很好整体面试1h30min,问题很简单,因为每个问题基本上直接答到底层,面试官没有更多反问,一般反问直接叩到下一个问题了,最后算法时间有点长,最后一面通过
查看18道真题和解析
点赞 评论 收藏
分享
评论
23
98
分享

创作者周榜

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