首页 > 2021届校招提前批7月22作业帮(北京Java岗)视频一面
头像
Destiny1234
编辑于 2020-07-23 09:27
+ 关注

2021届校招提前批7月22作业帮(北京Java岗)视频一面

1  自我介绍
2  MySql的存储引擎,以及InnoDB和MyISAM的区别?
3  Mysql的索引,以及B+树与hash索引的区别,为什么不采用B树而采用B+树?
4  给出联合索引(a,b),select *from table where a>0 and b>0,是否走索引,哪个走索引,哪个不走,以及从联合索引的底层结构去解释为什么?
5  写出一个Sql语句(分组)
6  Mysq的事务,以及隔离级别有哪几种,说一下可重复读解决了什么问题?还有什么问题没解决?幻读如何解决的?说一下间隙锁如何实施的?
幻读的具体场景?
7 为什么InnoDB表必须有主键,并且推荐使用整形的自增主键?
8  写出一个单例模式,为什么要用voliate修饰? 出现synchronized为啥还需要voliate,以及synchronized能保证啥?
9  redis的数据类型?各种数据类型的应用场景?分布式锁的实现?
10 有一个100万数据,怎么快速的查找到前最大的100个数?
11 算法 单链表反转      链表中两两数据反转
12  实习经历  如何学算法的

自己稍微总结了一下
2
  • MyISAM不支持事务;InnoDB是事务类型的存储引擎。
  • MyISAM只支持表级锁;InnoDB支持行级锁和表级锁,默认为行级锁。
  • MyISAM引擎不支持外键;InnoDB支持外键。
3
二叉树
缺点: 有序的,可以退化为单链表的形式。

平衡二叉树
缺点:索引也不是只是存在内存里面存储的,还要落盘持久化,索引也存储在磁盘中,占据大小的。
数层很高,多次I/O操作,消耗性能很大。因为数据量特别大。

B树
特点:叶子节点具有相同的深度,叶子点的指针为空。
所有索引元素不重复
节点中的数据索引从左向右递增排列
B+树
特点:
非叶子节点不存储data,只存储索引,这样可以放更多的索引
data只存在叶子节点,这样到达叶子节点的路径查询长度都一样,使用b+树索引更加稳定
叶子节点用双向指针连接,提高区间访问的性能
1.范围区别:

1. hash索引因为底层是哈希表,数据存储在哈希表中顺序是没有关联的,所以他不适合范围查找,如果要范围查找就需要全表扫描,他只适合全值扫描;

简单的来说就是hash索引适合等值查找,不适合范围查找

2. B+ tree树索引,底层是多路查询平衡树,节点是天然有序的(左节点小于服节点,右节点大于父节点),所以对于范围查找的时候不需要做全表扫描;

2. 排序   hash索引无法进行排序

3. 哈希碰撞问题  如果存在重复键值对,哈希索引效率就会很低

4      字段a走索引,字段b不走索引
7  因为叶子节点是按顺序排列的,如果是非自增的话,就会插入的时候频繁的分裂页(效率降低)。
8 vaoliate保证可见性 有序性,sunchronzied保证原子性,可见性,不能禁止指令重排
10 1.根据快速排序划分的思想求解。2.(堆排序)先取出前100个数,维zhi护一个100个数的最小堆,dao遍历一遍剩余的元素,在此过程中维护堆就可以了。3.分块查找。

更多模拟面试

全部评论

(14) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