专栏首页慕容千语的架构笔记2019BATJ面试题汇总详解:MyBatis+MySQL+Spring+Redis+多线程

2019BATJ面试题汇总详解:MyBatis+MySQL+Spring+Redis+多线程

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

Spring

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

什么是Redis?

Redis相比memcached有哪些优势?

Redis支持哪几种数据类型?

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

Redis的全称是什么?

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

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

Redis有哪些适合的场景?

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

Redis回收进程如何工作的?

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

Redis分区有什么缺点?

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

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

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

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

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

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

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

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

MyBatis

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

通常一个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

一张表,里面有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数据库服务器性能分析的方法命令有哪些?

多线程

多线程有什么用?

创建线程的方式

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

Runnable接口和Callable接口的区别

CyclicBarrier和CountDownLatch的区别

volatile关键字的作用

什么是线程安全

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

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

ConcurrentHashMap的并发度是什么

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

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

什么是Java内存模型

什么是乐观锁和悲观锁

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java学习记录——探究Spring Boot与Spring Cloud之间的关系

    SpringBoot相当于脚手架,借助他可以快速搭建房子,它本身不具备任何功能属性,只是普通房间,没有其他任何功能。

    慕容千语
  • Java开发八年来总结的知识脑图,以及我的进阶线路规划。

    学习一个新的技术时,其实不在于跟着某个教程敲出了几行、几百行代码,这样你最多只能知其然而不知其所以然,进步缓慢且深度有限,最重要的是一开始就对整个学习路线有宏观...

    慕容千语
  • 每日十题:五分钟备战金九银十,你也能轻松过关Spring

    Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。Spring 帮助开发者解决了开发中基础性的问题,使得开发人...

    慕容千语
  • 2019BATJ面试题汇总详解:MyBatis+MySQL+Spring+Redis+多线程

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

    欧阳愠斐
  • 2019BATJ面试题详解:MyBatis+MySQL+Spring+Redis+多线程

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

    美的让人心动
  • Spring Cloud 完整的微服务架构实战

    边鹏 [进阶者]
  • 想要阅读一些开源项目或框架的源代码,不知道从哪里入手?

    我的建议是从Spring的源代码入手。至少我自己也是这么做的,毕竟Spring里有大量的设计模式和OO编程的最佳实践。我之前在SAP使用SAP自己的开发语言AB...

    Jerry Wang
  • 《Spring敲门砖之基础教程第一季》 第一章(3) Spring 框架历史及新功能介绍

    回顾 上一节,我们简单介绍了Spring的各个模块,包含核心Sping容器模块、Spring的AOP模块、数据访问与集成模块、web应用模块、测...

    用户1257215
  • Spring框架的演变

    如果想要解释Spring,那么最难的部分就是对其进行分类。通常情况下,Spring被描述为构建Java应用程序的轻量级框架,但这种描述带来了两个有趣的观点。

    Jimoer
  • “过时”的SpringMVC到底在用什么?深入分析DispatchServlet源码

    本文先简述下目前SpringMVC的使用情况,然后通过Demo的简单让大家有一个初步的使用印象,然后带着印象去看其中执行的分发源码。

    Zack说码

扫码关注云+社区

领取腾讯云代金券