本文共 3572 字,大约阅读时间需要 11 分钟。
今天看到一个帖子说程序员怎么提升自己的技能,里面说了十多项,对自己感觉能有用的有以下几点:读书、读代码、读博客、写博客,回答别人的问题,参加一个开源项目,参加培训、研讨会。
回答问题当中给自己的思考:一个毕业生,做java转正了4k,一个室友IOS,平时学习努力转正了7.5,另一个啥也不会参加两月的培训也是IOs转正4.5!
和比人比不如和自己比。一天、一周、一月、一年只要有提高就是进步,多学东西,多总结,多以整体的眼光发展的眼光看问题、看自己、看前程。多思考自己达到哪个水平了,欠缺哪些东西,急需要提高的是哪些!自己衡量自己的价值!
5年Java开发,你已经积累了不少项目经验,扩宽了技术广度,也许已发力成为团队管理者。到了这个阶段,大家却常有这种感受: 感觉自己卡在瓶颈进步缓慢,技术水平很难像早期一样实现大幅突破?
其实大家往往忽略了这一点—— 提升自己的架构认知 。
架构的本质在于面对业务场景给出优雅的解决方案,使得业务能够快速迭代和持续交付,从而达到降本增效的目标。
提升架构认知高度,就像 达克效应 所描述的一样,要敢于从愚昧之巅跳到绝望之谷,通过爬升开悟之坡,从而达到架构认知的巅峰时刻。
到达巅峰时刻也就掌握了架构背后设计的哲学,面对具体业务场景在架构层面你便能够轻松应对,以无招胜有招。
提升架构认知, 要紧抓3个关键点: 业务洞察力、技术视野、原创力(执行 力) 。
这3点层层递进,最重要的是先把技术战略问题思考清楚,然后再进一步解决技术战术问题,最后是快速落地执行的问题。
工作5年左右的程序员,在原创力(执行力)层面比较有竞争力,往往欠缺技术视野以及业务洞察力。后面2点更加重要,这2点解决的是架构设计哲学问题, 是架构师能够持续拥有竞争力和影响力的立身之道。
举个场景的例子来详细说明:一提到分布式锁问题,大多数人想到的方案是基于Redis的Master-Slave模式来实现。这个实现方案行不行?分布式锁本质是一个CP需求,基于Redis的实现是一个AP需求,乍一看基于Redis的实现是无法满足的。脱离业务场景来谈架构都是耍流氓。
从技术战略的需求层面来看,如果分布式锁在极端情况下获取锁的不一致,社交业务场景能够接受,那么基于Redis的实现是完全可行的。如果业务是交易场景,分布式锁在极端情况下获取锁的不一致性无法接受,那么基于Redis的实现方案是不可行的。在锁强一致性的场景下,需要采取基于CP模型的etcd等方案来实现。
“于一微尘中,悉见诸世界”,一切事物的本质是相通、相同的。 学习架构也是如此,掌握了架构设计背后的哲学,那么一切工程问题也就迎刃而解了。
今天小编和大家分享一位以前面试的一位应聘者,工作5年26岁,统招本科。
以下就是他的简历和面试情况。
基本情况:
专业技能:
1、 熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务
2、 熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins
3、 熟悉Nginx、tomcat等的调优
4、 熟悉多线程、并发
5、 熟悉分布式协同框架Zookeeper、RPC服务框架Dubbo
6、 了解分布式消息框架Kafka、RocketMQ
7、 熟悉分布式缓存Redis、memcache
8、 熟悉分布式数据中间件sharding-jdbc做分库分表、读写分离
熟悉分布式搜索引擎ELK
教育经历:
面试过程:
总结:
面试过程中,大概聊了20分钟左右,自我介绍和项目聊了大概,8分钟,另外12分钟主要是聊了一些技术问题。这次问的相对来说不会太难,因为工作4年要16k薪资不是很高,最后还是没有给第二面的机会,主要还是觉得对技术深度不够
大家都知道,阿里P7高级技术专家,基本上是一线技术人能达到的最高职级,也是很多程序员追求的目标。达到 年入百万的P7 Java高级架构师级别,不仅要具备 优秀的编程能力和系统设计能力,在技术视野和业务洞察力方面,也要有很深的积淀。
最近技术大牛 马士兵 邀请他一位在阿里做架构师的朋友,整理出一份xmind——“Java高级架构师所需技术栈”,对于需要提升技术能力的初中级Java程序员们,提供一些学习方向上的借鉴和参考。需要这些资料的朋友可以添加下方图中VX即可
以下是小编保持的马士兵Java架构视频资源,如果有需要的可以关注我,扫码添加下方VX即可
转载地址:http://qjgii.baihongyu.com/