腾讯TEG后台开发实习一面+二面+HR面经 (已Offer

更新下结果:   3.18一面过,3月22号二面过,23号HR面过,25号OC,26号Offer

一面 (3.18) 


全程一个小时,没录屏,纯回忆,所以问题的顺序不一定对哈

1. 简单介绍下自己

2. 用的什么语言?
Java,然后他说他们主要是C++和golang,问转语言愿意吗。

3. 面向对象三大特性,重载是多态吗,重载在字节码层面的实现?
我答了编译期多态,然后问了符号引用

4. JVM内存说说,GC说说

5. 问一个空的类加载后在方法区的大小?  不知道...

6. JVM是怎样提高GC效率的?
支支吾吾答了分代收集以及从降低停顿时间( CMS) 和提高吞吐量两个方面优化

7. 说说Redis线程模型?  为什么Redis单线程还那么快?  单线程模型有什么缺点?
答了i/o多路复用,基于内存。 问还有吗,想了下答了命令基本都是 O(1)和O( Log N)。
缺点答了长耗时命令导致阻塞,问还有吗,答了I/ O读写也是主线程负责,吞吐量低了。

8. 接上个问题,说说哪些操作是 O(1)和O( Log N)

9. 说说跳表,和b树有什么区别
我答了跳表是给链表加几层索引,然后他问跟b树有什么区别。答了跳表基于概率保持平衡,b树基于旋转
(感觉这题答得不太好

10. Redis的哈希表扩容怎么实现的,和Java的哈希表有什么不同?

11. Java哈希表哈希冲突怎么处理,什么时候转成红黑树,答了8和64两个条件,追问为什么是8和64。ConcurrentHashMap线程安全实现?
听我说到CAS,让我说说CAS

12. Redis怎么实现事务的?  Redis分布式锁说说?

13. MySQL主键索引和辅助索引区别?

14. MySQL事务原子性怎么实现的,隔离级别中RR和RC怎么实现的?
答了 redo log,undo log,行锁和mvcc 。

15. 说说 binlog和redo log区别,binlog能用来干嘛
说了binlog可以用来做备份和主从复制 (给自己挖了大坑....

16. 说说主从复制怎么实现的,为什么主结点要先写入日志,为什么不直接发给从节点?
乱说一通,答得不好

17. 读内存为什么比读硬盘快?
这里没理解面试官的问题,答了内存和硬盘物理结构不同。。

18. 问I/O的过程 (用户态内核态),问一次IO读写内存复制了几次,接着问零拷贝,如果用零拷贝则复制了几次?
答: 答了传统IO需要四次,零拷贝不懂,心虚地说了要两次,实际上是要三次.... (评论区老哥提醒,最少是两次

19. Nginx线程模型,和MySQL的线程模型有什么区别,为什么nginx要多进程? 不知道...

20. 场景题: 2.5亿个数中只有一个数出现了2次,其他只出现一次,问怎么找出这个数?
我脑抽了直接说内存放不下,面试官追问你怎么知道,算算大小。结果我还算错了,算成了10GB,实际上不超过1GB (尴尬) 。我答放进内存可以用哈希集合。
面试官追问内存如果放不下呢?
答了分治处理,面试官追问怎么分治,按文件长度分还是哈希分? 哈希分。
面试官问还有更好方法吗? 不知道了....提示bitmap

21. 问项目。
问功能实现,有没有遇到什么难点,项目出问题排查,高并发时怎么办,qps多少,数据量多少,数据库连接池,数据库备份相关 (再次鞭尸

22. 手撕算法: ip地址转整数
思路很快想出来了,但是细节处理得不好,非法用例没考虑周全。最终debug了好久才跑通。(很尴尬

面试官提到了,这个题还要考虑 语言大端小端问题。(orz

23. 问了老家哪的,问了可以实习几个月和地点


还有几个问题忘了,想起来了的话就在这补充下:
1. 说说InnoDB两段写 ( Double Write) ?  不会...
2. 服务器挂了怎么办? 数据库挂了怎么办?
3. 说说热备份和冷备份区别
4. MySQL的连接层支持哪些协议,只是TCP吗?


反问:
1. 问了问自己有什么不足,需要改进的地方
2. 部门主要是做什么的?
答了是数据库 (听不太清楚,不知道是说数据还是数据库)。我问TDSQL是你们做的吗,答曰不是他们部门。

感想: 腾讯毕竟是腾讯。面试官很准时,很专业,语气很温柔。问题由浅入深,卡壳了会引导你思考。完了会给你鼓励和认同。


二面 (3.22)

面试官级别应该比较高,0八股

1. 在学校学了哪些专业课?说说你学的比较好的一门。答:操作系统
2. 操作系统里哪个部分你学得比较好?答:进程线程还有内存管理那方面吧 (直接给自己挖坑
3. 程序中怎么创建一个进程执行?我说了C语言中用 fork,Java中用Runtime.exec
4. 直接写代码:写个程序实现创建两进程A和B,A输出一个字符串,然后B读取A的输出,B输出这个字符串的逆序。
    因为我对Java的进程API实在不太熟,所以基本属于边摸索边写,写了挺久的。。面试官还跟我一起Debug
5. 操作系统中还有什么令你印象深刻的?
6. 磁盘调度算法说说?为什么电梯算法比较好?
7. 为什么读磁盘比读内存慢?我说机械硬盘要寻道。接着问你了解固态硬盘的原理吗?orz
反问:
1. 部门做什么的?

面完感觉凉透了,但10分钟后官网就显示通过了。。比较出乎意料

HR面 (3.23)

HR面比较常规

1. 自我介绍
2. 介绍下项目,有难点吗,怎么解决的
3. 说说mysql和redis区别 
4. Go语言你了解多少
5. 保研么?考研么?为什么
6. 说了说组的方向,问能接受不
7. 有其他offer么
8. 什么时候能来实习,实习多久,老家哪的,来深圳可以接受不
9. 还有的问题忘了......

反问
1. 实习生转正怎么考核,转正率多少?

#腾讯##面经##实习#
全部评论
如果是数据库,大概率是TDSQL,不是tdsql一个部门的话,应该就是CDB了。
1 回复 分享
发布于 2021-03-25 20:50
请问老哥第18题怎么答的呀
1 回复 分享
发布于 2021-03-18 17:28
想投tdsql要投哪个部门呀...有没有部门的师兄师姐来捞一下
点赞 回复 分享
发布于 2021-07-31 10:52
楼主二面过了吗
点赞 回复 分享
发布于 2021-03-20 21:15
所以重载是多态吗
点赞 回复 分享
发布于 2021-03-20 09:20
这面试官Java也懂这么多么
点赞 回复 分享
发布于 2021-03-18 17:36
挺强的了
点赞 回复 分享
发布于 2021-03-18 16:08

相关推荐

03-31 16:42
中南大学 Java
人生第一次面试,从中午开始就紧张的不行,吞了两粒普萘洛尔,面试的时候确实一点没紧张了。问了快四十个问题,面经写出来才发现问题这么多,怎么记得看面经都是只有一二十个,是不是大家发的时候都精简了一些导致的?鼠鼠实力还是不够,死锁居然没想起来,aba问题一句话的事,也没看过,场景题也只能凭自己经验瞎编,没提前准备好在面试官人比较好,没答上来也给提示,说没关系。(感觉面试官也有点紧张,让我放松了不少)没有手撕也比较惊讶,不知道是出于何考虑。希望能有二面吧,给我一点正向反馈吧,压力真的是爆了问题:1. 请花大概五到十分钟,介绍一下你的项目经验,以及整体遇到的问题和如何解决的。2. 本地生活服务平台项目,是你一个人完成的还是团队合作完成的?3. 这个项目(本地生活服务平台)中,你觉得遇到了最重要、最难的问题是什么?你是如何解决的?4. 经过你这个缓存设计之后,你的整个系统 QPS 可以到多少?假如说我现在要扛 1 万 QPS 的话,你觉得整个系统还需要做什么升级改造?5. 你怎么样去识别哪些数据是热点数据的?6. 假如说你的系统一直运行得很好,突然某天出现了宕机,你觉得应该怎么去定位?大概的流程知道吗?7. 你觉得秒杀系统这种商品购买和普通的商品购买,它会有什么不同?整个系统需要考虑什么因素?8. 如果系统现在能扛 1000 QPS,瞬间来了 3000-4000 个客户秒杀,可能会发生什么?应该有什么措施去对抗/缓解这种情况?9. 你滑动窗口限流用的是什么组件?大概是怎么实现的?10. 针对第一个 下单资格判断Lua脚本,脚本主要的逻辑是什么?11. 如果配合 Lua 脚本的话,有没有什么注意事项?12. 假如因为不小心写了个 bug,这个 Lua 脚本执行需要 10 秒或者 20 秒,你觉得这个时候系统可能会发生什么情况?13. 假设 Redis 的 Lua 脚本正在执行一个扣减操作还没执行完,这时候其他客户端的请求打过来了,它会阻塞吗?还是不阻塞?14. 你们的项目里面用到 Caffeine,为什么用它?主要用它做什么?架构设计上有什么考虑?15. Caffeine 的淘汰策略你大概知道吗?16. 系统运行中如果出现慢 SQL,一般是什么原因?以及如何定位慢 SQL 问题?17. 假如系统用户量非常庞大(两三千万),要给数据库去加索引的话,这个索引加起来可能耗时两三个小时,在执行索引时需要注意什么?18. 你怎么样去测你的 QPS?你评估出来的 1000 QPS 主要是关注哪些指标?19. 本地生活服务平台是在公司里面的经历,还是你们自己的一个学习项目?20. 对于 Kafka 了解吗?它是怎么样保证消息顺序的?21. 即便做了缓存缓解压力,MySQL 还是可能有瓶颈,你觉得这个时候需要做哪些对 MySQL 的优化?22. 你说数据库做主从分离,读从库时,怎么样去保持主库和备库的数据一致性?23. 你们整个系统有没有用到什么监控?你觉得应该做哪些监控去保证稳定,避免发生用户投诉而你没感知的情况?24. 假如系统突然之间 CPU 报警到 90%,或者内存马上要不足了,你应该怎么样从哪些方面去排查?25. 假如系统做了集群,其中有台机器持续报警,你没时间定位,最快的止血方式是什么?26. 如果 Redis 数据更新了,但 Caffeine 的数据还是旧的(双缓存不一致),什么情况下会出这种 bug?发生了要怎么办?27. 订单系统里的超时关闭(延时任务),你觉得应该怎么实现?28. 怎么防范爬虫?29. 滑动窗口限流和固定窗口限流有什么区别?为什么用滑动窗口?30. 支付回调和关单任务可能同时操作同一个订单,应该怎么样去设计避免冲突?31. 你大概知道什么是 CAS 吗?这里面可能会有什么问题?除了空耗 CPU 之外,还有什么其他问题?了解过 ABA 问题吗?32. 谈到锁的升级,可以大概说一下 Java(Synchronized)锁的升级策略吗?33. 如何避免死锁?如果系统中确实出现了死锁,要怎么样去排查?34. Java 的 equals 和 == 有什么区别?一般重写 equals 的话,为什么还需要重写 hashCode?35. 对 Vibe Coding 了解吗?平时使用什么框架或工具?在使用这些 AI 工具生成代码的过程中,你遇到过什么问题?36. 假如用户提出恶意问题(提示词攻击),比如要求删除知识库文档,你如何避免这种恶意操作?37. 自动问答知识库系统(RAG)中,为什么要用 BM25 和向量混合索引?基于什么考虑?38. 你怎么样评价或者说评估你的 RAG 系统的好坏?应该做哪些测试?提交给决策者做可行性分析可以给出哪些数据?39. 如果用户问了 A 问题,预期 A 答案,但始终得到错误答案,你怎么样去定位排查这个问题反问1. 做的业务主要是什么?技术栈是什么样的?2. 实习生培养机制大概是怎样的?3. 真实的业务开发中,是否有用到 AI 技术?是怎么使用的?
发面经攒人品
点赞 评论 收藏
分享
评论
7
53
分享

创作者周榜

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