当前位置:   article > 正文

L学姐阿里测开 & 后端 一面面经_测开和后端

测开和后端

阿里测开面经

1.介绍一下项目里你都做了哪些测试工作

根据个人,视情况而定。

2.Spring mvc架构介绍

SpringMVC框架是以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。其中核心类是DispatcherServlet,它是一个Servlet,顶层是实现的Servlet接口

流程:

1.用户在客户端向DispatcherServlet发送请求。

2.DispatcherServlet接受到请求后调用处理器映射器映射对应的Controller。

3.处理器映射器返回映射到的Controller给DispatcherServlet。

4.DispatcherServlet通过得到的Controller来调用处理器。

5.Controller根据请求调用相应的业务逻辑Service。

6.Service调用数据访问层。

7.Service抽取数据模型。

8.Service把数据模型返回给Controller。

9.Controller包装数据返回给DispatcherServlet一个ModelAndView。

10.DispatcherServlet根据得到的ModelAndView调用视图解析器。

11.视图解析器返回一个指定格式的视图。

12.DispatcherServlet把得到的视图forward到JSP页面。

13.JSP页面响应用户的请求并显示到客户端。

3.数据库用的什么?mybatis工作原理

Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套 JPA 应用框架,底层使用了 Hibernate 的 JPA 技术实现,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率!

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情:

  1. 封装JDBC操作
  2. 利用反射打通Java类与SQL语句之间的相互转换

MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。

4.Hash、Set、List特点

1.存放

(1)List存放元素是有序,可重复

(2)Set存放元素无序,不可重复

(3)Map元素键值对形式存放,键无序不可重复,值可重复

2.取出

(1)List取出元素for循环,foreach循环,Iterator迭代器迭代

(2)Set取出元素foreach循环,Iterator迭代器迭代

(3)Map取出元素需转换为Set,然后进行Iterator迭代器迭代,或转换为Entry对象进行Iterator迭代器迭代

5、Arraylist和linkedList的区别?

(1)Arraylist使用数组实现的,linkedlist使用链表实现的

(2)查询、修改Arraylist比较快,因为linkedlist要移动指针

(3)添加、删除linkedList要快,因为Arraylist要移动数据

6.用没用过设计模式,有哪些了解

工厂模式:

  • 工厂方法模式一种创建对象的模式,它被广泛应用在jdk中以及Spring和Struts框架中;
  • 工厂方法模式基于"输入",应用在超类和多个子类之间的情况,这种模式将创建对象的责任转移到工厂类;
  • 首先让我们学习一下如何在Java中应用工厂方法模式并且学习到工厂方法的优点,另外工厂方法模式也广泛应用在jdk中;
  • 超类可以是接口、抽象类、父类,本例中将通过重写 toString() 方法来解释工厂方法模式;

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

7.编程 是不是回文

class Solution {
   
    public boolean isPalindrome(String s) {
   
        if(s.isEmpty()) {
   
            return true;
        }
        int left = 0;
        int right = s.length() - 1;
        while(left < right) {
   
            if(!Character.isLetterOrDigit(s.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/564555
推荐阅读
相关标签
  

闽ICP备14008679号