但是,这次真的是系统架构师这个考试最有价值的技术类XMIND了。
如果感觉图片模糊,请将图片下载,或放大图片。(图片绝对清晰)
一,XMIND:
二,补充:
日常补充一下。这个XMID真的不够详细,这个XMIND真的学习起来,够人学习许久。每个分类都可以写一本书,比如主要中间件又分RPC,RMI等等。表示,额,自己努力吧。
系统架构风格,可以说是架构师考试的最闪耀的一块儿了(想想这个资格叫什么,架构师!!!)。架构的重要性不言而喻,记得曾经在那里看到这样一句话,不是架构师的程序员终将被淘汰。其所要表达的是,只有走到了架构师这个层次,你才可以把握技术的发展思想与脉搏,跻身于IT技术的一线。
其实,这句话也没说错。因为绝大部分程序员大多分两种情况。一者,身处中小公司,处理的系统往往陈旧(由于公司资金不足,技术不重视等原因),不健全,乃至畸形。这样的系统无法为维护它的程序员带来主流技术的认识等,使得这些程序员缺乏成长的土壤。二者,身处大公司,往往能接触到大系统,主流技术(当然也不绝对,也有部分公司的部分系统还是采用陈旧,乃至淘汰的技术。至于原因,以后有机会再谈),但是往往自己负责的一个非常小的块,难以管中窥豹,了解系统架构。当然,也不是没有出头之路的(否则那来的架构师)。前者,需要的是多询问自己,如果系统遇到各种情况,如何解决(性能瓶颈,部署问题,可靠性等质量属性问题或非功能需求问题)。这个时候,我就可以安利一波书籍了。推荐《尽在双11:阿里巴巴技术演进与超越》,《大型网站系统与JAVA中间件实践》,《大型网站技术架构演进与性能优化》(就是该系列第一篇博客里推荐的书籍),这些书籍大多从系统演进(从单机服务器到分布式集群服务器等)与发展主题(性能,可靠性,安全性等)两个维度解读了现有系统与架构。后者,需要的则是按图索骥,多看,多问,多学习。后者相对前者,已经有了一个很好的模板放在眼前(虽然自己不一定能拿到太多代码),但是你可以问啊。不同于中小公司程序员多是野路子(不是野路子,也会渐渐变成野路子)。后者的上司大多有着更为广阔的视野(也许在某些具体领域不如你,但请不要轻视他,耐心多相处相处,你就会发现他的好),更为专精的领域,更为友好的管理等,这些都值得后者去问,去学习。
当然,这些都是日常,还有一个方式和一个机遇告诉大家。程序员怎样怎样快速提升自我价值和收入(别说我俗,不考虑这个,你哪来的钱去买书,报班,买服务器.etc),那就是跳槽。没错,就是跳槽。可能有些人会很抵触这种行为,认为跳槽是一种背叛老东家的行为。其实,刚毕业的时候,我也是这样想的(而且我是一个很懒,很不想动的人)。直到我连续被东家卖了几次,我才得出一个宝贵经验。你把老东家当兄弟,老东家只是把你当作机器或者商品(当然这只是大部分情况,我也遇到可以谈感情的东家,然后他的公司倒闭了,倒闭了。。。)。我表哥就是清晰地认识到这点。他是在卡内基梅隆大学读的研究生,研究生毕业就抛弃了他的实习东家,进了甲骨文。紧接着不到一年,又跳槽进了谷歌。他给了我一句话,程序员,不跳槽怎么涨工资,怎么提升工作环境(当时不懂,唉)。所以,不要有心理包袱。想要和别人谈感情,先想想,别人怎么看待你的。至于机遇嘛,就是公司系统实在撑不下去了,必须要更新换代了。这个情况是肯定有的,虽然比较难遇到。。。这个时候,你要做的就是两点:第一,平时多表现一点自己的能力和对新知识的认识(尤其,当你提到要做新系统了,新系统要使用memcache技术,立马去看,去学。如果不用,就当多学了点);第二,一定要充分,坚决,不要脸地挤进开发组(该争取的时候,还是要争取的)。说实话,新系统的开发一定是很辛苦的(常常是数月,乃至一年多的加班时间),但是学到的东西,是平时完全学不到的。另外,切记要总结,总结,总结。如果这个时候,你还依旧只是站在以往的视野,机械地撸代码。我只能说,还是放弃吧。因为新系统开发的时候,你所接受的知识冲击还是有的,去总结,去适应。另外,这个时候,你也可以多问问你的上司(专门的问题,问专门的人,不过别忘了本职工作)。要说的太多,有机会,以后再说吧。