做的更多,做的比你主管安排给你的任务更多。
要知道这个世界上没有完美的东西,你负责的系统和业务,总有不合理和可以改进的地方,这些“不合理”和“可改进”的地方,都是更高级别的怪物,打完后能够增加更多的经验值。
诸如此类问题还有很多,我这里分享一下个人的经验,其实就是 3 个词:
learning、trying、teaching
这个步骤就是解答前面提到的很多同学的疑惑的关键点,形象来说就是“自己动手丰衣足食”,也就是自己去尝试搭建一些模拟环境,自己写一些测试程序。
例如:
● 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,而且“试试”其实可以比较简单,很多时候我们都可以自己动手做
在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的,那综合能力强有这部分人机会是最好的。