幸运pk10心得 _从熟练工的状态下提升到架构师的基本功和技巧

  • 时间:
  • 浏览:1

    每每各自 自认为可能性是高级开发,自认为还算勤恳,用了不少时间看一遍架构师方面的资料,都是可能性从事了1年左右架构相关的活。每每各自 尚有自知之明,还谈不也能技术架构的水准,但在每每各自 目前工作环境里,能得到牛人亲历指导,每每各自 就让断通过拜师学艺,自认为走在正确升级的途径上,即假若继续努力,在不久的将来能拿到架构师的工资。

    回想我当年居于高级开发阶段,也与非 个熟练工,每天干的都是体力活,说白了就让不断一键复制熟悉的工作模式。可能性在工作中不也能 实践到高并发组件等架构师所必需的知识点,当时只就让也能靠看资料来积累,靠面试来感受对公司架构师的实际要求,每每各自 感觉也走了不少弯路。

    为了更好地继续后面 的升级之路,我写下这篇阶段性总结文章,也一方面通过总结,我我应该 更加明确后继的计划和目标,每每各自 面,也希望能尽每每各自 的微薄之力让各位同路人少走弯路。这篇文章也与非 我就让两篇博文架构师更多的是和人打交道,语句我见到和听说到的架构师升级步骤和平时的工作内容,以及看下资深架构师平时还要避免的问题图片图片,对比你离资深架构师还有几个距离——再论技术架构的升级之路的后继系列文。

1 熟练工有退步的风险,全都首先主观上得不断上进

    每个公司做的活我觉得都是局限性,可能性就在等待在本公司熟练工的阶段,不也能 一定无法紧跟技术进步的步伐,长而久之就会落后了。

    话说回来,都是每个熟练工都能经得起舒适区诱惑的,我能 拿我经历过的舒适区和目前的挑战区情形对比一下。

    上班前,在外企的就让,可能性每天干的活都能应付,全都没丝毫压力,而且 可能性是弹性工作制,全都10点到算常态,一周总有1次10点半前到,上班路上,还能用悠闲的心情看风景。在目前互联网公司,上班前就得规划一天的工作,有就让想想今天要干的活技术上我不大熟,可能性得催别的组要接口,全都有一个多 劲有忐忑不安的感觉,一路上有时还得小跑,我觉得也是弹性工作制,但有一个多 劲9点前到,早到就能早开始英语 做事情。

    上班时,在外企的就让,对进度的压力不大,而且 干的活都是,全都也能 优哉地干,平时有空也能 逛个网站,而且 出去逛一圈是常事,加班到8点就会埋怨,到了周五下午,大多数人都没心思干活了,基本都是坐等下班。而在互联网公司,每天都是干不完的活,干好活,就得不断反思,看如可也能干更好,而且 就压力很大。晚加上班到9点是常事,而且 最头痛的是,不少事情都是能用时间都能避免,比如出个技术方案,后面 涉及到的技术熟透,就得拼命学。

    周末以及下班后,在外企的就让,可能性无需积累,全都很轻松,也能享受生活,像我当时写书写博客,还出了两本书,Java Web轻量级开发面试教程Java核心技术及面试指南,还算比较勤奋的,而在互联网公司,对不起了,平时一定得看资料,而且 绝对不也能装模作样地看,可能性有有一个多 阶段里不进步,不也能 就坐等被说。

    由奢入俭难,而且 舒适区用的技术要比挑战区落后全都,而高级开发到架构师的升级任务固然是容易达成的,全都在舒适区的就让,不也能平时多上进,要如可上进?我觉得搞掂当年高考四分之一的努力程度即可。

