抽时间更新。这几天事太多。
这个文章还是《技术面试系列》,上一篇文章看这里 《 关于技术面试的一点点体会 》 ,还是我在协助面试很多人后的一些体会。不是很长。
适合那些刚入行或者工作有几年的同学们。
今天的话题是: 早点建立自己的知识体系 。
之前跟几个前同事聊天,聊起招人,吐槽吐槽着聊到这个话题。关于技术人的知识体系的问题。
知识体系其实不光适用在技术人的技术建设上,个人的知识体系建设也很重要。
常见的几个问题,看看大家有没有体会:
一、经常过度陷入技术性细节中
这个表现在什么地方?比如我问你一个问题,xxx功能是如何实现的?很多同学就开始从功能、表结构等等开始讲,很少站在一个系统设计的角度讲这个功能的上下游,为什么需要,为什么不用其他方案。
二、懂的框架太多太杂,全是知识点
数据开发的同学们尤其严重,有些同学在简历上罗列的框架不少于30个。 没有基本的工程能力,上来就是分布式、流计算,搞不清楚数据开发在整个企业技术架构中的上下承接关系,后端基础几乎为0。
对于数据这个点来说,搞不清10年来是如何发展到今天的,过度追逐新的框架,人云亦云,盲目上马。对于技术框架解决的业务问题思考过少。太多人问我用不用Pulsar、用不用Flink了,我怎么回答你?你首先要清楚Pulsar、Flink解决了别人解决不了的什么样问题,去翻官网,自己搞个脚手架玩一玩,而不是看到Pulsar吹自己要替代Kafka,Flink吹自己吊打Spark,所以就要用吧。
三、后端基础几乎为0
我可以很负责的告诉大家,一个没有后端开发基础、没有工程能力的数据开发是不合格的,严格意义上都不能被称为开发,不如叫数据分析师或者运维开发好了。所以做过后端的同学们,这是你的天然优势,Spring从0几年开始迭代至今快有20年了,从Spring1.x到Spring Boot的问世,没事就看上一眼,Github有海量的Demo可以一键跑起来,后端技能万万不可抛弃。
Java的后端生态是所有语言中最强大,最全面的。发展至今已经成了互联网的基石,是很难轻易替代的。这也是大多数大数据框架选择Java开发的原因之一。
四、自己画个思维导图,看看自己的技术栈是否完整
不知道有多少同学有这个能力能白板画出自己的技术栈和语言基础栈,你会哪些东西,这些知识点是如何关联的,各自适用于什么样的场景。
有多少人能画出Java JUC这个包下的常用类的关系来,类似下图。
如果你工作3年以上,能徒手画出这样的类图是基本能力,然后不用别人问你问题,自己都能知道哪里是考点。
这就跟一个考研的同学需要能徒手画出专业课的知识架构来一样是基本要求。
建立自己的知识体系不是一件容易的事,需要大量的外部输入,看大量的文章和别人的经验,也需要强大的执行力。看是一回事,消化掉融进自己的知识体系是另外一回事。
每天我们都被海量的点状信息不断轰炸,各个门户网站、 公众号 的文章应接不暇,很多人保存一下就没下文了,很可能几年都不翻。我的习惯是,看到一篇好文章,觉得可以实践就立马保存,然后抽时间把他的东西整理一下,整理到自己的学习文档中,附个连接上去。久而久之,随着你自己整理的东西越来越多,整个知识就会像一个Xmind图一样印在脑海里。
没有这样的技术大图在脑海里,如何做技术选型,如何做技术架构?
这件事越早做越好。
原文 http://mp.weixin.qq.com/s?__biz=MzI0NTIxNzE1Ng==&mid=2651218947&idx=3&sn=e8df383942c0d2c2bef1f08387c080a5