详解Java架构进阶面试题:MyBatis+MySQL+Spring+Redis+多线程

《详解Java架构进阶面试题:MyBatis+MySQL+Spring+Redis+多线程》

这里为大家分享一些面试的一手资料,供大家迎接接下来的金三银四跳槽季

给大家推荐两篇文章,详细的面试题以及答案

史上最全的Java面试题

里面有关于Java架构师知识要点的详细讲解,有用的可以收藏

2019年开年大裁员,精选Java架构师面试题让你的梦想由自己选择

Spring

《详解Java架构进阶面试题:MyBatis+MySQL+Spring+Redis+多线程》

Spring 概述

什么是spring?

使用Spring框架的好处是什么?

Spring由哪些模块组成?

解释AOP模块

Spring配置文件

什么是Spring IOC 容器?

依赖注入

什么是Spring的依赖注入?

有哪些不同类型的IOC(依赖注入)方式?

哪种依赖注入方式你建议使用,构造器注入,还是 Setter方法注入?

Spring Beans

什么是Spring beans?一个 Spring Bean 定义 包含什么?

如何给Spring 容器提供配置元数据?

你怎样定义类的作用域?

解释Spring支持的几种bean的作用域

解释Spring框架中bean的生命周期

在 Spring中如何注入一个java集合?

什么是bean装配?什么是bean的自动装配?

解释不同方式的自动装配

Spring注解

什么是基于Java的Spring注解配置? 给一些注解的例子

什么是基于注解的容器配置?

怎样开启注解装配?

@Required 注解、@Autowired 注解、@Qualifier 注解

Spring数据访问

在Spring框架中如何更有效地使用JDBC?

JdbcTemplate

使用Spring通过什么方式访问Hibernate?

如何通过HibernateDaoSupport将Spring和Hibernate结合起来?

Spring框架的事务管理有哪些优点?

你更倾向用那种事务管理类型?

Spring面向切面编程(AOP)

解释AOP

Aspect 切面

在Spring AOP 中,关注点和横切关注的区别是什么?

什么是引入?什么是目标对象?什么是代理?

有几种不同类型的自动代理?

什么是织入。什么是织入应用的不同点?

解释基于XML Schema方式的切面实现

解释基于注解的切面实现

Spring 的MVC

什么是Spring的MVC框架?

DispatcherServlet

WebApplicationContext

什么是Spring MVC框架的控制器?

@Controller 注解、@RequestMapping 注解

Redis

《详解Java架构进阶面试题:MyBatis+MySQL+Spring+Redis+多线程》

什么是Redis?

Redis相比memcached有哪些优势?

Redis支持哪几种数据类型?

Redis主要消耗什么物理资源?

Redis的全称是什么?

Redis有哪几种数据淘汰策略?

Redis集群方案应该怎么做?都有哪些方案?

Redis有哪些适合的场景?

Redis支持的Java客户端都有哪些?官方推荐用哪个?

Redis回收进程如何工作的?

你知道有哪些Redis分区实现方案?

Redis分区有什么缺点?

Redis持久化数据和缓存怎么做扩容?

分布式Redis是前期做还是后期规模上来了再做好?为什么?

Redis与其他key-value存储有什么不同?

Redis的内存占用情况怎么样?

Redis常见性能问题和解决方案?

Redis提供了哪几种持久化方式?

如何选择合适的持久化方式?

修改配置不重启Redis会实时生效吗?

MyBatis

《详解Java架构进阶面试题:MyBatis+MySQL+Spring+Redis+多线程》

#{}和${}的区别是什么?

通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?

Mybatis是如何进行分页的?分页插件的原理是什么?

Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?

Xml映射文件中,除了常见的select|insert|update|delete标签之外,还有哪些标签?

简述Mybatis的插件运行原理,以及如何编写一个插件

一级、二级缓存

Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?

Mybatis映射文件中,如果A标签通过include引用了B标签的内容,请问,B标签能否定义在A标签的后面,还是说必须定义在A标签的前面?

简述Mybatis的Xml映射文件和Mybatis内部数据结构之间的映射关系?

MySQL

《详解Java架构进阶面试题:MyBatis+MySQL+Spring+Redis+多线程》

一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 ?

Mysql的技术特点是什么?

Heap表是什么?

Mysql服务器默认端口是什么?

如何区分FLOAT和DOUBLE?

区分CHAR_LENGTH和LENGTH?

请简洁描述Mysql中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?

在Mysql中ENUM的用法是什么?

如何定义REGEXP?

CHAR和VARCHAR的区别?

Mysql查询是否区分大小写?

Mysql中有哪些不同的表格?

什么样的对象可以使用CREATE语句创建?

什么是通用SQL函数?

MYSQL支持事务吗?

mysql里记录货币用什么字段类型好

Mysql中有哪几种锁?

MYSQL数据库服务器性能分析的方法命令有哪些?

《详解Java架构进阶面试题:MyBatis+MySQL+Spring+Redis+多线程》

多线程

多线程有什么用?

创建线程的方式

start()方法和run()方法的区别

Runnable接口和Callable接口的区别

CyclicBarrier和CountDownLatch的区别

volatile关键字的作用

什么是线程安全

Java中如何获取到线程dump文件

怎么检测一个线程是否持有对象监视器

ConcurrentHashMap的并发度是什么

Linux环境下如何查找哪个线程使用CPU最长

Java编程写一个会导致死锁的程序

什么是Java内存模型

什么是乐观锁和悲观锁

高并发、任务执行时间短的业务怎样使用线程池?并发不高、任务执行时间长的业务怎样使用线程池?并发高、业务执行时间长的业务怎样使用线程池?

没答案?怎么可能,光给面试题不给答案不是我的风格。这里面的面试题也只是凤毛麟角,还有答案的话会极大的增加文章的篇幅,减少文章的可读性。

最后

最后就是面试题及答案的获取方式,也为大家提供一个学习交流的平台:805685193(点击链接即可加入)。有免费分享的视频,还有思维导图,主要分享分布式架构、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战学习架构师视频。

    原文作者:爱编程的厨师
    原文地址: https://www.jianshu.com/p/51e54166ea67
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