2 从会用分布式组件开始英语 ,而且 不也能光看资料

    架构师的重要工作任务是避免分布式高并发的问题图片图片,全都升级也能 从会用其他分布式框架开始英语 。

    比如nginx如可配置,dubbo和zookeeper如可整合,kafka消息后面 件如可配置,redis如可配置,可能性ETL该如可配置。看一遍各种教程后,一定得每每各自 找个环境配置一下,比如我通过nginx配置,我觉得能把请求发送到不同的服务器上,可能性通过设置dubbo配置,我觉得能做到超时重发。

    其他步骤的难点是,在每每各自 的机器上固然能模拟出分布式环境,全都可能性也能 ,就找公司测试环境实践,可能性每每各自 机器上装个虚拟机。可能性我觉得不也能 法律方法,安装个环境,而且 每每各自 设置一遍配置,哪怕不也能 调试,每每各自 设置一遍总比光看教程要好。 

3 思考有有一个多 问题图片图片,从中能归纳出升级所还要的基本功

    不少高级开发摸不也能升级架构师的法律方法,我觉得全都技巧平时工作时就能接触到。可能性这里一时无法列全升级到架构师所还要的基本功,但朋友也能 思考如下两方面的问题图片图片。

    1 当前系统的运维方面,为了我能 的系统能平稳地运行平稳地升级版本,你还要掌握有哪些技能?当系统在线上表现出有问题图片图片时,你该如可通过查日志等方面来排查问题图片图片点?

    2 再进一步,也能 考虑系统高并发方面的问题图片图片。你的系统当前能应付几个并发量?当前系统的瓶颈在哪?任何系统都是瓶颈,比如SQL压力大,非常容易导致 OOM异常。如可通过看日志等法律方法确认当前系统的瓶颈所在?

    为了得到上述有有一个多 问题图片图片的答案,朋友还要掌握各类技能,比如通过jenkins打包发布版本,通过linux日志查看问题图片图片,通过MAT查看OOM异常时的Dump文件,诸不也能 类,这就让升级到架构师所还要的基本功。    

    全都当朋友在有有一个多 公司成为熟练工,达到“舒适区”就让,一定不也能局限于每每各自 所被分配的活。可能性再达到高级开发的水平后,一定有可能性接触架构配置调优等方面的活,这就让,有条件的最好能亲身参与,可能性没条件,哪怕看配置看流程看代码也行。 

4 架构师得从底层代码深度图,进一步查看实现细节

     java语法谁都是,但从初级开发,高级开发和架构师等不同的视角,关注的点一定不同。

     初级开发会专注于“如可调用”和“如可也能保证不也能 语法和逻辑上的问题图片图片”,高级开发会根据当前需求选用其他至少的语法点,比如遇到高并发会选用“多进程 池”,遇到NIO类需求时则选用netty,而架构师则还要在使用各种组件时,进一步了解各种坑。

    比如在使用netty时,则还要了解如可避免半包粘包问题图片图片,在使用堆外内存时如可保证能正确回收内存。这就要求高级开发在升级到架构师的路上,更得关注必要的底层代码,比如netty里LengthFieldBasedFrameDecoder避免半包的实现代码,以及DirectBuffer偏离 的相关代码。

    推而广之,除了netty之外,高级开发在“会用分布式组件”的基础上,更得从高可用(一台down了能自动切换)高并发(这固然了)集群上下功夫,这不也能有有一个多 个组件每每各自 看一遍,网上这类资料不少,比如我前几天看一遍篇阿里架构师面试指南,后面 针对各组件提了不少问题图片图片,朋友也能 逐一对比,根据问题图片图片查看底层实现细节。

    对高级开发而言,组件可能性就让有有一个多 个jar包,但对架构师而言绝都是从前,比如某个基于netty的系统有一个多 劲有一个多 劲出现OOM异常,不也能 架构师首先得熟悉netty jar包里的底层代码,而且 必要时,得debug进有有哪些底层代码,可能性通过dump文件发现现有系统在使用堆外内存时未释放内存的点。

    看底层代码,说起来容易做起来好快,要看一遍有哪些程度?如可也能不拘泥于细节?我目前的体会是,第一看流程,从流程里看其他组件的关键模块和重要法律方法,第二还是结合阿里架构师面试题里的问题图片图片,比如提到dubbo底层通讯协议,不也能 就把对应的模块和对应的法律方法看一下。

