• 测试题答案


    一、 选择题 

    a) 1-5:B  D   CD   BD   B

    b) 6-10: B   B   B   C   D

    c) 11-15:  C   A   B   A   D

     

    二、 选择题 

    a) 1-5: B   A   C   A   A

    b) 6-10:  A   D   A   D   ABCD

    c) 11-15:  C   A   D   B    B

     

    三、 选择题 

    a) 1-5: C  D  B  B  C

    b) 6-10: A  D  A  B   BC

    c) 11-15: BD  D  C  ABC   ABC

     

    四、 选择

    1-5: C   D  B   D   A

    6-10: C   C   C  D   A

    11-15:  AB   A   A   D   DE

     

    五、 简答题(一)

    1. 请描述SpringMvc的的核心组件,以及SpringMVC的工作原理。 

    答案:

    核心组件:1. DispatcherServlet    2. HandlerMapping    3. Controller    4. ModelAndView    5. ViewResolver

    SpringMVC的工作原理:

    DispatcherServlet接受客户端发送的所有请求,这些请求经过HandlerMapping解析之后,找到对应的Controller组件,

    Controller中处理请求,得到的结果即ModelAndView,ModelAndView再经由ViewResolver解析得到最终要响应回客户端的

    视图,再交给DispatcherServlet,由核心控制器响应回客户端。

    2. 写出spring中的5个注解及其含义 

    @Component 标识一个受Spring管理的组件

    @Respository标识持久层

    @Service 标识服务层

    @Controller 标识控制层

    @Autowired  它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作

    3. SpringMVC中怎么样设定重定向和转发的 

    答案:

    在返回值前面加"forward:"就可以让结果转发,譬如"forward:user.do?name=method4"

    在返回值前面加"redirect:"就可以让返回值重定向,譬如"redirect:http://www.baidu.com"

    4. 请简述什么是MVC模式? 

    答案:

    1. 是一种开发软件工程的设计模式。

    2. M即Model,模型,定义数据模型和业务模型,通常由javabean实现;

    V即View,视图,定义与客户端进行交互的界面,通常由jsp,html等实现;

    C即Controller,控制器,接收客户端请求并调用模型和视图处理请求,通常由servlet实现。 

    六、 简答题(二)

    1. 请描述ResultMap和ResultType的差别? 

    两者都是表示查询结果集与java对象之间的一种关系,处理查询结果集映射到java对象。

    resultMap:表示将查询结果集中的列一 一映射到bean对象的各个属性。

    ResultType:表示的是bean中的对象类,此时可以省略掉resultMap标签的映射,但是必须保证查询结果集中的属性 和 bean对象类中的属性是一一对应的

    2. .MyBatis编程步骤是什么样的? 

    1. 创建SqlSessionFactory

    2. 通过SqlSessionFactory创建SqlSession

    3. 通过sqlsession执行数据库操作

    4. 调用session.commit()提交事务

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

    #{} 是预编译处理,${}是字符串替换。Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的set 方法来赋值;
    Mybatis 在处理${}时,就是把时,就是把{}替换成变量的值。
    使用#{}可以有效的防止 SQL 注入,提高系统安全性。

    4. 当实体类中的属性名和表中的字段名不一样 ,怎么办

    1 种: 通过在查询的 sql 语句中定义字段名的别名,让字段名的别名和实体类的属性名一致

    2 种: 通过 <resultMap> 来映射字段名和实体类属性名的一一对应的关系。

    5. 在写mapper接口以及对应的mapper.xml文件时,有哪些注意事项? 

    1、Mapper 接口方法名和 mapper.xml 中定义的每个 sql 的 id 相同;

    2、Mapper 接口方法的输入参数类型和 mapper.xml 中定义的每个 sql 的parameterType 的类型相同;

    3、Mapper 接口方法的输出参数类型和 mapper.xml 中定义的每个 sql 的resultType 的类型相同;

    4、Mapper.xml 文件中的 namespace 即是 mapper 接口的类路径。

    七、 简答题(

    1. 请描述ArrayList与 LinkedList 的区别? 

    ArrrayList 底层的数据结构是数组,支持随机访问,查询效率高;

    LinkedList 的底层数据结构是双向循环链表,增删元素性能更高。

    2. Java 中,Comparator 与Comparable 有什么不同

    Comparable 接口用于定义对象的自然顺序,是排序接口,需要该对象的类去实现该接口,而 comparator接口 通常用于定义用户定制的顺序,是新定义的

    比较器需要实现的接口。

    若某类的多个对象之间已经有定义好的排序规则,即已经实现Comparable接口,此时不想用已有的排序规则,而想使用临时的或新的排序规则

    此时就可以采用定义比较器实现Comparator接口来实现。

    3.请描述什么是事务,以及事务的ACID特性?

    事务(Transaction)是数据库操作的基本执行单元。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。

    事务具有以下4个基本特征。
    Atomic(原子性):事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败。
    Consistency(一致性):只有合法的数据可以被写入数据库,否则事务应该将其回滚到最初状态。
    Isolation(隔离性):事务允许多个用户对同一个数据进行并发访问,而不破坏数据的正确性和完整性。同时,并行事务的修改必须与其他并行事务的修改相互独立。
    Durability(持久性):事务结束后,事务处理的结果必须能够得到固化。

    4.用递归求斐波那契数列1 1 2 3 5 8 13 21 34 的第30个数是多少?

    public int GetNumberAtPos(int pos){

             if(pos==0||pos==1){

                 return 1;

             }

             int res = GetNumberAtPos(pos - 1) + GetNumberAtPos(pos - 2);

             return res;

         }

    5.为什么重写equals方法的同时建议重写hashcode方法。

      Object默认的equals方法本质是==的比较,一般来说我们的对象都是引用对象,比较地址,需要重写equals方法。Hashcode 方法也是可以用来比较两个对象是否相等很少直接使用,hashcode方法返回的是一个int值,可以看作是一个对象的唯一编码,如果两个对象的hashcode值相同,我们应该认为这两个对象是同一个对象。所以如果我们对equals方法进行重写,建议一定要对hashcode方法重写,以保证相同的对象返回相同的hashcode值,不同对象返回不同的hashcode值。

    1)、重写equals方法时需要重写hashcode方法,注意针对Map、Set等集合类型的使用:

    1. map、set等集合类型存放的对象必须是唯一的;
    2. 集合类判断两个对象是否相等,是先判断equals是否相等,如果equals方法返回true,还要继续判断hashcode方法返回值是否为true,只有两者都返回true,才认为该两个对象是相等的;

    2)、由于object的hashcode方法返回的是对象的hash值,所以即使equals方法返回true,集合也可能判定两个对象不等,所以必须重写hashcode方法,以保证当equals方法返回true时,hashcode方法也返回true,这样才能使得集合存放的对象唯一。

  • 相关阅读:
    android原子
    android进程优先级
    Android 的cyclicBarrier
    android中运用CountDownLatch
    java网络编程长连接的问题
    https
    http 上传文件
    netty4 断线重连
    Linux下高并发socket最大连接数所受的各种限制
    Android Studio NDK及so文件开发
  • 原文地址:https://www.cnblogs.com/chenglaoshi/p/12553951.html
Copyright © 2020-2023  润新知