第四轮面试题

1.什么是mybatis?

2.什么是spring?

3.什么是SpringMVC?

4.什么是SSM?

5.什么是集合?

6.什么是SpringCloud?

7.什么是Dubbo?

8.什么是消息中间件?

9.eureka和zookeeper的区别?

10.分布式锁的概念?


一、什么是mybatis?

一种持久层框架,类似于JDBC访问数据库的操作,
我们说JDBC使用到的对象有Connection对象,PreparedStatement对象,ResultSet对象。
而Mybatis框架的核心对象有SqlSessionFactoryBuilder对象,SqlSessionFactory对象,SqlSession对象。
并且myibatis框架和hibernate框架最大的区别就在于mybatis它的灵活性比较高。

二、什么是spring?

在spring出来之前,service层调用dao层都是用new的方式。
在spring出来之后,service层和dao层都会放在spring容器去管理,这是spring的第一种特性,我们称之为IOC,控制反转。
spring还有一种特性,我们称之为AOP,大白话,“面向切面”,说白了就是专门的人干专门的事。在项目很多公有的或是
要被重复被调用的模块可以被抽取出来,利用的就是AOP的特性,例如日志模块。

三、什么是SpringMVC?

当用户发送请求到springmvc中的前端控制器中,通过映射器和适配器返回ModelAndView对象到客户端。这就是SpringMVC的基本原理。

四、什么是SSM?

SSM搭建的版本有很多,例如有一个版本可以这么搭建,两个核心配置文件web.xml,applicationContext.xml。

五、什么是集合?

集合有两个父接口,一个Collection,一个Map,而Collection有两个子接口,一个List,一个Set,List有两个常见的实现类ArrayList,LinkedList,
Set有两个常见的实现类HashSet,TreeSet,Map有两个常见的实现类HashMap,HashTable

六、什么是SpringCloud?

springcloud是一个分布式的开源框架,基于spring boot来搭建,Spring Cloud 为开发人员提供了一些快速构建分布式系统常见模式的工具(例如配置管理、服务发现、断路器、智能路由、领导选举、分布式会话、集群状态)。

七、什么是Dubbo?

Dubbo是一款高性能, 轻量级的开源Java RPC分布式服务框架, 它提供了三大核心功能: 面向接口的远程方法调用,
智能容错和负载均衡, 以及服务自动注册和发现。它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解藕(或者最大限度地松耦合)。
从服务模型的角度来看, Dubbo采用的是一种非常简单的模型, 要么提供方提供服务, 要么是消费方消费服务, 所以基于这一点可以抽象出服务提供方和服务消费方两个角色

八、什么是消息中间件?

消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。

九、eureka和zookeeper的区别?

首先他们都是服务注册和发现的功能,eureka是cloud的注册中心,zookeeper是dubbo的注册中心。基于CAP原则,eurek是AP原则,即可用性和分区容错性,zookeeper是CP原则,即强一致性和分区容错性。

十、分布式锁的概念?

在分布式系统中,由于分布式系统的分布性,即多线程和多进程并且分布在不同机器中,这两种锁将失去原有锁的效果,需要我们自己实现分布式锁——分布式锁。
在多线程的环境下,多个线程同时访问同一个资源,导致线程不安全,使用分布式锁来解决这个线程安全问题。

12-29 20:51