在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
Dubbo作为国内最主流和常见的分布式服务框架,是Java程序员必须要熟练掌握的框架。虽然Consul正在崛起,但Dubbo又开始重新更新,因此目前市场上仍有不少公司使用Dubbo。在Java岗位的面试中,Dubbo更是会被经常问到的技术难点,因此无论你在哪家公司面试,都必须熟悉Dubbo的相关知识点。本文为大家整理了一些Java程序员常见的Dubbo面试题,并附上了参考答案,一起来做做吧!
1、说一说使用Dubbo的理由。
答案:因为是Dubbo阿里开源项目,国内很多互联网公司都在用,已经经过很多线上考验,作为Java程序员肯定是要掌握的。而且它内部使用了 Netty、Zookeeper,保证了高性能高可用性。使用 Dubbo 可以将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,可用于提高业务复用灵活扩展,使前端应用能更快速的响应多变的市场需求。最重要的是,分布式架构可以承受更大规模的并发流量。
2、Dubbo需要 Web 容器吗?
答案:Dubbo不需要Web 容器。如果非要用 Web 容器,只会增加复杂性,也浪费资源,所用真的没有必要。
3、Dubbo内置了哪几种服务容器?
答案:Dubbo内置了Spring Container、Jetty Container和Log4j Container三种。Dubbo的服务容器只是一个简单的 Main 方法,并加载一个简单的 Spring 容器,用于暴露服务。
4、Dubbo默认使用的是什么通信框架,还有别的选择吗?
答案:Dubbo默认使用Netty框架,也是推荐的选择,另外内容还集成有Mina、Grizzly。
5、一般使用什么注册中心?还有别的选择吗?
答案:一般推荐使用zookeeper注册中心,还有redis等,但不是很推荐。
6、默认使用什么序列化框架,除此之外还有哪些?
答案:默认使用Hessian序列化,还有Duddo、FastJson、Java自带序列化。
7、如果遇到集群容错你应该怎么做?
答案:读操作建议使用Failover失败自动切换,默认重试两次其他服务器。写操作建议使用Failfast快速失败,发一次调用失败就立即报错。
8、Dubbo支持服务多协议吗?
答案:Dubbo 允许配置多协议,在不同服务上支持不同协议或者同一服务上同时支持多种协议。
9、当一个服务接口有多种实现时怎么做?
答案:当一个接口有多种实现时,可以用 group 属性来分组,服务提供方和消费方都指定同一个 group 即可。
10、服务上线怎么兼容旧版本?
答案:可以用版本号(version)过渡,多个不同版本的服务注册到注册中心,版本号不同的服务相互间不引用。这个和服务分组的概念有一点类似。
11、Dubbo可以对结果进行缓存吗?
答案:Dubbo可以对结果进行缓存,Dubbo 提供了声明式缓存,用于加速热门数据的访问速度,以减少用户加缓存的工作量。
以上就是针对Java程序员整理的Dubbo面试题,大家都会做了吗?在做的过程中,大家先不要看答案,应该先自己做一做,对自己这个方面的知识点进行查漏补缺,才能在面试中表现得更好。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java技术未来发展前景如何?
Java编程语言一直以来都是使用率最高的编程语言之一,由于Java具有安全性能高、可移植性、可拓展等特点,目前Java被国内外大型企业所推崇。对于Java技术未来发展前景,主要从从业者职业发展和发展领域、语言本身等几个方面来看。
4967
2019-11-19 18:25:05
菜鸟自学软件编程入门?基础理论书籍推荐
菜鸟自学软件编程入门?基础理论书籍推荐,对于自学软件编程入门学习者来说是十分有必要的。这是因为大家在学习初期,往往对软件编程缺乏相关知识的了解,不知道从哪里入手比较好。看完基础理论书籍,对学习内容有了一定理解、梳理后才好制定一份适合自己的学习大纲。小编将为大家推荐十本软件编程入门基础理论书籍,希望可以给大家借鉴。
6703
2020-01-11 10:03:36
Java开发工程师面试准备攻略
本文主要和大家分享一下,Java开发工程师面试要做哪些准备。一般来讲,Java岗位的面试准备主要集中在两方面。一方面是面试前的简历制作,另一方面是多做Java开发相关的面试题。前者是为了获得更多的面试机会,后者是为了在面试中通过面试官的考核,从众多求职者中脱颖而出。那么,我们就来详细看看下面这份Java开发工程师面试准备攻略吧!
5078
2020-01-10 15:38:13
学习MySql需要掌握哪些基础知识?
学习MySql基础知识,需要掌握需求分析、关系型数据库用来描述实体与实体之间的关系、MySql数据库服务器、MySql得安装和卸载、MySql的sql语句及操作相关的知识。
5932
2020-03-04 17:06:07
Java编程语言开发大数据的优势有哪些?
Java编程语言开发大数据的优势:Java语言支持各类组件、Java在物联网方面应用、Java移动领域应用、Java支撑超级计算机设备。GPU成为大多数速度最快的超级计算设备所不可或缺的处理器。Java“一次编写,随处起效”架构技术能够在工作站上开发自己的软件移植到系统当中。
4281
2020-03-30 17:55:17