更新下结果: 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) 回帖