首页 > 腾讯音乐后台开发一二面
头像
我要哒哒哒offer
编辑于 2020-11-13 16:21
+ 关注

腾讯音乐后台开发一二面

一面

腾讯音乐后台开发一面,面完看状态已经变成了复试,这次效率还挺高的。。。
之前面过一次腾讯地图,一面后过了一个星期左右,状态才变灰。然后被腾讯音乐锁了简历,11天之后迎来了今天的一面。。。
来电话时正在打羽毛球,直接问我现在有时间面试吗(正常情况下应该是先约面试时间的,这个是因为我下午找HR催了面试官了)?我说可以等二十分钟之后吗?然后就约了7点的面试
面试官非常直接,就介绍了一句我是腾讯音乐的,然后就直接开问

1.实验室方向
2.进程和线程
3.线程上下文切换为什么比线程开销小
4.如果两个进程都是单线程,这时怎么进行线程切换?(面试官意思可能是不同进程之间的线程怎么切换)
5.进程间通信方式
6.线程同步
7.为什么进程间需要单独的通信方式,而线程不需要?
8.什么是死锁?
9.如何预防死锁?
10.select和epoll区别(底层原理)
11.TCP,UDP区别
12.Nagle算法
13.不用Nagle与用Nagle的好处分别是什么
14.HTTP下载一个文件时,为什么速度刚开始时很慢,慢慢的才会达到一个封顶(完全懵逼)
15.HTTP的put和get有什么区别,在协议层面上有没有了解过(没有)
16.TCP三次握手
17.什么是半连接状态
18.TCP为什么可靠?
19.UDP怎么样可以实现可靠传输?
20.用什么语言?C++,然后开始问C++相关的
21.虚函数如何实现?
22.析构函数为什么要是虚函数,构造函数可以是虚函数吗?为什么?
23.友元类
24.为什么要做内存对齐?
25.深拷贝,浅拷贝
26.map,unordered_map底层,效率
27.哈希冲突怎么解决

5个算法题,比较简单,没让写,只说思想:
28.二叉树中寻找两个节点的公共父节点?
29.二叉树深度
30.数组里的第2大元素(堆,冒泡思想)
31.单向链表的倒数第n个节点
32.判断链表中是否有环

问实习:
33.介绍实习项目
34.协程怎么理解?为什么协程由我们自己调度的话,性能会更高呢?
35.什么情况下会对协程进行切换(调度),然后我还是没明白,面试官给解释:操作系统调度线程用时间片,时间片用完调度另外的线程,那你调度协程是怎么判断该调度哪个协程了呢?
36.项目参考开源代码还是自己实现的,你在里边主要负责什么?
37.协程调度算法是什么样的?

然后就直接结束了,也没让我问问题,以为凉了。。。


二面

腾讯二面凉经,知识点问的很深,被问的很难受,好几天了,今天终于鼓起勇气复盘了。。。
总结起来一是自己对知识点理解不够深入,只是停留在表面。二是心理素质不行,面试官问了几个不会的问题之后心态就有点崩了
  1. 介绍项目
  2. 在服务器中多协程相比多线程优势在哪?
  3. 协程中使用全局变量需要注意什么?(这个问题到现在也不太明白,请大佬们赐教)
  4. 说一下虚拟内存?
  5. 虚拟内存为什么是4G,是所有进程的虚拟内存都是4G吗?为什么?
  6. 当应用程序用到的内存超过4G了怎么办?
  7. MySql索引介绍一下
  8. 为什么不用二叉树,而是B+树呢?用二叉树的话有什么缺点?
  9. 如何选主键?
  10. Mysql B+树中每个节点大小是多少(16KB)?为什么是16KB?
  11. TCP,UDP应用场景,即要求速度,又要求可靠性怎么办?(我回答的是UDP模仿TCP的可靠传输)然后面试官问UDP模仿TCP加了重传、ACK等机制之后,那和TCP又有什么区别呢?怎么保证比TCP更快呢?(瞎分析了一波,没分析对,感觉面试时不会的问题是不能瞎回答的,否则会留下很不好的印象,感觉回答完这题,面试官已经不是很有耐心了)
  12. 了解http1.0/1.1/2.0吗?只了解一点1.1
  13. 4开头和5开头的状态码分别表示什么?
  14. 10亿个数值,找最大的一万个?(这个是最后一个问题,解释了大概有15分钟,可能是我表达能力太差了)
我:用一万个节点的堆,然后分批读取数据,往堆里插数据。
面试官:分批的意义是什么?
我:怕一次读完内存里装不下。
面试官:问为什么要一次全加进来呢?
问到这里我感觉有点懵逼,不知道在问什么?我以为面试官没有理解我的话,然后就举了个例子说:假设把这10亿个数值平分到一万个文件里,每次读进内存一个文件,然后遍历更新小顶堆
面试官:为什么要分成一万个文件呢?
我:我就是举个例子,为了防止超内存,每次读进来一部分
面试官:那为什么每次读进来一个文件呢?
我:我这个时候已经根本不知道在问啥了
后边面试官就是抓住我举的分文件这个例子一直问
最后面试官给了解释:他想要听的答案应该是设置一个buf,固定size,每次读一个buf大小的文件进来。。。。。。

然后分析时间复杂度,其实我一开始用错了数据结构,应该用小顶堆,我说成了大顶堆。时间复杂度应该是O(n),也没说好,刚开始把时间复杂度说错了,最后才改过来。

最后反问环节:问建议,面试官说了很多,总之意思就是自己哪里薄弱自己是最清楚的。。。

记录一次噩梦一般的面试


更多模拟面试

全部评论

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

相关热帖

近期热帖

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

热门推荐