0


Day499&500.马士兵22春招面试题① -面经

马士兵22春招面试题①

1、Java面向对象有哪些特征?

  • 三大特征- 继承- 父类方法属性复用,增强代码的复用性- 多态- 必备要求:- 继承- 重写- 父类引用指向子类对象Animal animal = new Dog();- 增加代码的可移植性- 增加代码的健壮性- 灵活性- 封装- 增加了代码的可维护性- 增强代码的复用性

2、ArrayList和LinkedList的区别

  • 相同点- 都实现了List接口
  • 不同点 - 前者- 底层数组- 访问数据更方便- 后者- 底层链表- 插入/删除数据更快

3、高并发中的集合有哪些问题?

一代线程安全集合

  • 涉及集合 - Vector- Hashtable
  • 特点 - 线程安全- 直接由synchronized修饰,性能低下

二代线程非安全集合

  • 涉及集合 - ArrayList- HashMap- …
  • 特点 - 线程不安全- 性能高效
  • 如何变的线程安全 - 可使用Collections.synchronizedList(xxx);Collections.synchronizedMap(m);

三代线程安全集合

  • juc包下的 - ConcurrentHashMap- CopyOnWriteArrayList- CopyOnWriteArraySet
  • 底层通过Cas自旋锁保证原子性

容器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8AOySkEI-1641393163394)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105211638317.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JYKTbdxP-1641393163396)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105211649280.png)]


4、JDK1.8的新特性有哪些?

  • 接口的默认方法
  • Lambda表达式
  • Lambda作用域
  • 方法/构造引用
  • 函数式接口
  • 访问局部变量
  • 访问对象字段与静态变量
  • Stream流式编程
  • 多重注解

5、Java接口和抽象类的区别

  • 相同点

在这里插入图片描述

  • 不同点- 抽象类[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LoSVljVq-1641393163397)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105212132548.png)]- 接口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M95pwAO5-1641393163398)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105212150487.png)]

  • 什么时候使用抽象类/接口?- 抽象类 - 描述抽象的概念,如:植物、动物、人类…- 接口 - 描述某个特征,如:会飞、会游泳

6、ACID是如何保证的?

  • 原子性 - 由undolog日志保证,记录了需要回滚的日志信息,事务回滚时撤销已执行成功的sql
  • 一致性 - 由其他3个特性保证,保证业务上的一致性
  • 隔离性 - 由MVCC来保证,多版本并发控制
  • 持久性 - redolog日志保证

7、BeanFactory和ApplicationContext的区别

  • 相同点[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uzHCNMic-1641393163399)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105213522423.png)]
  • 不同点[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l9FtQ0Hv-1641393163400)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105213531852.png)]

8、HashMap和HashTable的区别

  • 相同点- 都是Map接口的子类
  • 不同点- 前者 - 线程不安全- 效率高- 允许KV键值为空- 数组默认大小16,扩容为2的指数倍- 继承AbstractMap类- 后者 - 线程安全- 效率低- 不允许KV键值为空- 数组默认大小11,扩容为原来的两倍+1- 继承Dictionary类

9、HashMap有哪些线程安全的方式?

  • 使用Collections.synchronizedMap(); - 使用了syn进行互斥同步- 使用代理模式new新的类
  • 使用ConcurrentHashMap - 拆分了map,减少锁的粒度,减少锁冲突

10、MVCC解决的问题是什么?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5nJJtr82-1641393163401)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105215919908.png)]


11、mybatis的优缺点

  • 优点[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gZo1g7UV-1641393163402)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105221300586.png)]
  • 缺点[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jn8gSsgP-1641393163403)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105221308351.png)]

12、mybatis和hibernate的区别

  • 相同点[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5pSPZrBJ-1641393163404)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105221901050.png)]
  • 不同点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-87e4qPNs-1641393163404)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105221951274.png)]


13、mybatis中#{}和${}的区别

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2k6YJwab-1641393163405)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105222424594.png)]


14、MySql的隔离级别有哪些?

  • 读未提交
  • 读可提交
  • 可重复读
  • 串行化

15、MySql复制原理

主机写入数据会记录到BinLog中,从机会有一个IO线程去拉取主机的Binlog日志,并写入RelayLog日志中,并由一个SQL线程进行读取写入到从机的库中

在这里插入图片描述
在这里插入图片描述

16、MySql聚簇和非聚簇索引的区别

Mysql的索引是存储在磁盘中的,

聚簇和非聚簇索引的区别主要是判断

数据和索引是否存放在一起

在这里插入图片描述


17、MySql索引结构的优劣势

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qDdseNQd-1641478830810)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106204507310.png)]


18、MySql的锁有哪些类型?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6jEHT31B-1641478830811)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106204908669.png)]


19、MySql为什么需要主从同步?

  • 读写分离
  • 主备,数据预备
  • 提高整体性能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PFdF9N5i-1641478830812)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106205540738.png)]


20、MySql执行计划怎么看?

Explain

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1FTQsvFl-1641478830812)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106205935299.png)]


21、spring、springmvc、springboot的区别是什么?

spring:底层框架

mvc:web框架

boot:整合上面的脚手架

在这里插入图片描述


22、springmvc工作流程

笔记

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dx38wfq5-1641478830815)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106212151449.png)]


23、SpringMVC九大组件是什么?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9aGRNMVm-1641478830815)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106212315175.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JmhlOxE2-1641478830816)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106212440437.png)]


24、Spring的核心是什么?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-997L60xk-1641478830817)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106212736088.png)]


25、Spring事务传播机制是什么

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1XJstoUJ-1641478830818)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106213035040.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9jNbolvn-1641478830819)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106213424546.png)]


26、Spring中单例Bean是线程安全的吗?

他是,但他又不是

线程处理本身就是读取到自身的线程内存中处理,是安全。

但如果处理的数据是有状态的,那不同线程修改的值之间的可见性不能保证,所以是不安全的。

就需要根据实际情况去进行判断和修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8KguDzl2-1641478830819)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106213617991.png)]


27、Spring中使用了哪些设计模式以及应用场景

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-whNYLkOJ-1641478830820)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106214154773.png)]


28、Spring事务的隔离级别有哪些?

数据库的隔离级别

支持一毛一样

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GtDzQxkD-1641478830822)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106214535483.png)]


29、Spring事务的实现原理是什么

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nBTyJWN2-1641478830823)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106214805983.png)]


30、Spring事务失效的情况有哪些?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ilrBpmyR-1641478830825)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106215128462.png)]


31、MyIsam和Innodb的区别

关注:

是行锁/表锁,读写性能怎么样,是否支持事务/外键,存储的所有和数据是否是一起的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q63GI4dz-1641478830827)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106220342489.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6MIIdICD-1641478830827)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106220329962.png)]


32、MySql索引的类型且对数据库的影响是什么?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pyJ0QiUE-1641478830828)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106220707875.png)]


33、Spring中Bean生命周期

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HQZup6uo-1641478830829)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106221154111.png)]

9、通过getBean()方法获取对象


34、怎么处理MySql慢查询?

  • 改写sql
  • 多命中索引
  • 开启慢日志
  • 查看执行计划
  • 拆分表
  • 拆分查询数据量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7qe3QpJi-1641478830831)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106221700536.png)]


35、


本文转载自: https://blog.csdn.net/qq_43284469/article/details/122333730
版权归原作者 阿昌喜欢吃黄桃 所有, 如有侵权,请联系我们删除。

“Day499&500.马士兵22春招面试题① -面经”的评论:

还没有评论