小米暑期java实习面经
小米一面
自我介绍
为什么要用注册中心?注册的原理?TTL机制?如何保证一致性
Nacos注册中心注册失败了怎么处理
Spring的IOC、AOP
SpringBoot优点
索引的分类?底层结构
牛客手撕: 二分查找,有重复数字就显示第一个
隔一天 小米二面
自我介绍
项目中视频转码如果失败怎么办?
SpringBoot的自动装配具体怎么实现,说下源码?
现在SpringBoot项目没有Web.xml,具体靠什么实现的?
Springboot为什么可以不使用web.xml?
以前的Servlet在 web.xml 中配置 servlet 和 filter,servlet和过滤器拦截器的执行顺序?
HashMap的源码详细说下,问的非常详细
Synchronized和Lock的区别?
Synchronized锁优化方案
为什么要用CAS
线程池的参数和流程
垃圾回收算法
Mysql的数据库引擎
MyISAM的使用场景,为什么查询比InnoDB快?Mysql的聚集索引和非聚集索引?底层结构
为什么InnoDB要回表查询,那为什么不像MyISAM一样使用非聚簇索引直接就能把数据查出来?
Innodb把表中所有数据都存放在主索引的叶子节点里,在往表里插入数据时,可能会导致主索引结构发生变化(分裂或合并的操作),也就导致了数据地址的变化,所以为什么要再回表一次确保拿到正确的数据。而myisam的做法使得B+树结构发生变化时,还需要同步更新其他的索引。
InnoDB二级索引存储主键值而不是存储行指针的优点与缺点
优点
减少了出现行移动或者数据页分裂时二级索引的维护工作(当数据需要更新的时候,二级索引不需要修改,只需要修改聚簇索引,一个表只能有一个聚簇索引,其他的都是二级索引,这样只需要修改聚簇索引就可以了,不需要重新构建二级索引)
缺点:
二级索引体积可能会变大,因为二级索引中存储了主键的信息。二级索引的访问需要两次索引查找。第一次通过查找 二级索引 找二级索引中叶子节点存储的 主键的值;第二次通过这个主键的值去 聚簇索引 中查找对应的行
写SQL:查询订单金额<2000的客户姓名
牛客手撕:
二叉树的前序遍历,自己写主函数输入输出
其实还面了好多公司,都忘了做记录。其他都拒了,准备去小米
😂😂😂😂😂😂😂
#实习##面经##小米##Java工程师#
自我介绍
为什么要用注册中心?注册的原理?TTL机制?如何保证一致性
Nacos注册中心注册失败了怎么处理
Spring的IOC、AOP
SpringBoot优点
索引的分类?底层结构
牛客手撕: 二分查找,有重复数字就显示第一个
隔一天 小米二面
自我介绍
项目中视频转码如果失败怎么办?
SpringBoot的自动装配具体怎么实现,说下源码?
现在SpringBoot项目没有Web.xml,具体靠什么实现的?
Springboot为什么可以不使用web.xml?
以前的Servlet在 web.xml 中配置 servlet 和 filter,servlet和过滤器拦截器的执行顺序?
HashMap的源码详细说下,问的非常详细
Synchronized和Lock的区别?
Synchronized锁优化方案
为什么要用CAS
线程池的参数和流程
垃圾回收算法
Mysql的数据库引擎
MyISAM的使用场景,为什么查询比InnoDB快?Mysql的聚集索引和非聚集索引?底层结构
为什么InnoDB要回表查询,那为什么不像MyISAM一样使用非聚簇索引直接就能把数据查出来?
Innodb把表中所有数据都存放在主索引的叶子节点里,在往表里插入数据时,可能会导致主索引结构发生变化(分裂或合并的操作),也就导致了数据地址的变化,所以为什么要再回表一次确保拿到正确的数据。而myisam的做法使得B+树结构发生变化时,还需要同步更新其他的索引。
InnoDB二级索引存储主键值而不是存储行指针的优点与缺点
优点
减少了出现行移动或者数据页分裂时二级索引的维护工作(当数据需要更新的时候,二级索引不需要修改,只需要修改聚簇索引,一个表只能有一个聚簇索引,其他的都是二级索引,这样只需要修改聚簇索引就可以了,不需要重新构建二级索引)
缺点:
二级索引体积可能会变大,因为二级索引中存储了主键的信息。二级索引的访问需要两次索引查找。第一次通过查找 二级索引 找二级索引中叶子节点存储的 主键的值;第二次通过这个主键的值去 聚簇索引 中查找对应的行
写SQL:查询订单金额<2000的客户姓名
牛客手撕:
二叉树的前序遍历,自己写主函数输入输出
😂😂😂😂😂😂😂
#实习##面经##小米##Java工程师#