3.17 腾讯音乐后端一面

--------------------3.19下午更新 过啦一面过啦!!!!---------------------------

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. 体验

面试官没开摄像头,但是说话很温柔;面试比较像聊天式的,体验感很好,回答问题面试官会引导你,说不了解啥的面试官会很温柔的说好的,没关系。

#腾讯音乐26届实习#
全部评论
这么多问题呀hh
1 回复 分享
发布于 03-18 14:09 山东
佬投的时候选择意向事业群了吗还是无明确意向
1 回复 分享
发布于 03-18 12:28 黑龙江
请问手撕是什么模式呀,acm还是leetcode那种?
点赞 回复 分享
发布于 03-31 10:06 江苏
我是上来就给我三道题让我写,现在还在流程中,没有约面,估计g了
点赞 回复 分享
发布于 03-28 00:52 四川
佬,是q音吗,二面了嘛
点赞 回复 分享
发布于 03-24 22:05 广东
加油加油
点赞 回复 分享
发布于 03-20 01:51 广东
是q音乐吗
点赞 回复 分享
发布于 03-19 20:39 陕西
m
点赞 回复 分享
发布于 03-19 16:49 北京
佬,二面了吗?
点赞 回复 分享
发布于 03-19 12:10 北京
佬,请问是什么部门呀
点赞 回复 分享
发布于 03-19 10:56 广东
专硕电子信息是大类哇,也算科班的哇
点赞 回复 分享
发布于 03-18 22:17 江苏
爱笑的牛客男孩运气不会太差
点赞 回复 分享
发布于 03-18 15:24 广东
电子信息不算非科班
点赞 回复 分享
发布于 03-18 14:55 安徽
我也上午面的 秒挂
点赞 回复 分享
发布于 03-18 13:46 辽宁

相关推荐

04-21 12:53
已编辑
广东药科大学 golang
树根科技的一面-半个小时算法题:删除有序链表的重复元素II原题LC82. 删除排序链表中的重复元素 II  是在牛客的核心代码模式一开始没运行成功后面说了思路 然后就放我过了我在最后说完思路之后调了一下代码之后运行成功完美😍就两道八股然后实习简单问了一下 没什么好回答的我操又是KPI我的面试八股:1,索引是什么?对于索引的理解?底层数据结构是什么我觉得这道题问的很经典但是可能大家回答的大差不差 这里希望大家看可以回答的有章法一点  我这里贴一下我的回答吧面试回答:索引是数据库中用于提高查询效率的数据结构。它类似于书籍中的目录、通过创建索引、数据库可以更快地定位到数据的位置,从而减少全表扫描的时间,显著提高查询性能。索引本质上是一个辅助数据结构、B+树索引是一种多路平衡树、常用于数据库的存储引擎。Innodb数据库默认使用 B+树作为索引。然后来介绍一下B+树索引1. 首先先说一下B+树的特点是什么:B+树的叶子节点存储数据、非叶子节点只存储索引、不存储实际数据、所有数据都集中在叶子节点。而且每个节点里的数据都是根据索引的值来顺序存放的 也就是顺序存储2. 然后呢B+树适合顺序访问及范围查询:B+树的叶子节点之间通过双向链表连接、每个节点都有指向前一个和后一个节点的指针、以及当前的数据。这种结构使得可以顺序访问、从任意一个叶子节点开始、通过双向指针快速地向前或向后访问其他节点访问高效、无需回溯即可遍历更多数据。也可以通过范围查询、可以通过在链表中找到该范围的起始叶子节点、然后顺序地访问链表中的节点。3. 以及最重要的是:B+树的查询性能比较高:由于B+树的结构是平衡的、所有叶子节点都在同一层、这意味着查询数据时、查询的深度通常比较浅(一般在3到4层)、即使数据量达到千万级、最多需要3~4次磁盘I/O操作就能找到目标数据。这极大减少了磁盘访问次数。 4. 还有就是B+树具有稳定的查询性能:由于B+树是平衡的,所有的数据检索操作都有相同的I/O延迟。这使得B+树特别适合用于存储大量数据并且要求稳定查询性能的场景、这也是我们选择B+树作为索引的主要原因  2.面试官问的问题:  面试官问的是:一个表下有多个索引,每一个索引下都是B+树结构、那每一个索引的叶子节点都是存储的实际的数据吗?一开始没明白这个是什么意思、后来面试官提示了一下才明白原来问我的是:聚簇索引和非聚簇索引(二级索引)的区别。参考回答:分为聚簇索引和二级索引回答聚簇索引:叶子节点:存储的是主键值和完整的行记录(即数据行的所有列数据)。非叶子节点:存储的是主键值和指向子节点的指针。非聚簇索引(二级索引):叶子节点:存储的是索引键值和该行的主键值、不存储完整数据。非叶子节点:存储的是索引键值和指向子节点的指针。查询过程:如果查询条件使用了二级索引(非聚簇索引)、但查询的数据既不是主键值也不是二级索引值、则需要通过二级索引查找主键值、然后回表查询实际数据。这样会进行两次B+树扫描、分别查找索引和数据。如果查询的列是主键值和二级索引值、并且这两列都在二级索引中(例如联合索引)、则可以直接在二级索引中查询到所有需要的字段、这时称为覆盖索引、无需回表、查询只需要扫描一次B+树、效率更高。
查看3道真题和解析
点赞 评论 收藏
分享
评论
9
51
分享

创作者周榜

更多
牛客网
牛客企业服务