5 架构师的思维:更得让架构切合业务,还得控制风险

    记得我在入门架构师的开始英语 阶段,有一个多 劲很理想话,有一个多 劲会画出有有一个多 避免高并发的框图,后面 含晒 了各种组件,这不算错,但就让第一步。

    在大多数场景里,架构师都是从零起点设计,就让还要结合现有系统的各种痛点改造系统。举个例子,当前数据库性能好快,可能性有钱语句,比较直接的法律方法是升级到oracle,但往往不现实,全都架构师也能 搭建多个mysql实例,而且 用mycat做分库分表。而且 ,从单库切加上分库分表时,得考虑到,万一切换失败,我该如可回退,由此也能 设计出开关和汇总表等方案。

    不也能 高级开发如可在这方面提升每每各自 的能力呢?不也能跟在架构师后面 ,仔细分析具体的设计方案。俗话说,熟读唐诗三百首,无需作诗也会吟,而各公司几个会其他线上的组件,朋友也能 通过看配置文件以及架构的工作流程,而且 ,在上线有有一个多 新架构方案时,也能 多了解下避规风险和回退的方案。 

6 实践也能提升,那如可没实践可能性如可提升?

    今年我在加入到有有一个多 互联网公司后,可能性有可能性接触到各种架构,全都感觉有所提升。相比之下,我就让在一家外企,在架构方面更多的是“看视频看组件”,而且 在组内分享架构的内部代码(总之就让实践的可能性很少),全都在那段时间里,每每各自 感觉进度速率单位不快。

    要应聘架构师的职位,首好快有相关实践经验, 但对其他没可能性实践的朋友来说,该如可办?就让我的做法是,看资料,而且 冒充每每各自 是架构师去面试,但这好快,可能性有经验的架构师级别的面试官,一看就能看出是真实做过还是理论经验。下面就让些真实有效的做法。

    1 也能 在现有公司,多申请干些系统上线系统维护方面的工作,在外企,这类职位叫Support,在国内公司叫“系统运维”,具体的工作是负责把系统部署到产线上,以及在产线上搭建各种诸如oracle,mysql, nginx,mq等组件,有有哪些岗位在各公司都是,可能性有可能性,最好是能在这类岗位上干一段时间,可能性没可能性,就也能 跟相关人员混熟,而且 看些配置,了解些架构搭建的法律方法。

    2 遇到架构方面的方案评审,尽可能性多参加。组内可能性有架构方面的活,尽量多做些,刚开始英语 一定是无需,无需的就让千万别怕丢脸,多跟着熟悉架构的同事后面 多问,多看看人家是如可排查和调试架构方面的活,一来二去就熟悉了。

    我也见到过一群人,所在的公司用的技术比较传统,在整个公司里都不也能 可能性用到分布式组件架构,不也能 不也能 律方法了,要么每每各自 看资料每每各自 练习(这我觉得效果固然好),要么每每各自 找个可能性跳到互联网公司。

7 总结,求推荐

    说到底,升级的诀窍不也能是多观察多揣摩多实践,而升级路上的艰辛,真的是如人饮水,冷暖自知。

    每每各自 尚属勤奋,全都我觉得天赋一般,在升级的路上也是一波三折步步艰辛,但在坚持之下,自认为也算其他进步,全都尚敢写些心得供朋友参考。

    可能性朋友感觉本文有所帮助,请帮忙推荐此文,可能性感觉文章内尚有缺陷,也请通过评论多多帮助每每各自 ,每每各自 不胜感激。

    关于转载有如下的说明。

    1 本文可转载,无需告知,转载时请用链接的法律方法,给出原文出处,别简单地通过文本法律方法给出,并肩写明原作者是hsm_computer。

    2 在转载时,请原文转载 ,如要在转载修改本文,请就让告知,谢绝在转载时通过修改本文达到有有助于于转载者的目的。