首页 > 腾讯TEG后台开发实习一面+二面+HR面经 (已Offer
头像
Allen_0x4bb
编辑于 2021-05-01 11:46
+ 关注

腾讯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. 实习生转正怎么考核,转正率多少?

更多模拟面试

全部评论

(7) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