技术硬实力,你应该这样和面试官聊Dubbo
共 3042字,需浏览 7分钟
·
2022-09-17 16:43
说起面试,很多人都非常的头疼,当然笔者也觉得确实很烦。如果是应试教育,你还可以买一本指定的参考书去复习,大不了我全部背下来就好了,但是面试呢?你是大海捞针,完全去凭运气押题,并且基本押不中,你会发现去面试的时候,你准备的面试题和八股文,很少有派上用场的,我想这个就是大家经常碰到的困惑吧,那么我们该如何去和技术面试官去聊技术呢?
这里我就简单拿Dubbo作为一个技术面试的业务场景,带着大家走入技术面试的环节。
学会使用Dubbo
很多候选人都很不理解,咱们业务开发过程中,不都是在用Dubbo作为RPC框架吗?我已经写了几百个Dubbo接口了,并且都上线了,业务功能也是正确的,怎么能够说我不会使用Dubbo呢?
我这里说的“学会使用Dubbo”是指“学会模拟业务场景并带着问题去使用Dubbo”,而不是简单去用或者是用现成的Starter框架。
你该“学会如何使用Dubbo”,才能达到和技术面试官聊的来的程度呢?这里我给你们简单的总结了如下几点:
将官方提供的Sample工程全部跑一遍,并总结业务场景;
分析这些业务场景和自己开发过程中碰到的问题业务场景是否一致,如果一致,我们该如何去套用;
如果吃透了Sample工程,是否可以提炼出新的玩法,也就是更加复杂的业务场景的玩法;
在自己的项目中是否会存在上述复杂的业务场景,如果不存在,我们是否可以模拟一下。
好吧,光说说太枯燥了,还是以一个实际的例子和大家聊一下。
比如我们都知道,在业务服务中可以通过注解@DubboService和@DubboReference直接使用Dubbo去完成服务的注册和订阅,并且我们在业务开发的过程中也是这么做的,假如你和面试官说,你平常就是这么用的,并且只是浅浅地说了这一点,那么面试官肯定会觉得你太敷衍了。
确实上面两个注解是使用Dubbo的方式,并且大部分场景我们只需要用上面两个注解就可以完成业务功能的开发,但是你有没有想过或者仔细去关注过细节呢?
比如,我想设置服务提供者或者服务消费者对应的接口的超时时间、并发数和线程池等等,你该怎么办呢?或者是“为什么需要修改这些参数”,“业务场景有哪些?”,“这些功能是如何实现的呢?”,好吧,假如你能过顺藤摸瓜去分析上面这些问题,并且都能够举一反三,那么面试官肯定会认为你是“会使用Dubbo的”,并且基本已经达到在业务中灵活使用Dubbo作为RPC框架的技术能力。
学会利用Dubbo
当咱们学会“使用Dubbo”之后,我们还要学会“利用Dubbo”,到这一步,就对我们的技术能力要求更高了,这个也是面试官在聊Dubbo的时候,更想知道的你的技能点。
对的,Dubbo的确是开源的,并且你都可以直接下载到源码,并且官方也有很多文档,还有很多技术博客或者技术书籍,你买过来学习学习,也能够知道“使用Dubbo”,但是你要学会借Dubbo为自己赋能啊。
比如我列举一个简单的例子,Dubbo是一个高并发的RPC框架,里面有很多关于高并发的设计思想,假如你是一个架构师或者技术专家,你是否可以将这些思想转换为可以落地的技术或者业务架构,从而在产品服务中落地呢?如果你落地了,说明你是可以充分去利用Dubbo的。
还有Dubbo支持多注册中心,那么它有一套标准的整合模式,做到SPI可扩展,那么我们在落地产品服务的时候,尤其是碰到一个类型的产品多个个性化实现的时候,我们是否也可以考虑采用这种SPI架构,去业务产品中落地。
当然Dubbo中优秀的设计模式太多了,这里就不一一列举了,我只是想告诉大家,好的架构模式是可以借鉴的,这些都不算抄袭,因为你是落地到不同的业务场景中,只要你能够落地,那就是创新。
反馈Dubbo社区
Dubbo社区是非常活跃的,里面会有很多业务场景需要解决,并且会有很多问题待解决,假如你达到了充分利用Dubbo赋能的程度,那么接下来你就要去反馈Dubbo社区,并参与开源贡献。我想当一个面试官,看到你能够参与开源,并能够解决更多的问题,那么他有什么理由不去选择你,至少你是有技术输出的,总比那些嘴上唰唰的人要强很多吧。
做一名Dubbo的知识输出者
假如你们公司正在全面使用Dubbo作为RPC框架,那么你应该尽全力去争取做你们公司第一个吃螃蟹的那一批人,这样你才能做成你们公司的Dubbo的知识输出者,并且你也会有足够多的资源和时间去做你喜欢的事情,技术沉淀也会非常的多,也能够利用公司的平台去做很多事情,这样既能够实现你的个人价值,也能够实现公司价值。当你出去找工作的时候,你能够拿这些可以说的出去的经验,和面试官去聊技术,聊经验。
聊Dubbo,一定要聊它的精髓
Dubbo是一款功能非常丰富的RPC框架,它不仅仅只是一个RPC框架,它几乎昂扩了服务治理领域的所有功能,假如你现在能能够将Dubbo支持的功能全部说出来,并知道怎么去用,以及如何去复用这些功能,那你是真的牛,但是通常我们很难做到这些,就是是Dubbo的核心贡献者,他们也不一定能做到对每一个模块功能的细节非常熟悉,但是他们会对Dubbo的核心架构非常熟悉,为什么呢?核心架构元素是Dubbo的主骨架,那些细节功能就是骨架上的经脉,所以你要掌握主骨架。
那么什么是Dubbo的主骨架呢?那就是Dubbo如何完成服务的注册和服务的订阅,你要知道你的服务在接入Dubbo之后,具体做了哪些事情,才能完成服务的注册和订阅。你还要知道,Dubbo是如何完成的服务的负载均衡的,这些是Dubbo的的服务订阅必须要了解的功能。
Dubbo更多与服务治理相关的功能,都是在服务注册和订阅的基础之上完成的, 你只有搞清楚这些主骨架的功能,你就能够快速去推演出其他功能的具体实现,或者你自己都可以实现一套相关的功能。
总结
和大家聊了这么多,你应该能够发现,要想和面试官比较愉快地聊Dubbo,并且聊得很开心,就应该让面试官觉得你是专业的,这一点是非常重要的。
只有面试官觉得你是专业的,他才会有意识地去和你聊,并且从一开始就会把你放到高点,不会用平行的态度去面试你,这样你也可以更加轻松自如地完成这场面试。
最后祝大家面试顺利。
作者著作
▊《Spring Cloud Alibaba 微服务架构实战派(上下册)》
胡弦 著
技术新。采用目前的新版本(2.2. 5.RELEASE)来编写,相关技术也采用的是目前新的稳定版本
精心设计的主线:零基础入门,循序渐进,直至项目实战
本书是“一站到底”的解决方案:读者只需从这里上车,中途无需转乘,读者需要什么,本书就提供什么,直达终点
绘制了大量的图,便于理解原理、架构、流程
实战性强。能让读者“动起来”,在实践中体会功能
本书覆盖了微服务架构的主要技术点,包括分布式服务治理、分布式配置管理、分布式流量防护、分布式事务处理、分布式消息处理、分布式网关、分布式链路追踪、分布式Job、分库分表、读写分离、分布式缓存、服务注册/订阅路由、全链路蓝绿发布和灰度发布。这些技术点采用“是什么→怎么用→什么原理(源码解析)”的主线来讲解。
(限时下单立减100,快快扫码抢购吧!)
审核:陈歆懿
如果喜欢本文 欢迎 在看丨留言丨分享至朋友圈 三连 热文推荐
▼点击阅读原文,查看本书详情~