阿里之路(一)

我是2015年6月研究生毕业,然后通过校招进入到阿里巴巴,当时复习时候目标很明确就是要进入BAT,然后就一堆堆资料的复习,本科+研究生7年用的都是c++,所以面试时候自然面试了c++职位,但是面试时候面试官说我们只要Java,你愿不愿意做Java方面开发,自然愿意啊,当时啥都没想,就进入了现在的部门做Java后台的业务开发。

进入职场最直观的感受是凡是要靠自己去摸索,去研究,最多业务或者技术点上同事和老板会给你指点一下,但是具体具体细节还是需要自己去花时间去研究的,毕竟别人都有自己的工作的,即使工作不很忙,人家还想干点自己的事情的。

阿里的系统大多文档不是很齐全,所以需要自己看代码+咨询业务的方式来理清脉络。自然看代码debug是不可缺少的步骤。在转正前都有三个月实习,这三个月时间完成了对第一个业务系统的代码逻辑的熟悉,熟悉后就会发现这个系统并不复杂,都是固定的执行线路。

空闲之余开始看开源框架源码,说起看源码这不得不感谢前同事了元(花名),了元是一个牛逼哄哄的技术牛人,无论是Tomcat,JVM调优,Calssloader,并发编程,OSGI,JNDI等他都很深入的了解,感觉技术上就没有他不知道的,并且喜欢研究开源框架源码。一开始了元是带我看Spring的源码,我感觉很吃力,但是花了大概1月时间对Spring框架有了一点认识,然后就磨磨蹭蹭的看完了Spring IOC和AoP的代码。

对于看源码有一点感触,就是先找一个demo,分析运行结果,然后debug进入,在debug过程中要干两件事情,第一画出模块类图结构,第二画出时序图。好处在于debug完后你会清楚的看到这个框架的这块功能是有哪些模块类组成,每个模块类对这个功能的实现提供了哪些能力等等,这对你理解这个功能的设计有一定帮助,另外时序图有助于你了解这个功能的执行逻辑,当你下一次想看这个功能的某些实现时候,你可以根据时序图直接找的你感兴趣的类,直接进入研究。

看完Spring源码的大部分源码后,就开始看Tomcat了,自然这个一方面是受了元的影响,一方面是自己的兴趣,tomcat里面内容还是比较多的,有空就翻翻,研究tomcat一个心得是首先从main函数开始看tomcat的各级容器是怎么初始化,启动的,然后在分析一个请求过来后是怎么处理的。建议先看一点网上的资料对tomcat的整个结构体系有个了解,然后再看代码会事半功倍。

当然后面有看了Velocity,mybaits和阿里的大部分中间件代码,看源码最大的好处是可以开阔你的思维,提升你的架构设计能力,有些东西书本和紧靠自己思考是很难学到的,必须通过看源码,看别人如何设计的,然后思考为何这样设计。能力的提高判断不在于你写了多少代码,做了多少项目,而在于给你一个业务场景时候,你是否能拿出几种靠谱的解决方案。而如何才能拿出来那,一来靠经验,二来靠归纳总结,而看源码,看经典框架如何实现的,则可以快速累加你的经验。 ......

随着2年积累,你会慢慢发现自己之前的积累实在是太浅了,学的东西太基础了,那么如何才能在把自己提高一个层次那,那就不要甘于做纯碎堆积代码的业务了,去中间件吧,去淘宝吧,在那里高并发,高流量的挑战等着你去被虐-。

最后发表下感慨:良禽择木而栖,努力很重要,选择更重要。

在新岗位要适应一段时间,熟悉新系统,后面会在写下淘宝中间件部门的感受。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构

架构的演进, 阿里资深Java工程师表述架构的腐化之谜

21250
来自专栏微服务生态

关于分布式调度框架的一些优秀资源总结

http://www.cnblogs.com/zuoxiaolong/p/niubi-job-3.html niubi-job 社区资料少,群(包含作者)活跃...

12420
来自专栏java一日一条

微服务与Java EE

时至今日,基于微服务的架构已经随处可见了。我们见识到了Netflix与Amazon等创新者是如何通过微服务来取得业务上的成功。不过,对于那些使用Java EE服...

11410
来自专栏Cloud Native - 产品级敏捷

Cloud-Native 微服务开发元素卡: 高效搞定 Cloud-Native 微服务的持续交付

所以, 我们是不是只要拥有了如上图的持续交付的 “价值流”, 就能保证我们能按照外部用户的诉求, 快速的交付, 甚至是能做到按需的交付?

626170
来自专栏大数据

Flume日志采集应用架构升级与重构

转眼新的一年又来了,趁着这段时间总结下2017这一年的工作经验,避免重复踩坑。MOB数据采集平台升级也快经历了半年时间,目前重构后线上运行稳定,在这过程中挖过坑...

34790
来自专栏CSDN技术头条

微服务的架构就是完美的吗?

微服务架构的技术体系、社区目前已经越来越成熟。在最初系统架构的搭建,或者当现有架构已到达瓶颈需要进行架构演进时,很多架构师、运维工程师会考虑是否需要搭建微服务架...

21230
来自专栏ThoughtWorks

软件测试新趋势 | TW洞见

今日洞见 文章作者/图片来自ThoughtWorks:林冰玉。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网...

437100
来自专栏云计算

信“云”你就输了,它不仅仅是安全问题

随着亚马逊的网络服务收入在去年达到了50亿美元(正如亚马逊的财务报表所报告的)和Bessimer公司在 2014年170亿美元的云计算收入,可以看出很多公司都...

22200
来自专栏Golang语言社区

如何让服务器从30台缩减到2台的:从Ruby迁移到Go语言

我们开发第一版的IronWorker已经是3年前的事了,是用Ruby写的,API基于Rails开发。我们没用多久就发展成了相当大的规模,很快我们就触及到了Rub...

400150
来自专栏云计算

迁移到微服务架构

在这篇文章中,我将介绍我对于一些微服务相关问题的看法。第一个问题是为什么金融科技公司应当把遗留的传统架构应用迁移到现代的架构风格上;其次,如何在这一范式迁移过程...

29960

扫码关注云+社区

领取腾讯云代金券