0
点赞
收藏
分享

微信扫一扫

框架试题

项目部考核

一、填空题(每空 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页

举报

相关推荐

0 条评论