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.分块查找。
#面经##校招##Java#
全部评论
怎么问的全是数据库的问题啊😑
1 回复 分享
发布于 2020-07-23 09:51
面的哪个岗位 我已经内推了600+同学啦,提前批内推可以点击这个链接投递哈https://www.nowcoder.com/discuss/448459?source_id=profile_create&channel=666
1 回复 分享
发布于 2020-07-23 10:18
第四题  怎么不走索引呢    联合索引树也是排好序的   a排好序  b也是有序的  a,b应该都走索引吧
1 回复 分享
发布于 2020-07-23 13:43
你好,请问第4题b为什么不走索引?
1 回复 分享
发布于 2020-07-23 13:53
楼主什么时候投的通知的啊,我通过牛客sp投的,半个月了,简历还在筛选😅
1 回复 分享
发布于 2020-07-23 15:11
据我所知,这用Java的只有几个组好像,我们组算一个🤣
1 回复 分享
发布于 2020-07-23 16:10
我之前面试的时候也问到了单例,当时说了volatile是保证可见性,面试官说不是,当场自闭
1 回复 分享
发布于 2020-07-23 16:17
楼主二面完了吗
1 回复 分享
发布于 2020-07-23 18:37
怎么全是数据库呀😢
点赞 回复 分享
发布于 2020-07-23 10:34
楼主什么时候投的简历啊,有笔试吗
点赞 回复 分享
发布于 2020-07-23 11:43
好像同一个面试官,不知道最后问是否可以实习了吗
点赞 回复 分享
发布于 2020-07-23 19:17
羡慕,我感觉也是对数据库比较熟悉。问我其他问题一头包
点赞 回复 分享
发布于 2020-07-23 19:51
第四题是因为最左前缀原则,遇到了a>0就停止了匹配而仅仅用到了索引a
点赞 回复 分享
发布于 2020-07-24 08:27
B+树叶子结点是双向指针吗,一直以为是单向的😅
点赞 回复 分享
发布于 2020-07-24 09:02

相关推荐

我见java多妩媚:大外包
点赞 评论 收藏
分享
3 63 评论
分享
牛客网
牛客企业服务