第四輪面試


第四輪面試題

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。
1.前端控制器DispatcherServlet

2.過濾器CharacterEncodingFilter

 

applicationContext.xml

1.掃描包 <context:component-scan base-package="cn"/>

2.mvc驅動 <mvc:annotation-driven/>

3.事務驅動 <tx:annotation-driven transaction-manager="txManager"/>

4.配置數據源

5.SqlSessionFactoryBean     

6.配置事務

7.數據映射器

8.視圖解析器

  

五、什么是集合?

集合有兩個父接口,一個Collection,一個Map,而Collection有兩個子接口,一個List,一個Set,List有兩個常見的實現類ArrayList,LinkedList,
Set有兩個常見的實現類HashSet,TreeSet,Map有兩個常見的實現類HashMap,HashTable

 

六、什么是SpringCloud?

SpringCloud架構中最核心的是Eureka注冊中心,它是一個通訊錄。所有p端和c端都會注冊在上面,cloud中c端調用p端應用feign組件進行調用。應用程序導致網絡請求出現問題時,hystrix組件實現容錯機制。用戶請求量變大是,用ribbon組件實現客戶端的負載均衡。而服務器端的負載均衡通常使用nginx反向代理。SpringCloud中有類似於servlet過濾器的組件,zuul網關組件對整個服務架構進行安全過濾。當使用一個服務調用多個feign組件的時候,sleuth+zipkin組件用來服務追蹤,可以用來調試接口(追蹤問題)。config組件進行統一配置。

dubbo基於RPC,SpringCloud基於RESTful。

 

 

七、什么是Dubbo?

Dubbo和Springcloud都是分布式服務中常用的框架。dubbo與cloud不同,dubbo基於RPC協議。它提供了三大核心功能: 面向接口的遠程方法調用,

智能容錯和負載均衡, 以及服務自動注冊和發現。

Dubbo按照分層的方式來架構,可以最大限度地松耦合。Dubbo采用一種非常簡單的模型, 要么提供方提供服務, 要么是消費方消費服務, 所以基於這一點可以抽象出服務提供方和服務消費方兩個角色。

 

八、什么是消息中間件?

消息中間件利用高效可靠的消息傳遞機制進行異步的數據傳輸,並基於數據通信進行分布式系統的集成。通過提供消息隊列模型和消息傳遞機制,可以在分布式環境下擴展進程間的通信。

 

九、eureka和zookeeper的區別?

首先他們都是服務注冊和發現的功能,cloud一般選擇eureka作為注冊中心,dubbo一般選擇zookeeper作為注冊中心。基於CAP原則,eurek是AP原則,即可用性和分區容錯性,zookeeper是CP原則,即強一致性和分區容錯性。

 

十、分布式鎖的概念?

在分布式系統中,由於分布式系統的分布性,即多線程和多進程並且分布在不同機器中,這兩種鎖將失去原有鎖的效果,需要我們自己實現分布式鎖——分布式鎖。
在多線程的環境下,多個線程同時訪問同一個資源,導致線程不安全,使用分布式鎖來解決這個線程安全問題。

分布式搶購用到分布式鎖,上鎖;第二個用戶要等待第一個用戶完成才能進行搶購;利用setnx設置解決安全性問題,缺點是性能過低。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM