谈谈什么是MySql的索引,大专生面试阿里P7居然过了

本文介绍了二叉树、平衡二叉树(如AVL树)的概念,B+树的数据结构和其在存储优化中的作用,以及Java开发中基础的重要性。同时提到了蚂蚁金服等公司的面试问题和学习资源,对Java工程师的成长路径给出了建议。
摘要由CSDN通过智能技术生成

• 步骤七 : mid=7 对应的数据值是48,48 == 48(我们要找的数字),查找结束;

通过3次 二分查找 就找到了我们所要的数字,而顺序查找需8

二叉树(Binary Tree)

每个节点至多只有二棵子树;

• 二叉树的子树有左右之分,次序不能颠倒;
2x -1
• 一棵深度为k,且有 个节点,称为满二叉树(Full Tree);

• 一棵深度为k,且root到k-1层的节点树都达到最大,第k层的所有节点都 连续集中 在最左边,此时为完全二叉树(Complete Tree)


平衡二叉树(AVL-树)

l 左子树和右子树都是平衡二叉树;

l 左子树和右子树的高度差绝对值不超过1;

◦ 平衡二叉树

◦ 非平衡二叉树

平衡二叉树的遍历

l 前序 :6 ,3, 2, 5,7, 8(ROOT节点在开头, 中 -左-右 顺序)

l 中序 :2, 3, 5, 6,7, 8(中序遍历即为升序,左- 中 -右 顺序)

l 后序 :2, 5, 3, 8,7, 6 (ROOT节点在结尾,左-右- 中 顺序)

平衡二叉树的旋转

需要通过旋转(左旋,右旋)来维护平衡二叉树的平衡,在添加和删除的时候需要有额外的开销。

B+树

B+树的定义

l 数据只存储在叶子节点上,非叶子节点只保存索引信息;

◦ 非叶子节点(索引节点)存储的只是一个Flag,不保存实际数据记录;

◦ 索引节点指示该节点的左子树比这个Flag小,而右子树大于等于这个Flag

l 叶子节点本身按照数据的升序排序进行链接(串联起来);

◦ 叶子节点中的数据在 物理存储上是无序 的,仅仅是在 逻辑上有序 (通过指针串在一起);

B+树的作用

l 在块设备上,通过B+树可以有效的存储数据;

l 所有记录都存储在叶子节点上,非叶子(non-leaf)存储索引(keys)信息;

l B+树含有非常高的扇出(fanout),通常超过100,在查找一个记录时,可以有效的减少IO操作;

B+树的扇出(fan out)


n 该 B+ 树高度为 2

n 每叶子页(LeafPage)4条记录

n 扇出数为5

n 叶子节点(LeafPage)由小到大(有序)串联在一起

扇出 是每个索引节点(Non-LeafPage)指向每个叶子节点(LeafPage)的指针

扇出数 = 索引节点(Non-LeafPage)可存储的最大关键字个数 + 1

图例中的索引节点(Non-LeafPage)最大可以存放4个关键字,但实际使用了3个;

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

总结

蚂蚁面试比较重视基础,所以Java那些基本功一定要扎实。蚂蚁的工作环境还是挺赞的,因为我面的是稳定性保障部门,还有许多单独的小组,什么三年1班,很有青春的感觉。面试官基本水平都比较高,基本都P7以上,除了基础还问了不少架构设计方面的问题,收获还是挺大的。


经历这次面试我还通过一些渠道发现了需要大厂真实面试主要有:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。

蚂蚁金服5面,总结了49个面试题,遇到的面试官都是P7级别以上

、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。

[外链图片转存中…(img-lhNYgDY2-1710433762938)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值