每天一套面试题Day14-京东高频(3)

链接题目来自牛客

我的每日一套面试题专栏,每天更新一起打卡

15.如何评估 / 判断索引是否生效?常见索引失效场景有哪些?

评估索引是否生效需“三看”:看执行计划是否命中索引(EXPLAIN)、看扫描行数是否骤降(rows)、看查询耗时是否锐减(性能监控);

失效:

  • 索引列用函数/参与计算
  • 最左前缀原则
  • LIKE以通配符 % 开头
  • 使用 OR 连接条件,如果 OR 连接的条件中有一个列没有索引,那么整个查询可能无法使用索引。
  • 使用 NOT IN, <>, != 操作符 这些否定操作符通常难以利用索引,因为它们代表的是一个非常大的范围,数据库倾向于全表扫描。

16.SQL 调优常见方法有哪些?

一个复杂的sql拆成多个 覆盖索引

我的博客监控发现慢SQL,然后通过EXPLAIN分析执行计划,接着从索引和SQL语句本身这两个成本最低的方面入手进行优化。如果这些手段都达到了瓶颈,最后才会考虑读写分离、分库分表等架构层面的方案。

17.如何监控并优化慢 SQL?

监控日志,expain 优化:创建索引

开启SQL慢查询日志 分析查询计划 优化索引 调整查询结构:首选:把 SELECT * 改成明确的列。检查:WHERE 子句中的字段是否被函数包裹,导致索引失效。尝试:用 JOIN 改写复杂的子查询。考虑:将过于复杂的查询拆分成多个简单查询。

18,redo log / undo log / binlog 各自作用?

redo,恢复事务 undo log记录的是相反的命令。在事务执行失败的时候,可以进行回滚。 binlog 二进制,用于恢复

我的博客

  1. Redo Log(重做日志)崩溃恢复(Crash Recovery),提高写入性能
  2. Undo Log(回滚日志)事务回滚,实现 MVCC(多版本并发控制)
  3. Binlog(二进制日志)主从复制(Replication),数据恢复

19.MySQL 中的 MVCC 是什么?Read View 在 MVCC 中如何工作?如果没有 MVCC 会怎样?

我的博客

MVCC 是 InnoDB 实现高并发的核心技术,它通过维护数据的多个版本来让读写操作不再相互等待。 Read View 是 MVCC 的“裁判”,它定义了一套清晰的规则,来决定在某个特定时刻,一个事务能看到哪些数据版本。 没有 MVCC,读写冲突加剧、性能骤降、死锁频发。

20.事务隔离级别有哪些?

我的博客 读未提交,读已提交,可重复读,串行化

#面试真题#
每日一套面试真题 文章被收录于专栏

记录刷过的面试真题

全部评论

相关推荐

点赞 评论 收藏
分享
时间&nbsp;11.14&nbsp;&nbsp;&nbsp;15:40岗位ai工程研发工程师base长沙约的15点45,我提前5分进的,就开始面了,首先介绍面试流程1.&nbsp;&nbsp;自我介绍(1分钟)2.&nbsp;实习经历的个数已经实习时长3.&nbsp;是否使用ai写demo(回答参加了七牛云的ai比赛,然后就是问做了什么)4.&nbsp;使用了那些ai工具以及经常使用哪个5.&nbsp;平常如何使用ai分析需求6.&nbsp;hashmap&nbsp;1.7与1.8的区别&nbsp;(这里慌了,忘了怎么回答就乱扯了,后面在面试官引导下回答出来了)7.&nbsp;hashmap的链表插入,已经解决什么问题8.&nbsp;arraylist与linkedlist的区别以及应用场景9.&nbsp;synchronize与reentranlock的区别10&nbsp;线程池的参数以及执行流程11&nbsp;&nbsp;submit与execute的区别12&nbsp;&nbsp;接口与抽象类的区别13&nbsp;&nbsp;接口继承相关问题14&nbsp;spring&nbsp;aop的理解与应用场景15&nbsp;spring&nbsp;&nbsp;bean的生命周期16&nbsp;aop对象什么时候获取的17&nbsp;autowire与resource的区别,以及更推荐那个,为什么18&nbsp;mysql事物隔离级别以及分别解决了什么问题19&nbsp;如何查看执行计划以及重点需要看哪几列(最重要的type没打出来)20&nbsp;&nbsp;索引失效场景&nbsp;&nbsp;(使用in会吗)21&nbsp;介绍一下策略模式以及在项目中如何使用的(面试官看项目里有才问的)22&nbsp;myisam与innodb的区别23&nbsp;&nbsp;如何防止sql注入(一开始不记得mybaits如何保证的了,面试官说重新回答,然后就想起来了)24&nbsp;&nbsp;redis如何实现分布锁以及会出现什么问题25&nbsp;如果一个业务时间长,缓存短怎么办(面试官让我后面看看redisson的实现原理,其实就是用个看门狗就行)26&nbsp;如何保证缓存与数据库数据一致27&nbsp;缓存删除失败怎么办(面完感觉就是面试官在引导我说用锁实现一致)28&nbsp;反问面试官环境比较嘈杂,看样子在工位上,体验一般,时间25分钟左右
数字马力求职进展汇总
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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