腾讯CSIG后端开发日常实习一面面经

人生第一次面腾讯 部门是CSIG的技术与产品 3.16晚上面的 大概1h 问的问题挺多的 手撕给了两道10分钟就写完了 反问环节面试官评价也挺正向 还说两道手撕都很快写出来了挺不错的(他说他一般给两道是会让候选人自己选一道的) 感觉自己发挥挺正常的 以为应该可以过 结果八点面完九点就给挂了 不知道是不是kpi面 人生中第一场鹅面试就这么狠狠被挂掉了

1. 自我介绍 顺便介绍两个项目
2. 你说到你的项目是微服务架构 那你说说微服务是什么?
3. 你的评价系统用到了Canal 你为什么要用Canal?
4. 面试官说他记得Canal的配置是比较复杂的 他说有很多复杂的配置文件 问我当时是怎么去配置的 有没有遇到什么难题?
5. 你的后台消费脚本怎么判断一条语句是DDL语句还是DML语句的?(刚好有考虑到这一点就回答了根据Kafka里面的消息来判断)
6. 那怎么判断是不是DCL语句呢?(这个确实没考虑到)
7. 你的项目用到了SSE 说一下SSE和http有什么区别 SSE是单向的吗?
8. 你的RAG项目是为什么架构的?为什么要使用Eino框架 它在里面起到了什么作用?
9. 你的文档存到向量数据库的索引是怎么设计的?
10. 召回文档的时候是怎么召回的?召回的是文档的ID还是文档的内容?
11. 说一下OSI七层网络模型和TCP-IP的四层网络模型 每一层分别有哪些东西介绍一下(只记得四层 七层的没说全 太久没看了忘了)
12. 说一下TCP的三次握手和四次挥手
13. Go里面的error和panic有什么区别?
14. 那panic是怎么捕获的 说一下
15. 那Defer是用来干什么的?
16. Go里面的Context有了解过吗 介绍一下Context可以用来做什么?
17. 说一下Go语言里面的零值
18. 为什么两个项目一个用Gin框架一个用Kratos框架?
19. 为什么手撕代码一道题用C++、一道题用Go? (说之前打编程比赛的时候习惯用C++写算法题 链表和二叉树的题目就习惯用C++写)

手撕代码出了两道都是简单难度的leetcode 但是第二道不能额外开辟新数组 用逆向双指针就可以解决了:
1. 判断链表是否有环 (自己写输入输出构建链表)
2. 合并两个有序数组(要求不可以额外开一个新数组 只能使用常量级别的额外空间)
全部评论

相关推荐

04-15 11:19
已编辑
西北大学 Java
一面:吹水聊天,聊AI,聊发展 无手撕二面:实习深挖+少量八股拷打+简单题手撕把接口响应延迟优化到 150ms,具体做了哪些事情?原来业务有哪些性能瓶颈?做了哪些优化?150ms 是怎么压测出来的?用什么工具?TTS 服务核心是不是两步:文本预处理 → 音频处理?在这两步里,挑一个效果最好的优化点详细讲讲。你说的分级内存池、四个内存块,具体是怎么设计的?这些音频处理是在 TTS 服务内部,还是调用第三方服务?接口输入是一句话、一段话还是长文本?四个内存池是对同一个接口内的数据拆分,还是不同请求之间共用?内存池主要优化的是不是 GC?优化前接口延迟大概多少?(你回答 600+ms)这个接口应该是核心接口吧?之前为什么没人做优化?全双工 / 流式方案是你自己设计的,还是团队讨论的?你参考了哪些友商方案?三、项目:Redis ZSet 实时积分排行榜用 Redis ZSet 实现实时积分排行榜,详细讲一下场景和结构。为什么不用其他结构,而用 ZSet?举个例子:一个用户原来第 50 名,加分后升到前面,ZSet 是怎么实现的?动态更新排名、动态抓取排名的原理是什么?Redis ZSet 底层用什么数据结构?跳表怎么实现排序?详细讲一下。一个节点分数更新后,跳表是怎么把它挪到新位置的?如果让你自己实现一个有序列表,怎么做?用户量很大时(比如千万级),链表从头遍历效率低,怎么优化?四、登录模块实现(JWT + 短信验证码)讲一下你项目里登录模块大概怎么实现。前端每次请求带 token,你怎么验证 token 有效、是否过期、是否被篡改?JWT token 里面编码了哪些信息?token 过期后,用户还在活跃,会不会刷新 token?怎么做无感续签?JWT 是对称加密还是非对称加密?token 被中间人截取,有没有可能被篡改伪造?五、缓存三大问题:穿透 / 击穿 / 雪崩讲一下缓存穿透、击穿、雪崩的区别和场景。项目中遇到过哪些?分别用什么手段解决?防止缓存击穿加锁,会不会导致性能下降?怎么权衡?六、算法题写一道简单题:判断一棵二叉树是否对称。 -秒了二面后3小时官网显示挂
发面经攒人品
点赞 评论 收藏
分享
评论
9
20
分享

创作者周榜

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