腾讯音乐后端二面26春招

实习项目拷问
实习期间项目挑一两个重点说一下
如何定位慢sql
这是一个什么联合索引
为什么不给中间的status的填进去?好问题
表的数据量
有没有分表,怎么分表?按月分表,那么分页查询怎么查?前端有传时间范围
单表查询时长?10ms到50ms
深分页怎么处理?
缓存优化怎么做的?
主动更新缓存失败?
主动更新的并发问题?
用的是什么消息队列?
消息丢失怎么处理?
这个系统可用性如何考虑的?定时脚本:解决入队失败,以及消费这个回调失败 ,缓存降级
缓存命中率?

基础知识
服务器如何识别http的请求头和请求体的?
cookie在http中如何传输 ?
如何实现一个线程安全的任务队列?
数据库为什么要有连接池?
刚才你说到数据库连接池为了防止链接频繁的创建销毁,那么像http服务器,rpc服务器他们的连接就是频繁创建和销毁没有连接池,那为什么数据库需要连接池呢?
答:
    因为数据库连接是昂贵、有状态、数量有限的资源,而 HTTP/RPC 是轻量、无状态、可快速销毁的,所以数据库必须用连接池来复用,HTTP 不需要。
    1. 连接成本完全不一样
HTTP 连接:只是一个 TCP 短连接,用完就断,没有状态、没有认证、没有会话上下文,创建销毁非常轻。就算用 HTTP 长连接,也是复用 TCP,不是复用业务状态。
数据库连接:是有状态的重量级连接:TCP 握手 + 用户名密码验证 + 权限检查 + 会话初始化(事务、锁、缓存区)。这个成本是 HTTP 的 几十倍上百倍。
    2. 生命周期完全不同
HTTP 请求:一次请求一次连接,用完即丢,非常短暂。
数据库连接:一旦建立,可以持续复用很久,完全没必要每次执行 SQL 都重新建连接。
    3. 数据库对连接数量极其敏感
数据库有严格连接上限(MySQL 默认 151)。
连接多了,数据库会:
内存暴涨、线程爆炸、锁冲突、直接夯死。
而 HTTP 服务器扛几万连接都没事,因为它是非阻塞、IO 多路复用,不占很重的资源。

算法题:
数组平方后的不同数
全部评论
项目中涉及到这些问题,还是随机问的
点赞 回复 分享
发布于 04-21 19:12 吉林
tme啥时候开的春招啊😲
点赞 回复 分享
发布于 03-30 23:11 北京

相关推荐

面试时间:4.24下午6点55 时长23min今天中午接到的面试短信,说实话我根本没想过能够过tme的二面,因为我二面面的太烂了,可能是运气好吧,也可能是tme在养鱼排序吧,不管了,希望能过吧,感觉tme很喜欢问性能指标之类或者比较偏的知识点,我对这方面本身就不怎么熟,挂了也能接受吧1. 介绍一下项目里你觉得最有难度的点是什么(依旧虚拟列表)2. 你平常学习前端开发主要是自学,还是参加培训3. 你有做过自己的开源项目或者参与过开源项目研发吗4. 讲一下你后台管理系统里大文件分片上传的完整流程5. 计算文件 hash 本身是强 IO 操作,可能会导致卡顿,你会怎么优化6. 如果想在 Web 里嵌入 C++ 的逻辑,一般会用什么方式7. 你了解 WebAssembly 吗8. 你接触过 C++ 或端侧 App 开发吗9. 如果让你实现一个快速排序,你会怎么做10. Web 端常见的持久化机制有哪些11. TCP 和 UDP 有什么区别12. HTTP/1.1 和 HTTP/2 的区别是什么13. HTTP/2 和 HTTP/3 的区别是什么14. Web 上实现动画一般有哪几种方式15. 你了解 Canvas 吗16. 你对 Web 性能指标了解多少17. 如果要评价一个页面快不快、用户体验好不好,你会看哪些指标18. 如果发现页面性能有问题,你一般会从哪些方向分析19. 你实际项目里有遇到过性能问题吗,怎么解决的20. 反问
查看19道真题和解析
点赞 评论 收藏
分享
评论
点赞
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务