前言
众所周知,简历上"了解=听过名字;熟悉=知道是啥;熟练=用过;精通=做错东西”。
(文末有跳槽涨薪福利)
相信大家对于MySQL的索弓|都不陌生,引(ndex)是帮助MySQL高效获取数据的数据结构。引作为MySQL中比较重点的知识,在面试中出现的频率特别高。
本人自认为对MySQL的索弓|知识相当了解,同事们工作中也都热情的称呼我为大佬。为了进阿里,我特地花了1个月左右时间复习相关知识,自信满满的在简历上写了“精通MySQL" 想不到被阿里面试官狠狠虐了-把... (关于这次面试题目和整理的答案,有需要的同学可在问末自行领取哈)
前半段和面试官相谈甚欢,聊着聊着我提到我们业务紕较大,天大概有几百万的新数据生成,面试官来了兴趣......
面试官:你们每天这么大的数据量,都是保存在关系型数据库中吗?
我:是的,我们线上使用的是MySQL数据库。
面试官:那你们有没有对查询做一些优化呢?
我:我们用了索引。.
阿里面试题
(由于篇幅问题,接下来的内容我只出了阿里面试官的问题,自己能答上来的大概只有一半)
●你能说说为什么B+树相对于B树在查询上会更加优胜吗?
●除了上面这个范围查询的,你还能说出其他的一些区别吗?
●刚刚我们聊到B+ Tree, 那你知道B+ Tree的叶子节点都可以存哪些东西吗?
●聚簇索引和非聚簇索引,在查询数据的时候有区别吗?
●刚刚你提到主键索弓|查询只会查- -次, 而腓主键索弓|需要回表查询多次。是所有情况都是
这样的吗?非主键索引-你会查询多次吗?
联合索引、最左前缀匹配
●你们在创建索引的时候都会考虑哪些因素呢?你们有用过联合索弓吗?
●那你们在创建联合索的时候,需要做联合索引多个字段之间顺序你们是如何选择的呢?
矧下推、查询优化
●你知道在MySQL 5.6中,对索引|做了哪些优化吗?
●你们创建的那么多索引,到底有没有生效,或者说你们的SQL语句有没有使用索弓|查询你
们有统计过吗?
●那排查的时候,有什么手段可以知道有没有走索引查询呢?
●那什么情况下会发生明明创建了索引,但是执行的时候并没有通过索弓|呢?
●哦,索引有关的知识我们暂时就问这么多吧。你们线上数据的事务隔离级别是什么呀?
对于程序员来说,去任何-家公司面试,数据库是避不开的。开发人员对MySQl掌握的越
深入,你能做的事情就越多
MySQL查询过程
完成业务功能,要懂基本的Sq|语句。
做性能优化,要懂索引,懂引擎。
做分库分表,要懂主从,懂读写分离。
做安全,要懂权限,懂备份,懂日志。
做云数据库,要懂源码,懂瓶颈。
阿里(蚂蚁金服、菜鸟)面试真题PDF
一转发+评论, 关注我,私信我后扫描小编的二维码即可免费获取(承诺: 100%免费)
蚂蚁金服,Java高级
1. mysq|数据库中,什么情况下设置了索弓|但无法使用?
2. mysql优化会不会, mycat 分库,垂直分库,水平分库?
3. mysql的存储引擎了解过没有?
菜鸟网络,Java中级(消息队列、Springcloud、jvm、spring、数据结构、数据库、线程池)
●百度面试篇
●腾讯面试篇
●东面试篇
●头条面试篇
●美团面试篇
●阿里蚂蚁金服面试篇
●阿里菜鸟网络面试篇
●互联网公司高频面试必备综合篇
●并发编程面试题汇总
●JVM面试题汇总
●Netty常被问到的那些面试题汇总
●Tomcat面试题整理汇总
●Mysq|面试题汇总
●Spring源码深度 解析
●Mybatis常见面试题汇总
●Nginx那些面试题汇总
●Zookeeper面试题汇总
●RabbitMQ常见面试题汇总
●Kafka面试题汇总
●Redis常见面试题汇总
●Dubbo面试题
●SpringBoot, SpringCloud面试汇总
●集合框架面试题
●设计模式面试题
●数据库面试题
●面试必备之乐观锁与悲观锁
●多家互联网公司常见面试题库
●Java高频核心面试题库
Java必备宝典
多多支持,即可免费获取资料——转发+评论,关注我后扫描小编的二维码即可免费获取(承诺:100%免费)