腾讯后台开发面经-暑期实习内推

腾讯后台开发面经-暑期实习

基本情况
面试全程拷打了1.5个小时,基本网络、数据库、缓存、消息队列、算法都问到了。问题范围广,整体难度算适中,重点考察的是基础知识和实际问题的解决能力。
* 网络:HTTPS原理、TCP粘包/拆包。
* 编程语言:Golang协程、Context实现原理。
* 消息队列:Kafka消息重复消费、消费者组管理。
* 数据库:MySQL底层数据结构、慢查询优化、吞吐量提升。
* 缓存:Redis vs 本地缓存、缓存一致性、本地缓存固定实例访问。
* 项目经验:Job调度优化、导出性能优化。
* 算法:回文链表。

问题记录
1. 自我介绍
* 简洁明了,突出技术栈和项目经验。
2. HTTPS的原理
* HTTPS = HTTP + SSL/TLS,通过非对称加密交换对称密钥,后续通信使用对称加密。
* 面试官可能会追问:为什么需要非对称加密?(因为对称加密的密钥传输不安全balabala)
3. TCP的粘包、拆包
* 粘包:TCP是字节流协议,消息边界不清晰,多个消息可能粘在一起。
* 拆包:一个消息可能被拆成多个包传输。
* 解决方法:固定长度、分隔符、消息头声明长度等等。
4. Golang协程
* 协程优势:轻量级、上下文切换快、由用户态调度。
* 对比线程:协程更高效,适合高并发场景。
5. Context实现原理
* Context用于控制Goroutine的生命周期,传递请求范围的值。
* 实现原理:通过树形结构管理Goroutine的取消信号和超时控制。

6. Kafka消息重复消费
* 原因:消费者提交offset失败、分区重平衡、消费者重启。
* 解决方法:幂等消费、事务消息、去重表。
7. 消费者组管理
* 多个消费者在一个消费组中,Kafka会将分区分配给消费者。
* 避免重复消费:确保每个分区只被一个消费者消费。
8. 延迟调用API
* 使用消息队列(如RabbitMQ的延迟队列)或定时任务(如Cron)实现。
9. MySQL底层数据结构
* InnoDB:B+树索引,支持事务、行级锁、外键。
* 优势:查询效率高,支持高并发。
10. 慢查询优化
* 方法:加索引、优化SQL、分库分表、缓存热点数据。
11. Redis vs 本地缓存
* Redis:分布式缓存,数据共享,适合大规模系统。
* 本地缓存:速度快,但数据不共享,适合单机场景。
12. 本地缓存固定实例访问
* 使用一致性哈希或固定路由策略,确保请求总是访问同一个实例。
13. 缓存和数据库一致性
* 方法:先更新数据库,再删除缓存(Cache Aside Pattern)或延迟双删,能分析出各自的优缺点更好。
14. MySQL提升吞吐量
* 方法:读写分离、分库分表、优化索引、使用连接池。
15. Job调度优化
* 通过调整调度策略(如优先级调度、批量处理)提升系统性能,和操作系统很相关。
16. 导出性能优化,如何从30分钟优化到3分钟
* 并行处理。
* 减少数据库查询次数。
* 使用缓存
* 流式导出等等。
17. 流式导出什么意思
* 边查询边导出,减少内存占用,提升响应速度。
18. 算法题:回文链表
* 思路:力扣原题,快慢指针找到中点,反转后半部分,比较前后两部分是否相同。
* 实现:手写代码,注意下边界条件。
内推链接:
https://join.qq.com/resume.html?k=ANQI6RfQ3rhPS2dpyIkeSw
评论区可以留下姓名缩写加岗位,方便后台查看是否内推成功
#前端##技术##面经##后台开发##实习内推##腾讯#
全部评论

相关推荐

