美文网首页Java
专访阿里P8架构师:工作三年应该具备什么样的技能?

专访阿里P8架构师:工作三年应该具备什么样的技能?

作者: 美的让人心动 | 来源:发表于2019-07-19 21:06 被阅读5次

    程序员黄金五年职业发展规划:

    问:工作中,有时候实现一个功能,会去看有没有现成的轮子可用。对于重复造轮子与改造轮子有什么看法?

    答:一定会的,其实这也是一个提高技术能力的方法,比如今天想做个日期转换的功能,JDK8有日期的新特性就会考虑直接使用LocalDate.now().format(DateTimeFormatter.BASICISODATE),

    以前都是自己写个DateUtils。

    如果已有的轮子不满足需求,我觉得可以基于已有的轮子进行改造,提供更多的特性。

    在写代码的过程中,永远要思考的是现在业界的技术方案是如何做的,

    现在的方案有什么优点或缺点,我能不能直接使用,不能使用的话,是否优化后可用,当然用的时候要了解它的实现原理,做到知其然知其所以然。

    问:阿里的技术专家P7从招聘层面上来说,比如工作年限,过往经历,技术能力等需要达到怎样的要求,可否详细讲一下?

    答:年限是5-10年,

    技术能力有几个方面的要求,扎实的基础能力,在技术上要有技术亮点,用过的框架要知道其技术原理,能独立解决各种技术问题,具备分布式系统的开发经验,比较强的实战能力。

    阿里的5要求能独立负责一个模块,6要求能独立负责一个系统,7要求能架构和负责多个系统,并规划系统的未来能力,在某个领域达到专家水平,可以是某个业务领域,也可以是某个技术领域。

    独立这两个字要求很高,即遇到任何技术问题,你都能独立解决。

    问:工作中,产品方案设计的时候,经常会存在多方分歧,有分歧就会存在妥协,如何合理的坚持自己的观点,如何合理的做出妥协?

    答:方案没有对错,每个方案都有他的优点和缺点,要分析出别人方案的优点和缺点,肯定对方方案的优点,再针对缺点提出对方如何解决这个问题,还是说不解决这个缺点。一起讨论出最合适的方案,而不是要争论谁对谁错。

    问:我就是在业务团队,偏技术。框架听起来很酷但遥远,能否带入门,给几个知识点?

    答:在业务团队也可以做很多框架,比如可配置化支持业务的框架,自动生成添加删除修改页面的框架,业务数据校验的框架,

    只要多思考如何快速支持业务,就能找到合适的业务框架。可以从几个点出发,配置化支持业务,页面自动生成,流程标准化等。

    问: 最近在学习Spring源码,看了点书,可以跟着作者的思路看源码,但是看完不久就忘了,其实是没有太多的应用场景的,对于看源码,有什么好的方法吗?

    答:可以用这个思路,比如让你来设计一个Spring框架你会如何来设计,Spring Core最重要的就是IOC和AOP,

    自己可以尝试实现下简单的IOC和AOP功能,然后再去对比看下Spring是如何实现的,这样即使忘记了Spring的代码,但是仍然能基础其实现原理。

    问:对于三十岁的程度员,如果还想再深入做技术,有什么建议?

    答:技术人员一定要有危机感,无论多大年纪仍然要持续的学习,我也已经三十多了,每周会花点时间学习点技术。

    但是年纪大了,其实时间不会那么多,所以要提高学习的效率,掌握一些学习方法和方法论,并且要静下心来持续的学习。

    学技术什么时间都不晚,因为总有新技术冒出来,但是一些永远不变的技术可以优先学习,比如各种协议(TCP,HTTP,一致性hash协议),实现原理,算法等。

    问:自己也实现过IOC和AOP的一些小案例,但是实现比较简单,IOC是基于一个Map来实现的,AOP使用CgLib实现,但是再看Spring Core的源码时,还是感觉很吃力,嵌套层次太多,Debug多次,还是比较吃力,怎么办?

    答:技术人员一定要有个特质就是死磕,有的技术人员可能花2个星期解决一个技术BUG,就是对着源码一点点的看,要能入定。带着问题去看源码会更轻松点。

    答:要给自己制定学习计划,

    比如要学习哪些技术,每天学习什么,达到什么程度。

    工作中用一些方式方法减少杂乱无难度的工作内容,比如白天不答疑,或只在固定的时间答疑,写FAQ减少答疑,少参与一些会议,不实时去回即时通讯软件。

    问:你觉得三年经验应该具备什么样的技能?

    答:我觉的作为一个开发经验三年经验来说应该要弄懂下面的知识大纲

    微服务专题

    作为阿里的p7当然要弄懂双十一项目;

    要自己能够完全搞懂源码

    分布式是必不可少的;

    还要学会性能优化

    问:上面的知识掌握了可以成为阿里P7的架构师吗?你对于如何学习上面提到的知识有什么建议吗?

    答:完全掌握是可以的 ,但是会需要一个比较长的周期,大概是八到十个月左右,我们有自己的一个圈子,每天给大家分享一个架构的知识点,当然我也自己录制了一些完整的架构,还有一些bat面试点讲解的视频 ,今天作为一个福利,只要你们来我就免费的分享给大家

    1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的。

    2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的。

    3、如果没有工作经验,但基础非常扎实,对java工作机制,用设计思想,常用java开发框架掌握熟练的。

    4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的。

    5. 群号:高级架构群 705127209 备注好信息!

    6.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!

    问:文章里面提到了架构能力,架构能力由什么组成?如何提高架构能力?又如何去设计一个架构?

    答:这是个很好的问题,后续可能写一系列的文章来分享下我的看法。

    架构分很多种,有业务架构,网络架构,数据架构及中间件架构。 架构能力最关键的是抽象能力,能抽象出系统中不变的部分形成领域模型。而变化的部分都是通过扩展实现的。有点像乐高积木,抽象出各种基本模块,就可以搭建你想要的东西。

    那么如何提高架构能力?多学多思多实战,首先掌握架构模式和架构原则,比如分层架构,模块化,或者看些架构的书,《企业应用架构模式》等,然后看已有的系统架构,思考下该系统为什么要这样架构,遵循了哪些原则和模式,这个架构的优缺点有哪些。然后就是自己参与到架构中,和架构师一起讨论设计。

    相关文章

      网友评论

        本文标题:专访阿里P8架构师:工作三年应该具备什么样的技能?

        本文链接:https://www.haomeiwen.com/subject/cklelctx.html