马士兵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)]](https://img-blog.csdnimg.cn/06707f4d39f04fcbb025bf75dd6395c3.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JYKTbdxP-1641393163396)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105211649280.png)]](https://img-blog.csdnimg.cn/d3eb3fb01f134ec681508d450fa3ddd2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_14,color_FFFFFF,t_70,g_se,x_16)
4、JDK1.8的新特性有哪些?
- 接口的默认方法
- Lambda表达式
- Lambda作用域
- 方法/构造引用
- 函数式接口
- 访问局部变量
- 访问对象字段与静态变量
- Stream流式编程
- 多重注解
5、Java接口和抽象类的区别
- 相同点

- 不同点- 抽象类
- 接口
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M95pwAO5-1641393163398)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105212150487.png)]](https://img-blog.csdnimg.cn/54b62ce2a58240b68f19a2320e182c2a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_17,color_FFFFFF,t_70,g_se,x_16)
- 什么时候使用抽象类/接口?- 抽象类 - 描述抽象的概念,如:植物、动物、人类…- 接口 - 描述某个特征,如:会飞、会游泳
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)]](https://img-blog.csdnimg.cn/0ca3f472f8184faa98e495ec19fe344d.png)
- 不同点
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l9FtQ0Hv-1641393163400)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105213531852.png)]](https://img-blog.csdnimg.cn/d8072624901d471db7fc22cfe7f5793a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
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)]](https://img-blog.csdnimg.cn/ba614fc218b846d88feec2403c021313.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
11、mybatis的优缺点
- 优点
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gZo1g7UV-1641393163402)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105221300586.png)]](https://img-blog.csdnimg.cn/21ad4c464b50487188643f2362804939.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
- 缺点
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jn8gSsgP-1641393163403)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105221308351.png)]](https://img-blog.csdnimg.cn/9a723408ae6c4d1a8c289b4ef67391a8.png)
12、mybatis和hibernate的区别
- 相同点
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5pSPZrBJ-1641393163404)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105221901050.png)]](https://img-blog.csdnimg.cn/d929f3278dc6481cb1c974f03034a430.png)
- 不同点
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-87e4qPNs-1641393163404)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105221951274.png)]](https://img-blog.csdnimg.cn/e851e06c2cde4ff08ec1070f8b89e083.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
13、mybatis中#{}和${}的区别
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2k6YJwab-1641393163405)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220105222424594.png)]](https://img-blog.csdnimg.cn/ab2b90cf3f934015b1bf18737230020a.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)]](https://img-blog.csdnimg.cn/8023459e4917413891e050a5d7e530db.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
18、MySql的锁有哪些类型?
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6jEHT31B-1641478830811)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106204908669.png)]](https://img-blog.csdnimg.cn/d031f05f16374889a2b5781de262919c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
19、MySql为什么需要主从同步?
- 读写分离
- 主备,数据预备
- 提高整体性能
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PFdF9N5i-1641478830812)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106205540738.png)]](https://img-blog.csdnimg.cn/b46c6975701b489b8c6e954bcc91b61b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
20、MySql执行计划怎么看?
Explain
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1FTQsvFl-1641478830812)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106205935299.png)]](https://img-blog.csdnimg.cn/0057abb5a40e47c88e4a16b3eaf08e7d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
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)]](https://img-blog.csdnimg.cn/3d8e766b2620464f82b9dcc1f0b98d9c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
23、SpringMVC九大组件是什么?
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9aGRNMVm-1641478830815)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106212315175.png)]](https://img-blog.csdnimg.cn/f863e3dfc7f54d6098df505c805d9f55.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JmhlOxE2-1641478830816)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106212440437.png)]](https://img-blog.csdnimg.cn/7d24c1336f0a48febe4b5a349229fec5.png)
24、Spring的核心是什么?
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-997L60xk-1641478830817)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106212736088.png)]](https://img-blog.csdnimg.cn/fdaaad6785db4e74a4fbb3401566975f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
25、Spring事务传播机制是什么
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1XJstoUJ-1641478830818)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106213035040.png)]](https://img-blog.csdnimg.cn/3f3f99f28638486292add2e9392275d4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9jNbolvn-1641478830819)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106213424546.png)]](https://img-blog.csdnimg.cn/43b8481acaca4ae395cbe43307101ece.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
26、Spring中单例Bean是线程安全的吗?
他是,但他又不是
线程处理本身就是读取到自身的线程内存中处理,是安全。
但如果处理的数据是有状态的,那不同线程修改的值之间的可见性不能保证,所以是不安全的。
就需要根据实际情况去进行判断和修改
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8KguDzl2-1641478830819)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106213617991.png)]](https://img-blog.csdnimg.cn/364cf82c127f45d2a15d5890d7191299.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
27、Spring中使用了哪些设计模式以及应用场景
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-whNYLkOJ-1641478830820)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106214154773.png)]](https://img-blog.csdnimg.cn/defdb4c0122743a4b42c55d0f26791d8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
28、Spring事务的隔离级别有哪些?
跟
数据库的隔离级别
支持一毛一样
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GtDzQxkD-1641478830822)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106214535483.png)]](https://img-blog.csdnimg.cn/27b563ead66845c9a727ecf6eae69466.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
29、Spring事务的实现原理是什么
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nBTyJWN2-1641478830823)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106214805983.png)]](https://img-blog.csdnimg.cn/c36ceadd82054c4c9f00f08e442cd186.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
30、Spring事务失效的情况有哪些?
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ilrBpmyR-1641478830825)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106215128462.png)]](https://img-blog.csdnimg.cn/dca1e37bd0c0431db87d96c58cc8fa63.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_10,color_FFFFFF,t_70,g_se,x_16)
31、MyIsam和Innodb的区别
关注:
是行锁/表锁,读写性能怎么样,是否支持事务/外键,存储的所有和数据是否是一起的
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q63GI4dz-1641478830827)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106220342489.png)]](https://img-blog.csdnimg.cn/5bad0e462a4e4e26a2abaa848a850586.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6MIIdICD-1641478830827)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106220329962.png)]](https://img-blog.csdnimg.cn/f13489f29b014216a81c82a71665103a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
32、MySql索引的类型且对数据库的影响是什么?
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pyJ0QiUE-1641478830828)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106220707875.png)]](https://img-blog.csdnimg.cn/72e35f824eba4872a423a539bfb00548.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
33、Spring中Bean生命周期
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HQZup6uo-1641478830829)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106221154111.png)]](https://img-blog.csdnimg.cn/a0a79a86eab6457b9c1c0531d27e3ac4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
9、通过getBean()方法获取对象
34、怎么处理MySql慢查询?
- 改写sql
- 多命中索引
- 开启慢日志
- 查看执行计划
- 拆分表
- 拆分查询数据量
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7qe3QpJi-1641478830831)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20220106221700536.png)]](https://img-blog.csdnimg.cn/582f0f09a7684655b2d65b272d1fd158.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5piM5Zac5qyi5ZCD6buE5qGD,size_20,color_FFFFFF,t_70,g_se,x_16)
35、
版权归原作者 阿昌喜欢吃黄桃 所有, 如有侵权,请联系我们删除。