项目部考核
一、填空题(每空 1 分,共 40 分)
1、Java 数据类型中的整型有(按数值范围从小到大): byte 、 short 、 int 、 long 。
2、Java 中浮点型的默认类型和默认值分别是: double 、 0.0 。
3、Java 集合中存放单值的最大父接口是 Collection ,存放一对值的最大父接口是 Map 。
4、Java 中字符输出流的父类是 Writer 。
5、MySQL 数据库中字符序指的是 同一字符集之间的比较规则
。
6、MySQL 中索引是基于 字段 。
7、MySQL 事务的本质是 一系列(insert、delete、update 语句)的语句 。
8、MySQL 中的存储引擎就是 指表的类型以及表在计算机上的存储方式 。
9、Cookie 是由 服务器 生成,保存在 客户端 的一种信息载体。
10、Session 是由 服务器 生成,是 Web 开发中的一种会话状态跟踪 技术 。
11、HTML 中的超链接标签的 href 属性表示 指定链接目标的 URL 。
12、CSS 的 float(浮动),会使元素 向左或向右 移动,其周围的元素也会重新排列。
13、npm 是 Node 中的包管理工具 。
14、Ajax 是一种 局部网页刷新技术 。
15、MyBatis 中$与#的区别是 #为占位符,$为字符串拼接符 。
16、Mybatis 中的动态 SQL 主要用于解决 查询条件不确定 的情况,常用的动态 SQL 标签有 <if> 、<where> 、
<choose/> 、 <foreach>
。
17、MyBatis 的查询缓存机制,根据 缓存区的作用域(生命周期)可划分为两种:一级查询缓存与二级查询缓存。
18、ORM 是 对象关系映射 。
19、SpringMVC 中最核心的是 中央调度器(中央控制器)DispatcherServlet 。
20、@RequestBody 注解的作用 常⽤在获得 requestbody 体中的 json 字符串转成实体类 。
21、Spring 框架 Bean 的装配方式有 基于 XML 装配、基于注解装配、自动装配 。
22、MyBatisPlus 内置的功能有 代码生成器、逻辑删除、自动填充、条件构造器、CRUD 接口 。
姓名:
成
绩
第1页,共4页项目部考核
二、简答题(每题 3 分,共 20 题,共 3×20=60 分)
1、Java 中类变量和实例变量有何区别?
2、Java 中的 HashSet、TreeSet 集合有何区别?
3、MySQL 中的自然连接有何特点?
连接两张表,当两张表中没有相同字段列时,则两张表
连接为所有字段的一张表;
当两张表中有相同字段列时,相当于在连接条件中使用
等于(
=)运算符比较被连接列的列值,保留其值相同记录,
同时删除连接表中重复列。
4、MySQL 中事务隔离级别从低到高分别是?
read uncommitted(读未提交)
read committed(读已提交)
repeatable read(可重复读)
serializable(串行化)
5、请简述 Servlet 的生命周期?
(
1)当请求发送到 Web 容器(tomcat 服务器)后,Web 容器会解析请求 URL,并
从中分离出 Servlet 对应的 URL。
(
2)根据分离出的 URL,通过 web.xml 中配置的 URL 与 Servlet 的映射关系,
找到要执行的 Servlet,即找到用于处理该请求的 Servlet 类。
(
3)若该 Servlet 不存在,则调用该 Servlet 的无参构造器、init()方法,创
建该 Servlet 对象。然后执行 service()方法。
(
4)若该 Servlet 对象已经被创建,则直接调用 service()方法。
(
5)当 Web 容器被关闭,或该应用被关闭,则调用执行 destroy()方法,销毁
Servlet 实例。
6、请求转发和重定向有何区别?
(
1)请求转发
请求转发是指,资源 1 在服务器内部,直接跳转到的资源 2,所以请求转
发也称为服务器内跳转。整个过程浏览器只发出一次请求,服务器只发出一次
响应。所以,无论是资源 1 还是资源 2,整个过程中,只存在一次请求,即用户
所提交的请求。所以,无论是资源 1 还是资源 2,它们均可从这个请求中获取到
用户提交请求时所携带的相关数据。
(
2)重定向
重定向是指,资源 1 需要访问资源 2,但并未在服务器内直接访问,而是
由服务器自动向浏览器发送一个响应,浏览器再自动提交一个新的请求,这个
请求就是对资源 2 的请求。对于资源 2 的访问,是先跳出了服务器,跳转到了
客户端浏览器,再跳回到了服务器。所以重定向又称为服务器外跳转。
整个过程中,浏览器共提交了两次请求,服务器共发送了两次响应。只
不过,第一次响应与第二次请求,对于用户来说是透明的,是感知不到的。用
户认为,自己只提交了一次请求,且只收到了一次响应。
这样的话,就出现了一个问题:资源 2 中是无法获取到用户提交请求中的
数据的。它只能获取到第二次请求中所携带的数据。
7、在网页中,JavaScript 语言的用途有哪些?
1)
为网页添加各种各样的的动态功能(轮播图、倒计时、鼠标跟随效果、多
级菜单联动效果等等)
2)
可以随心所欲的控制网页内容和样式。
3)
检测访客的浏览器信息。
4)
存储和取回位于访问者计算机中的信息。
5)
实现数据的前端验证,例如:手机号、邮箱的合法性,密码规则的判断等
等。
8、Vue 的常用指令哪些?(至少 4 个)
v-if、v-bind、v-model、v-show、v-for
第2页,共4页项目部考核
9、请简介 MyBatis 框架?
MyBatis 是一个实现了 ORM(对象关系映射)思想的半自
动 Java 持久层框架,它内部封装了 JDBC,使开发者只需要关
注 SQL 语句本身。
提供了动态 SQL 标签,使得 SQL 书写灵活多变,可适用于
查询条件不明确的复杂的查询。
内置缓存机制,可提升查询效率。
10、
MyBatis 中当实体类属性名和表字段名不一样 ,
怎么办?
方式 1:在 SQL 语句中对查询字段重命名
方式 2:通过 resultMap 对结果集进行映射。
11、SpringMVC 框架常用注解有哪些?(至少 6 个)
@Controlle、@RestControlle、@RequestMapping、
@PostMapping、@PathVariable、@RequestParam、
@ResponseBody、@RequestBody
12、简介 SpringMVC 框架,并于 Servlet 对比?
SpringMVC 是⼀种基于 Spring 实现了 Web MVC 设计模式的请求驱动
类型的轻量级 Web 框架,使⽤了 MVC 的架构模式思想,将 Web 层进⾏指责
解耦,并管理应⽤所需的⽣命周期,为简化⽇常开发,提供了很⼤便利。
SpringMVC 最核心的是中央控制器(总开关),DispatcherServlet,
其底层是的 Servlet 的封装,是代替 Servlet 的优秀框架。提供常用注解,
对于接收参数和响应变得简单。
13、简介 Spring 框架的 Ioc?
控制反转(
IOC),是一个概念,是一种思想。指将传统上由程序代码直
接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转
就是对对象控制权的转移,从程序代码本身反转到了外部容器。 Ioc 当前比较
流行的实现方式有两种:依赖注入和依赖查找。依赖注入方式应用更为广泛。
14、简介 Spring 框架中的 AOP?
AOP(
Aspect Orient Programming),面向切面编程,是面向对象编程 OOP
的一种补充。面向对象编程是从静态角度考虑程序的结构,而面向切面编程是
从动态角度考虑程序运行过程。
AOP 底层,就是采用动态代理模式实现的。采用了两种代理:JDK 的动
态代理,与 CGLIB 的动态代理。
面向切面编程,就是将交叉业务逻辑封装成切面,利用 AOP 容器的功能
将切面织入到主业务逻辑中。所谓交叉业务逻辑是指,通用的、与主业务逻辑
无关的代码,如安全检查、事务、日志等。
若不使用 AOP,则会出现代码纠缠,即交叉业务逻辑与主业务逻辑混合
在一起。这样,会使主业务逻辑变的混杂不清。
15、AOP 术语解释:切面、连接点、切入点?
切面
切面泛指交叉业务逻辑。上例中的事务处理、日志处理就可以理解为切面。
常用的切面有通知与顾问。实际就是对主业务逻辑的一种增强。
连接点
连接点指可以被切面织入的方法。通常业务接口中的方法均为连接点。
切入点
切入点指切面具体织入的方法。
16、Spring 框架中的通知和顾问有何区别?
通知是切面的一种实现,可以完成简单织入功能(织入功能就是在这里完
成的)。通知定义了增强代码切入到目标代码的时间点,是目标方法执行之前
执行,还是之后执行等。通知类型不同,切入时间不同。切入点定义切入的位
置,通知定义切入的时间。常用通知有:前置通知、后置通知、环绕通知、异
常处理通知。
通知(
Advice)是 Spring 提供的一种切面(
Aspect)。但其功能过于简单:
只能将切面织入到目标类的所有目标方法中,无法完成将切面织入到指定目标
方法中。
顾问(
Advisor)是 Spring 提供的另一种切面。其可以完成更为复杂的切
面织入功能。
顾问可以指定具体的切入点。顾问将通知进行了包装,会根据不同的通知
类型,在不同的时间点,将切面织入到不同的切入点。
第3页,共4页项目部考核
17、谈谈你 SpringBoot 框架的理解?
Spring Boot 是一个基于 Spring 框架的快速开发脚手架,它简化了 Spring 应用的初始化和搭建过程,提供了众多便利的功能和特性,比如自动配置、
嵌入式 Tomcat 等,让开发人员可以更加专注于业务逻辑的实现。 Spring Boot 还提供了强大的插件体系和广泛的集成,可以轻松地与其他技术栈集成,
比如 JPA、MyBatis、Redis 等,同时也支持对微服务的开发和管理。SpringBoot 框架的优点:快速开发、微服务的支持、易于部署和管理、多数据源支
持、安全性等等。
18、SpringBoot 项目中控制层接收参数有哪些方式,请简单描述?(至少 3 种)
方式 1:请求路径中带参数值,通过@PathVariable 注解
方式 2:获取请求参数的值(用于接收分散的多个参数),通过@RequestParam 注解
方式 3:通过注解@Value 注入 application.properties 或 application.yml 配置的属性的值
方式 4:通过@RequestBody 注解,接收前段的 JSON 对象,可直接转换为 Java 对象
19、SpringBoot 整合 MyBatis 框架的步骤?
添加依赖
→在 SpringBoot 配置文件配置数据源和 MyBatis 相关配置
→编写 Java 文件(实体类、数据访问 dao 层接口、服务层接口和实现类、控制层、mapper 映射文件)
→建库建表→测试
20、请从以下技术中任选 3 个进行简介?
SpringSecurity:是一个能够为基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案的安全框架。两大核心功能:认证和授权。
Shiro:Shiro 是一个强大且易用的 Java 安全框架,执行身份验证、授权、密码和会话管理。
Nginx:代理服务器,常用功能:请求转发、负载均衡、动静分离、处理跨域问题等等。
FastDFS:是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大
容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
ActiveMQ:ActiveMQ 是最流行的,能力强劲的开源消息总线。
RocketMQ:RocketMQ 是由阿里捐赠给 Apache 的一款低延迟、高并发、高可用、高可靠的分布式消息中间件。
Hadoop:是一个由 Apache 基金会所开发的分布式系统基础架构;主要解决,海量数据的存储和海量数据的分析计算问题。
Kafka:是由 LinkedIn 开发的一个分布式基于发布/订阅的消息系统,使用 Scala 编写,它以可水平扩展和高吞吐率而被广泛使用。
Spark:是一种快速、通用、可扩展的大数据分析引擎,Spark 是基于内存计算的大数据并行计算框架。
第4页,共4页