26届后端暑期实习。总结:项目拷打偏多,有一些八股,数据结构问了AVL和红黑树,还有MySQL的B+树30道拷打+八股8道数据结构1道LC SQL #1961道LC 算法 #3详细:时间 1h 15 min自我介绍项目,Java基础Nginx的作用 它可以做什么Nginx 中你了解有什么命令Nginx 配置项你了解多少Nginx 负载均衡策略有哪些场景题----假如我按权重分配服务器,高权重的服务器崩溃了,会搞崩溃低的,怎么办爬虫-你爬取网站的时候携带什么header反爬虫策略你碰到过吗?如何应对你会携带cookie爬网站吗,是什么场景,为什么?cookie会携带什么信息Web Cookie有什么作用,如何防止泄露后被别人登上你的账号Cookie vs Session Storage (回答成localstorage了)Java NIO你了解多少NIO命令, 你了解epoll这些吗当读取文件时,一次性全部读取还是分片读取?文件流读取时,你如何知道自己读到哪里了?Linux指令了解多少是否用过linux编辑器如何在vim里面搜索Spring 你了解吗分布式CAP分布式系统如何保证高一致性,有什么算法/策略,实践?ZooKeeper选举leader过程(他表示比较偏了,没答上来没关系)Java Lambda表达式,如何实现,Lambda是否可以调用外部变量,有什么限制为什么会有这些限制?Javascript lambda vs Java lambdalambda in other languageSerialization序列化听说过吗, 是干嘛的如果我更改一个类(加变量),然后deserialize之前的,会报错吗还是会正常serialVersionUID是什么,如果你不申明该变量, 会给你一个default吗,还是就是0?如果有一个变量你不想序列化,怎么办?数据结构Java中Tree类API用树索引相对链表有什么优势,时间复杂度?我们有很多种树,比如红黑树、AVL树,问选取和更新时间复杂度比较红黑树和AVL数mysql为什么使用B+树,B+树相对AVL树有什么优势为什么树叶多不好, 为什么慢MySQL B+树建立多索引,MySQL 为什么用B+树索引手撕:SQL删除重复邮件(LC SQL #196)最长非重复字符串(LC #3)想多展示一个项目(AI Agent)面试官表示:时间不够了望理解 如果有二面可以给我们看反问:团队目前遇到的挑战是什么结尾:今天的面试就到这里2小时后邮件通知流程结束完#面试##面经##后端##暑期实习##牛客AI配图神器#
offer推动机:加油大佬
点赞 评论 收藏
分享
bg:双9有acm经历,但比较菜,项目和实习基本为零,趁投的早硬面,不想再准备一个项目了(不知道可行吗)字节开局不利,一开始投到了25届的实习(感觉在一堆26届实习里混一个25届就是为了筛掉我这种人),没看清楚啊。发现后投了26届的同一个岗位,发现在后一页,然后在系统反馈了这件事,第一次说要我写清楚具体岗位ID,理由,我又反馈了一次,然后他把我25届和26届两个流程都终止了。。。后面又重新开始投,过了几天没动静,但是有字节财经后端的hr打来电话,说在池子里看到简历,约一面(流程里看不到的)3.3 一面是女面试官,没开摄像头(突然感觉布豪),一开始问科研和项目遇到的问题和解决有没有通用思路然后问了一些简单的八股,还有熟不熟悉 Mysql 和 redis,确实不太熟,需要补一下(我原本投的是客户端。。。甚至没有对口的项目)只看了一天mysql,redis的答不上来(缓存三兄弟,持久化方式,见过但是没背过),mysql问了下存储引擎还有日志区别其实mysql的勉强可以背出来,redis确实还没背红黑树特性,问有没有写过红黑树,为什么没写过(汗流浃背了。。。)手撕全排列(感觉已经寄了,随便给道题做)反问财经业务,建议(委婉表示不太对口,他们这边数据库业务比较多)45 min快速结束上午11点面,13点收到二面电话,这都能进? 然后一天速成redis,能记多少记多少3.4 二面开摄像头,一开始询问想做通信还是数据库,我以为和一面的部门业务差不多,就说了数据库,但是他们是做通信的(疑惑了),确认了是财经部门,开场就有点尴尬然后开始问项目,有了解过其他 webserver 的实现吗(nginx,见过没了解过)然后问了下c++的移动语义和完美转发(答的不是很全,大概定义知道,还问平时开发用过吗)问场景题:跨区域的RPC调用比同区域的RPC调用有异常耗时(相比 PING 耗时多了很多),不太会,引导从 TCP/IP 协议栈回答说 RPC 是应用层, PING 是网络层,不需要三次握手,可能有超时重传追问什么时候会超时重传,和拥塞控制,说了一半被打断说你觉得这个和RPC异常耗时有关吗(有关吧。。)感觉答的挺一般的,给人感觉对真实业务场景不熟(最后反问也是给这个建议)开始做题,小于n的最大值(经典字节题,之前没试过,知道大概思路,给了两个样例,结果都没过,debug了5分钟才过了)一共做了20分钟这样,讲了下思路,面试官不置可否也是45min快速结束反问:具体业务,实习生进去培养流程,评价面试(他说还行,是不是不太行的意思),不知道能不能过3.5 打电话问hr有消息吗,回复没结果,大概也知道是凉了3.7 号抖音电商后端的另一个hr给我打电话,说之前财经的没过,现在重新打复活赛,约 3.13 晚上一面了这周先多看看场景题吧,熟悉熟悉后端业务#我的失利项目复盘#
查看14道真题和解析 我的失利项目复盘
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客企业服务