真的有本科生就会spring全家桶,分布式,和微服务吗?

1 不能说这种同学没。

2 但对于大多数本科生来说,在这方面顶多只是熟悉api,不会了解用组件解决高并发问题的技巧,更不会解决实际问题。

3 还有些同学,估计连spring boot框架也未必熟悉,所以还未必听说过这些名词。

4 但是,用不用过是一方面,在面试中用此展示技能是另一方面。在面试中会会说比在实际项目中用过,要简单很多。

我平时在公司里干过java架构方面的活,也有java面试官的经验,也做过校招,结合我的经验说下应届生在找工作时,该如何展示spring cloud、分布式和微服务方面的技能等方面的技能。

先说大致介绍下spring cloud全家桶、分布式和微服务技术,以及说下它们在项目里怎么用的。

1 Spring cloud 全家桶一般分两代,第一代是eureka做服务治理,ribbon做负载均衡,hystrix做安全管理,zuul做网关,Spring cloud config做配置管理,这套技术也称之为微服务开发技术,我当年还出过一本书。

《Spring Cloud实战》【摘要 书评 试读】- 京东图书京东JD.COM图书频道为您提供《Spring Cloud实战》在线选购,本书作者:,出版社:清华大学出版社。买图书,到京东。网购图书,享受最低优惠折扣!icon-default.png?t=N7T8https://item.jd.com/50189242701.html

而现在是第二代了,是用Nacos做服务治理外带配置管理,还是用Ribbon做负载均衡,是用sentinel做安全管理,网关是Gateway,和第一代相比,组件会有不同,但这些组件依然是能提供微服务相关的服务治理负载均衡等服务。

2 而分布式组件一般是,用nginx做负载均衡和网关,用redis做缓存,用dubbo做远程调用,用kafka做消息中间件等,这种组件可以通俗地叫阿里系组件。相关内容我也出了一本书,大家可以对比其中组件和spring cloud全家桶组件的差别。

《Spring Cloud Alibaba与Kubernetes微服务容器化实践》【摘要 书评 试读】- 京东图书京东JD.COM图书频道为您提供《Spring Cloud Alibaba与Kubernetes微服务容器化实践》在线选购,本书作者:,出版社:清华大学出版社。买图书,到京东。网购图书,享受最低优惠折扣!icon-default.png?t=N7T8https://item.jd.com/10094673594405.html

分布式组件和之前提到的spring cloud第一代和第二代(即spring cloud alibaba)组件一样,都是用通过负载均衡缓存和消息中间件等组件来处理高并发业务的,但可以理解成风格不同。

3 比如为了实现高并发的请求,相关请求大家可以参照秒杀或双11,不同的公司会用不同风格的组件,比如某公司用阿里系组件里的nginx做网关,用dubbo做远程调用,而另一家公司会用Spring cloud alibaba的组件实现。

有些公司甚至会混杂,比如用到spring cloud alibaba里的nacos+sentinel,同时再会引入redis消息中间件。但同一个功能不会混用组件,比如在负载均衡方面,不会混用阿里系的nginx或spring cloud alibaba方面的ribbon。

4 至于微服务,是个开发理念,至于怎么实现,没人在乎,毕竟客户是按功能付钱,不会因为软件公司用了微服务架构而多加钱。

一般来说,微服务对开发方来说,是值一个模块(即spring boot项目),只提供一个业务功能,比如只提供风控或支付功能,这个模块能单独部署,且这个功能是通过dubbo或restful请求和其他模块交互。

再说下哪类程序员在开发过程中会用到spring cloud全家桶,分布式和微服务。

1 有2年左右的java初级开发,平时做的是spring boot增删改查,哪怕是用到上述技能,顶多是用到api,比如通过api实现缓存。

2 而在真实项目里引入spring cloud全家桶或分布式组件是需要成本的,是为了解决实际的高并发问题,不得不引入,引入后第一为了应对高并发,第二是为了搭建一个便于部署维护和便于功能迭代的项目,所以这些技能,哪怕是3到5年开发经验的高级开发,顶多也是用api。

3 真正用这些组件解决和排查实际的高并发问题的,或者是用用来搭建项目架构的,一般是架构师,这些人一般需要5年或更多的项目开发经验。

说了那么多铺垫,再回到主题,说说应届生掌握spring cloud全家桶或分布式组件等技术的情况。

1 如果应届生在简历中就写会分布式,会全家桶组件,而没有任何项目经验,或者写的是xx管理系统之类的学习项目,那么顶多是会理论。

我见过太多的这样的简历,而且真是一问一个准,这些求职者往往连redis或nacos的api都未必知道,顶多说些redis能缓存,nacos能服务治理之类的话。

2 如果应届生的简历上包含商业项目,这类简历不多,但会有,比如从大三开始实习,然后再写用过全家桶和分布式组件,这我一般能信,但一般就到会用api实现功能的程度,比如会用api实现缓存,用dubbo实现远程调用。相比大多数应届生求职者,这绝对是个亮点。

前文也说了,spring cloud全家桶或分布式组件还真是一个亮点,所以最后再说下应届生(或java初级开发)该如何在面试中正确地通过spring cloud全家桶或分布式组件展示技能。

1 简历上得包含个真实项目,作为这些技术的载体,否则光说掌握了但没项目等于零。

2 不要多说,就说用到了api的级别,这就够了,比如用redis做缓存,用kafka做异步处理。

3 面试时,需要结合项目需求说,比如在实现支付功能时,多次访问了用户数据库,所以要用redis缓存,再说下spring boot里怎么用redis,无非是配置,再用RedisTemplate,这样结合业务和语法说了,面试官就信了。

4 再准备些解决过的实际问题,这方面也不用太难,比如解决过redis缓存穿透,或dubbo超时时间,这些问题哪怕对初学者来说,也不难。

5 千万别再说深了,过犹不及。同时概念方面的可以背,但面试中还真别指望靠这个打动面试官。

通过上述的准备,应届生,或初级开发能据此得到什么好处呢?

1 进一步证实自己的项目是商业项目。其实大多数应届生做不到这点,单凭此就能超过大多数的竞争者。我最近帮人辅导简历和面试,本来没面试机会的简历,我通过加入若干文字展示这点后,民面试机会就大大增加了。

2 相对于零基础,或者初级开发,能证明自己用过分布式组件的api,这在应届生里或初级开发里,绝对是个很好的加分项。

  • 29
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hsm_computer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值