3.17 腾讯音乐后端一面
1. 自我介绍
2. 无项目拷打
3. 问题
部门业务和AIGC有关,我自我介绍的时候提到了算法,上来问了一点点点点算法的东西
3.1. 你的研究生是电子信息(点了,非科班的痛),看你提到了算法的东西,是怎么学的?实验室包含算法的课程吗?
3.2. 了解卷积嘛?用白话一点的方式讲一下
本人是做图像的,给他库库一顿讲卷积。完了又讨论了一下图像处理里的卷积啥的,不重要。
3.3. 说一下死锁是怎么形成的?
答得不是很好,面试官一直引导,太菜了还得多学
3.4. 了解synchronized
关键字吗?底层是怎么做的?
3.5. 怎么学java的,在什么场景学的?
一开始说什么看课本看技术帖子根据实际需要看某些框架的官网啥的,面试官问 还有没有别的哈哈哈,恍然大悟说还会看源码,然后问看了哪些源码。
我说,看过HashMap
的!
3.6. 简单说HashMap
的结构,其余的不用多说
回答java 1.8
以上是数组+链表+红黑树。
3.7. 红黑树的特征
回答平衡树,搜索插入删除速度比较快
面试官说 还有呢,叶子节点是什么颜色?回答黑色。
3.8. 又问:你也提到了搜索树,为什么有了二叉搜索树还需要红黑树?
回答二叉搜索树在极端情况下会退化成链状,红黑树会通过旋转保持平衡。
面试官质疑 二叉搜索树会退化成链状嘛?确定? 思考了一下坚定地说 会呀!
3.9. 感觉在看简历思考问什么问题,MySQL
的索引在InnoDB引擎
里采用的是什么数据结构?
回答B+树以及特点。
3.10. 假如说我有一个联合索引,字段是ABC
,使用的时候顺序是ACB
,还会生效吗?
回答会,因为底层有优化器,只要有最左侧的字段都会生效。
3.11. 了解MySQL
的隔离级别吗?在可重复读的隔离级别下会产生幻读,怎么解决的?
回答InnoDB引擎
在可重复读隔离级别下是通过MVCC
和临键锁来防止的。
追问:什么时候用MVCC
什么时候用临键锁?
回答 快照读用MVCC
,当前读用临键锁。
问:你说的临键锁是范围锁的意思吗?还是说什么意思?
回答 就是记录锁+间隙锁呀(这玩意不就叫临键锁吗哈哈哈哈
追问:每次都会用到这两个锁吗?
面试官希望我回答在对唯一索引进行等值查找的时候只需要加行锁,不需要间隙锁。我没回答出来,纠缠了好一会面试官疯狂提示引导。
3.12. 又开始讨论电子信息学了啥课程学没学计网和操作系统
3.13. 问Redis
怎么实现分布式锁
只回答了setnx
关键字,然后说不是很了解匆匆结束这个问题哈哈哈哈
我说对主从复制和持久化比较了解改问这些。
3.14. 讲一下主从复制
讲主从复制的流程,面试官说基本都是对的。
追问:主从复制涉及到一个缓冲区了解吗?
我说不了解哈哈哈哈,我说我了解持久化的缓冲区
3.15. 那AOF在重写的过程中是什么样的?重写机制是啥样的?
回答:AOF文件过大就会触发重写机制巴拉巴拉
追问:重写是需要读老的文件吗?
回答:不用,直接读数据库
3.16. 说一下AOF的缓冲区
回答:数据更新不会立刻写回到磁盘里,而是标记藏页表,操作系统选择在合适的时机写回磁盘
追问:什么时机写呢?
回答:always everysec no
3.17. 提到了操作系统,那操作系统的零拷贝了解吗?
回答不了解哈哈哈哈哈哈哈哈哈哈
追问写时复制呢
3.18. 写时复制
回答RDB文件的写时复制,fork()一个子进程然后复制虚拟地址啥啥的,如果有修改就复制物理地址
追问:有什么缺点
回答:数据很大的情况会导致线程阻塞(感觉答得不是很好
3.19. SYN
攻击听过吗
没听过,点了
3.20. TCP
基本流程了解哪些?
回答了解三次握手四次挥手
让说三次握手的流程
完了之后又问 第一次把SYN
数据包发过去的时候放在服务器的那个地方? 不知道哇驻波啥也不知道
我靠是半连接队列,学过的完全没想起来。
4. 手撕(面试官说了15min内
三数之和,写的很顺畅,不知道有什么细节错了有一点问题,面试官最后说思路都是对了
撕完之后问实习最长时间多久,四个月以内还是以上?
回答 现在入职的话四个月以上。
5. 反问
部门业务
什么时候出结果?要评估感觉我表现得一般哈哈哈,说如果下一面的话很快会通知的啥啥的有点没听清哈哈哈哈
6. 体验
面试官没开摄像头,但是说话很温柔;面试比较像聊天式的,体验感很好,回答问题面试官会引导你,说不了解啥的面试官会很温柔的说好的,没关系。