1.阿里codelife.md

如何快速成长为技术大牛?

Do more

做的更多,做的比你主管安排给你的任务更多。

Do better

要知道这个世界上没有完美的东西,你负责的系统和业务,总有不合理和可以改进的地方,这些“不合理”和“可改进”的地方,都是更高级别的怪物,打完后能够增加更多的经验值。

Do exercise

诸如此类问题还有很多,我这里分享一下个人的经验,其实就是 3 个词:
learning、trying、teaching

Trying

这个步骤就是解答前面提到的很多同学的疑惑的关键点,形象来说就是“自己动手丰衣足食”,也就是自己去尝试搭建一些模拟环境,自己写一些测试程序。

例如:
● Jvm 垃圾回收:可以自己写一个简单的测试程序,分配内存不释放,然后调整各种 jvm 启动参数,再运行的过程中使用 jstack、jstat 等命令查看 jvm 的堆内存分布和垃圾回收情况。这样的程序写起来很简单,简单一点的就几行,复杂一点的也就几十行。

● Reactor 原理:自己真正去尝试写一个 Reactor 模式的 Demo,不要以为这个很难,最简单的 Reactor 模式代码量(包括注释)不超过 200 行(可以参考Doug Lee 的 PPT)。自己写完后,再去看看 netty 怎么做,一对比理解就更加深刻了。

● MySQL:既然有线上的配置可以参考,那可以直接让 DBA 将线上配置发给我们(注意去掉敏感信息),直接学习;然后自己搭建一个 MySQL 环境,用线上的配置启动;要知道很多同学用了很多年 MySQL,但是连个简单的 MySQL环境都搭不起来。

● 框架封装了 DAL 层:可以自己用 JDBC 尝试去写一个分库分表的简单实现,然后与框架的实现进行对比,看看差异在哪里。

● 用浏览器的工具查看 HTTP 缓存实现,看看不同种类的网站,不同类型的资源,具体是如何控制缓存的;也可以自己用 Python 写一个简单的 HTTP 服务器,模拟返回各种 HTTP Headers 来观察浏览器的反应。还有很多方法,这里就不一一列举,简单来说,就是要将学到的东西真正试试,才能理解更加深刻,印第安人有一句谚语:I hear and I forget. I see and I remember. I do and I understand,而且“试试”其实可以比较简单,很多时候我们都可以自己动手做


3.IT行业之道法术器势.md

在IT行业中,除了码农,还有各色服务行业的支撑,张江高科的租房客,看看机会的猎头,朋友圈网上的脱发广告,等等,确实很繁华。印象中,一年一个风口,资本在这里提供了一个加速度,让不同的猪都可以飞上天,拿到头奖的就可以升级为独角兽。

作为一个普通的IT从业者,怎么定位,在正确的方向并做正确的事特别重要。大致从业者可以分为想快速挣钱的转行的,想成为技术大神的,或者在某个行业立足就可以了。也有些人找准了定位,最后落在一家公司成为技术骨干,或者转高级管理,当然选择创业是很少。

IT行业还有个潜规则,加班多,所以身体锻炼好的是潜力股,也是长线股。

好,那我们聊下IT行业的道法术器势吧,只是一家之言,不爱看勿喷。

道,在《道德经》中有原句解释(第二十五章):
道:有物混成,先天地生.寂兮寥(liáo)兮,独立而不改,周行而不殆,可以为天下母.吾不知其名,字之曰道,强为之名曰大.
道家传承来讲,
它强调四个字,叫“道、法、术、器”.
“道”是天道,“法”是人定的,就是说你该怎么跟着“天道”去做.
“法”也有善恶之分.顺应天道的“法”就是善法,相反,违背天道的“法”就是恶法.
“术”是指技术层面上的操作方法.
“器”是指有型的物质或是有形的工具.

我想从IT从业者的角度来看这个问题。

