专栏名称: 石杉的架构笔记
专注原创、用心雕琢!十余年BAT一线大厂架构经验倾囊相授
目录
相关文章推荐
银行家杂志  ·  索利多金币和迪拉姆银币 ·  2 天前  
银行家杂志  ·  中国外贸信托卫濛濛:提升信托服务质效 ... ·  3 天前  
大数据文摘  ·  Grok 3第一个破圈的场景,居然是写小黄文。 ·  4 天前  
数据派THU  ·  数据派志愿者招募 | 寻找最志同道合的你! ·  2 天前  
CDA数据分析师  ·  Deepseek爆火,CDA持证人如何确保不 ... ·  4 天前  
51好读  ›  专栏  ›  石杉的架构笔记

DOTA 2 中国“惨败”,作为程序员的我们能从中学到些什么?

石杉的架构笔记  · 公众号  ·  · 2019-08-28 08:47

正文

点击下方二维码,试听课程:

《21天互联网Java进阶面试训练营》 (分布式篇)



本文是公众号读者再见伐木机的投稿


前言:人生而平凡,大多数的人和我一样都是普通人,没有谁天赋异禀,靠的是三九寒冬,囊萤映雪,悬梁刺股,勤学苦练......


随着一场盛大的TI比赛落幕,今年的奖金池飙升到了3425w美元,而曾经的中国队可以抗衡世界的局面已经分崩离析了


从一个程序员的视角来看,这次的比赛告诉了我们什么?我们能够学到什么?


  1. 超强的个人能力,单兵作战的时代已经远去,墨守成规的打法,不变的“四保一”战术,在这个时代,不管用了......

    解决方案 灵活多变,触类旁通,多学习别人的战术,战略,抱团取暖,团队成长,这不是一个人的游戏.

  2. 同样的错误多次再犯,你的比赛需要你动脑筋,小学生都知道犯错了还记录在错题集上。

    解决方案 复盘每一次失误,吸取每一次教训,加固每一处弱点,夯实每一滴基础。


正文: 上面其实扯的有点多,而本文的主要目的: 是想从我的角度去给大家一些建议,在这极大竞争和挑战的程序员行业,该如何脱颖而出,该如何快速成长?


之前的面经《不服输,你就不会输!》反响很好,很多人给予我反馈说学到了很多学习方法和面试技巧,也有很多人会加我微信进行更深层次的讨论


而我主要的目的就是给大家带来一些共鸣,能够让大家获得到一些东西。


我这段时间大概遇到了这么几种人:


  1. 刚毕业的,不知道如何快速成长的

  2. 毕业几年了,但是一直做一些很简单的项目,项目没有任何亮点的

  3. 有一定的技术实力,也去面过大厂,但是最后几轮被挂了的

  4. 工作几年但是已经有家庭了,没有很多时间用来提升自己,也一直干着一些业务堆叠的活,浑浑噩噩,感觉再过几年就看到了职业生涯的结束


下面我们来看 解决方案, 上述四种人,总结起来主要是下面的问题:


  • 我根本不知道我该怎么办呀?

  • 我该怎么提升我自己?

  • 我该怎么进大厂?

  • 我该看什么书?

  • 我该学什么技术?

  • 我这阶段缺什么?

这些朋友 迷惘 ,嘴上说着奋斗,心里呐喊着前进,但其实拖延,懒惰早已控制着大脑,让他们无法再改变自己的生活状态了”


但.......呼吸不止,战斗不止;没有谁愿意累死累活的去学习,只是我并不想输而已......


那么,你该怎么做?对,你该怎么做! 很多人希望别人给个方法,然后自己只要照着做就能成功就好了


但其实这很不现实,毕竟每个人的方法都是隶属于个人,一个萝卜一个坑,我的不适用于你的......


我标蓝的这句话大家应该听过无数遍,心里肯定也是痛骂过:MMP,不适合所有人,你还说来干什么,我就是想别人告诉我,我就是找不到怎么做。


其实我也有过这种想法,所以我很能理解,这种情况是基于你的知识量还不够,自我认知还不明确,自我分析和举一反三触类旁通的能力太薄弱.


所以我通用出一套模型给大家,你可以学习着这么做,不会让你走到最适合你的道路,但绝对也不会很差......


我下面这段话其实有一个前提:是你目前是想换工作去面试,还是想慢慢发展自己,不着急跳槽的两种人。


你的项目没有亮点,全是CRUD的业务堆叠,那我建议你,先入手几本书《重构》,《cleancode》,《大话设计模式》


如果你不愿意看书,那么去慕课网找一个《java设计模式精讲》,把里面的每一个例子,每一个uml图,每一个源码运用到的设计模式都看完,写一遍,记住。


这几步的目的,是让你能够在一群同样写业务的程序员里面脱颖而出,写出漂亮的代码,精简,通用,抽象。


之后产品给你的业务需求,你可以好好构思这个需求如何设计,如何抽象出来,以后需求再变应该怎么设计代码可以更少的修改


这样子你脑海中会把23种设计模式都走一遍,你会去筛选哪一种最合适当前的业务,前期的运用就是这样,叫做 强行使用,刻意去用


当你越用越多之后,一个需求下来你会很敏感,你会知道怎么写,怎么抽象,怎么精简,用哪种设计模式,用它有什么好处,换一种有什么缺点等等等......


至此为止, 你简历上的第一个亮点: 代码优雅,设计雅观,通透的理解设计模式已经出来了。


当你的代码写的很漂亮之后,这时候就要进一步去研究你们当前业务能够去增加哪些框架技术


毕竟没有那么多大业务量的公司,也没有很多并发量很高的公司,所以你选择一些适合当前公司业务的技术。


譬如,你们现在还是一个单体,单服务也能在线上跑的活灵活现,但是你的技术栈不能止步于此


你可以去看dubbo,zk,或者springcloud 对你们的服务进行拆分,你要知道从单体拆成微服务的过程你会学到多少东西?会碰见大量的问题......


当然很多人会说我的领导不同意我去拆服务,那么你可以去和领导协商,拿出纸笔罗列出优缺点1234......


但领导可能还是会不同意,而且这也不属于你的kpi,那么你就按照单服务多机器冗余部署的方式进行运用这些框架


当然用这些框架的过程中必然会遇到很多问题,你会去查百度,查谷歌去解决,但是很有可能解决不了


这时候你就开始进行 第二个亮点:源码阅读解决线上问题


通过一些框架的利用,你肯定会好奇这些框架做了什么,会帮你干些什么,你如果说我不好奇,那么我无话可说......


很多人说阅读源码好难哦,乱七八糟,各种设计模式,类也特别多,debug的时候跳来跳去.


我建议初次读源码最好去找视频,毕竟有些人可能英语也比较差,让他读官方文档也看不怎么懂,找这个技术的源码剖析视频或者一些博客,这样子你会很快速的入门这个框架


等你看完视频或者读过大量的博客之后,你会灵活使用api了,这时候可以去官网看看有没有一些新的发现


然后,你可以自己打断点开始走一遍这个框架比较重要的流程代码,然后运用我们之前的联想记忆,把他的流程画出来


但是你肯定有很多不理解作者为何如此设计的地方,没事跳过去,所谓书读百遍,其意自现...... 很多东西别人教不出来,真的当你读和理解很多遍的时候,你会 顿悟 ,这种感觉很爽,值得大家去尝试一下......







请到「今天看啥」查看全文