腾讯音乐 tme 二面

去年9月份面的了,是整个秋招过程中最难的一次面试,印象特别深刻,被拷打得汗流浃背了
-------------------------------------------------
1. 项目中的难点介绍下
2. 用bitmap可能会出现什么问题?你这个算法怎么改进?
3. 压缩位图的原理
4. 介绍go的gmp模型
5. go协程调度底层原理
6. 了解go的gc调优吗?
7. 介绍下Java的垃圾回收算法
8. 介绍下tcp三次握手和四次挥手
9. tcp的close_wait状态是什么?
10. 介绍下tcp的流量控制
11. tcp和udp能共用一个端口吗?
12. 一条tcp连接中,如果客户端完全宕机了,服务端怎么感知到?
13. 介绍下epoll三条命令的作用及执行流程
14. 介绍下epoll边缘触发和水平触发
15. 你的项目是怎么用epoll的?用到哪种触发模式?
16. cap了解吗?
17. 讲一下raft算法
18. 有没有做过kafka的性能提升?
19. 了解mysql高可用吗?
20. 介绍下mysql主从同步的具体流程
21. 在mysql主从同步过程中,如果因为某些网络问题,导致某些命令在从节点被重放了多次,怎么处理这种问题?
22. 在mysql的主从同步过程中,如果主节点还未把数据传送给从节点前,主节点挂了,怎么让客户端读到最新的数据?换句话说怎么保证数据的强一致性
23. mysql你都是用什么隔离级别的?会用到间隙锁吗?
24. mysql mvcc的实现原理?
25. 介绍下redis怎么实现高可用
26. 介绍下redis 主从同步的流程
27. redis哨兵的作用?
28. 哨兵是怎么感知其他节点的存活的呢?
29. 假如没有这个哨兵的话,从节点怎么知道主节点挂了没?
30. redis怎么进行新主节点的选举的?
31. 集群模式下,redis的数据是怎么分布的
32. 如果哨兵挂了会怎么样?
33. 如果有一个主节点挂了,在客户端看来是怎么样的,此时redis还可用吗?
34. 如果这个主节点及其从节点全挂了,redis还可用吗?
35. 如果redis所有主节点宕机了会怎么样?
36. grpc的实现原理?
#腾讯音乐#  #腾讯#
全部评论
话说你们一般面试都是外放然后录音,面完听录音写面经的吗
点赞 回复 分享
发布于 01-11 08:24 江苏
已经忘完了,现在看一个不会
点赞 回复 分享
发布于 01-12 01:51 广东
有一面吗,大佬
点赞 回复 分享
发布于 01-12 16:54 北京

相关推荐

01-12 20:10
已编辑
电子科技大学 算法工程师
- 自我介绍- HashMap的底层数据结构  - 1.7 以前是数组加链表,1.8之后是数组+链表+红黑树  - 当链表元素增加到8个的时候,就会将链表转变为红黑树  - 当红黑树中元素减少到6个的时候,红黑树就会退化为链表- 为什么要设置8这个阈值(没答好)  - 如果 hashCode 分布良好,也就是 hash 计算的结果离散的好,那么红黑树这种形式是很少被用到的,因为各个值都均匀分布,在存储数据不多的情况时,概率不到千分之一。- 为什么做第一个项目:  - 课程作业  - 后面做完善的优化- 怎么应对高流量高并发  - 将高频查询的信息存储在redis中,如热门视频的信息  - 对高并发的操作进行异步处理,如点赞操作  - 分库分表,提高查询效率- 项目有没有上过线,线上有没有做过测试,最高的在线人数是多少- 本地测试的时候,接口的qps是多少,为什么会相差这么大,有没有排查过慢的原因- 什么是缓存穿透,怎么解决?- 分库分表怎么做的?- 为什么要做第二个项目:  - 学长做实习分享  - 自己很感兴趣- 全部都是从0到1自己设计的吗  - 先是自己学习相关的基础理论知识  - 然后中间去学习了一些开源的项目  - 中间有问题去询问了学长- 怎么应对并发安全和数据丢失的(答的不好)  - 并发安全:使用并发安全的跳表,使用读写锁进行了锁细粒度控制  - 数据丢失:使用 WAL 技术预写日志,防止数据未落盘丢失- 怎么设计的KV存储结构  - 共享前缀+剩余key长度+value长度+剩余key内容+value内容- 这个设计的优化是自己设计的吗- 线程池优化是怎么做的  - 每一层的 level 有一个单独的线程去做 merge- Buffer.allocate() 在哪分配内存  - 直接内存- 为什么要使用内存池技术(缓冲池)  - 减少new、delete的次数  - 减少内存碎片- 为什么要通过反射调用 clean 方法  - 由于 Buffer.allocate() 分配的内存空间不属于 JVM 的堆内存区(Java Heap),因此不受 JVM GC 的控制,卸载这部分内存空间需要系统调用 clean() 方法来实现- 内存锁定是什么  - 用户在分配除一部分虚拟内存时,其背后可能并没有真正的物理内存与之对应,只有用户真正需要访问内存时,系统才会为这段虚拟内存分配实际的物理内存,这种情况下,如果我们将需要使用到的内存全部锁定,为它们提前分配好实际的物理内存,就可以提高程序执行速度。  - 使用 JNI 调用 c语言库中的 mlock- 为什么想到内存锁定和反射调用clean  - 学习rocketmq的时候#java##找实习##面经java##面经##27届#
点赞 评论 收藏
分享
评论
9
37
分享

创作者周榜

更多
牛客网
牛客企业服务