首先是道,我们知道IT的意思是information techlogogy, 就是信息技术,信息怎么才有价值呢?传递才有价值,就像货币一样,必须有交换。

1969年10 世界上的第一封电子邮件是由计算机科学家Leonard K.教授发给他的同事的一条简短消息“LO”,本来是发送LOG的,结果发到一半,系统就bug了。

道不可言说,吾常无以观其妙,常有以观其徼。IT行业瞬息万变,万变不离其宗,周而复始,需要自己领悟。

谈谈法,法的话是一些定律,或者是规范共识,比如操作系统、协议、语言规范等等。
《浪潮之巅》中,吴军对IT产业总结了6大规律:
摩尔定律
安迪-比尔定律
反摩尔定律
721定律
罗威格定律
基因决定定律

上述规律貌似可以理解是从软硬件发展,以及IT企业态势的窥探。
从IT行业技术原理来看,离不开数据结构、算法、架构,可能量子计算机普及会有新的模型出现。

IT应用,中国发展应该说最好的,满大街都是微信、支付宝、各种二维码、app广告等。但是从2019年来看,经济下行,行业从业竞争越来越大,很多公司裁员。
在这个背景下怎么保持自身的优势呢?很多微信公众号在贩卖焦虑,什么10年不升总监都是不理想,IT企业数量有限,不可能说有那么多高级管理职位。

从术的角度,怎么在技术领域能前进下去呢?
首先需要给自己一个定位,你专注于什么,是偏向小公司发展机会大,还是专做一门技术成为专家呢?
找到定位了,就看用什么方法,如果是技术,我倾向于多总结思考,把东西反复看,这样才能理解深刻,还有就是深入一个技术框架,再做延展。
还有就是有机会进大厂一定要进大厂,和优秀的人学习。还有就是你发现做一件事情太累了,肯定是用错方法了。回头看下那里不对。
学习要当成是在享受才行。

从器的角度,来看,一定要有好的工具、好的学习方法。
从IDE、问题诊断工具、搜索引擎工具、电脑键盘来看,一定要选择趁手的。像学习的话,选择一些优秀的知识付费产品,也是很快的学习途径。

势的话,我理解就是做事的态度、积累的人脉、输出知识、分享获得的认同都是在积累影响力。

最后聊聊,怎么提高面试争力。

  • 有个好的光环
    ps:很多中小公司就想要找一个有一线大厂经验的,还有些中大型公司也明确要求必须大厂经验。

  • 某个领域特别精
    ps:有个同事深入kafka一年,那么刚好一个公司就招这方面人次,一拍即合。“一精多专真的很重要啊”。

  • 基础很扎实,或者综合能力很强
    ps:有些面试官很care技术,那么他会考察技术细节,如果回答很好肯定录取,还有些招技术leader的,那综合能力强有这部分人机会是最好的。


4.源码学习方法总结.md

框架学习

  • 生成类图,有个整体的概念
  • 找一个关键流程,把时序图画出来
  • 分析源码
  • 好的问题比答案重要,多提出一些问题,并找答案
  • 补充一些必备知识点,比如Random原理,需要知道线性同余算法
  • 框架运行的生命周期
  • 框架API学习
  • 自己造个简单胡轮子,慢慢填充
  • 贡献代码

中间件学习

  • 整体架构梳理
  • 5W1H,弄明白为什么,怎么样,以及使用场景和优缺点
  • 中间件社区和官方文档
  • 部署并测试,了解各个参数的含义,并测试
  • 模拟场景,验证结果,稳定性测试,性能测试等
  • 准备一些问题,并寻找答案
  • 类图、时序图、源码分析
  • 监控和调优
  • 定制和二次开发
  • 贡献代码

5.架构图.md

UML

https://www.ibm.com/developerworks/cn/rational/rationaledge/content/feb05/bell/


6.优秀技术文章.md

分布式

饿了么分布式服务治理及优化经验(含PPT)

搜狗驭风 pdf


Copyright © 2018 INSTALL.REN