Kafka是一个高度可扩展的消息系统,它在LinkedIn的中央数据库管理中扮演着十分重要的角色,因其可水平扩展和高吞吐率而被广泛使用,现在已经被多家不同类型的公司作为多种类型的数据管道和消息系统。
那么,如何学习Kafka源码??
我觉得最高效的方式就是去读最核心的源码,先看一张 Kafka结构图 以及 Kafka 源码全景图
1.三重心智模型
先给大家科普一个概念,“三重心智模型”。
认知科学家斯坦诺维奇,将人的心智模式,分成了三个部分。
第一层是自主心智,自主心智是我们通过进化与内隐学习获得。比如,我们看到蛇就会害怕,情绪反应,以及文气,车感,网感这些说不清道不明的内隐知识,都是被自主心智所控制。
第二层是算法心智,算法心智就是传统意义上智力测验,考察的能力是记忆、处理速度、逻辑推理等等。
第三层是反省心智,反省心智关注系统目标、与目标相关的信念、以及基于当前系统目标和信念的最优化行动。
拿一辆赛车打比方,自主心智就是赛车的轮子,自动运行,迅捷无比;算法心智就是发动机,井然有序,是赛车之所以成为赛车的核心动力;
而反省心智则更像是赛车的驾驶员,根据路面状况作出理性的判断,以此调节赛车的速度、转向以及刹车等行为。
2.心智与年龄的关系
回到刚开始的问题,为什么35岁之后的人,竞争力会下降呢?
因为随着年龄的增加,人的自主心智和算法心智都会下降,所以一般的需要热情,也就是自主心智的工作,确实会随着年龄增长而竞争力下降。而程序员这类需要算法心智的工作,也是过了35岁之后竞争力也随之而下降。
但是啊,有一类工作,最需要的不是自主心智,也不是算法心智,而是反省心智。
而反省心智随着年龄的增加,不仅不会下降,反而会上升,这就是中老年人的优势。
最需要反省心智的工作,都是一些需要理性的工作,比如管理工作,企业家,政治家,思想家,以及我们最熟悉的文字工作者。
拿写作这份职业来说,如果仅凭自主心智写作,写出来的文字就只有灵气而没有深度;
而且随着年龄的增加,自主心智开始衰竭,也就到了人们常说的江郎才尽的状态了。
写作这一行最难能可贵的其实是反省心智。
所以写作的人才是越老越有深度,20岁左右的年轻人,光有灵气,是写不出40岁中年人的底蕴的。看一看自媒体行业的,超级大v们,全部都是40多,50多岁的人。
如果说,发展自主心智与算法心智学的是一人敌的本领,那么,发展反省心智,学的就是万人敌的本领。
所以,年轻的时候选择一个,靠反省心智吃饭的手艺,是可以当做你一生饭碗的。
但是光靠年纪自然增长来获取反省心智,显然是不够的。
如何才能更加快速地增强我们的反省心智呢?请先容我卖个关子,待会揭晓答案。
3.知识强化反省心智
我们先一起来看看下面这个实验,认知科学家们找来了两组志愿者,一组是年轻人,一组是老年人;两组人的共同点是,他们都是棒球运动的爱好者。
实验人员给他们听了几分钟的棒球比赛的广播,然后要求参与者就刚刚听到的内容回答问题。
结果是,年轻人记住了更多解说员闲聊的细节;老年人却记住了更多比赛的细节。
年轻人的记忆更强健,更擅长记住新信息,这个好理解;
那为什么老年人却记住了更多比赛的细节呢?
因为关于棒球的知识,老年人比年轻人知道的更多,凡是涉及到棒球知识的细节,老年人就比年轻人,拥有更强健的记忆。
而反省心智最重要的基础,其实就是这种对过往知识的记忆。如果你是在不断地学习知识,那么你会拥有一个比年轻人更为强壮的大脑。
尾声
所以说,增强我们反省心智的第一法门就是,不断地读书与学习。
哪怕你一时半会儿在读书写作这个行业里赚不到足够多的钱,也不要着急,你在这个行业里面,打磨自己的阅读能力,写作能力的每一分努力都不会白费,因为这是在为你自己的一生,积蓄力量。
热爱是精通的副产品。
什么都不要想,先进入这个行业,你才会大量阅读;在精通阅读写作之后,你才会真正热爱阅读,并且成为一生的习惯。
生命是一个长期积累的过程,没有白走的路,每一步都算数。
如果你想开始写作,
最好的时间是十年前,
其次就是现在。
最后的内容
在开头跟大家分享的时候我就说,面试我是没有做好准备的,全靠平时的积累,确实有点临时抱佛脚了,以至于我自己还是挺懊恼的。(准备好了或许可以拿个40k,没做准备只有30k+,你们懂那种感觉吗)
如何准备面试?
1、前期铺垫(技术沉积)
程序员面试其实是对于技术的一次摸底考试,你的技术牛逼,那你就是大爷。大厂对于技术的要求主要体现在:基础,原理,深入研究源码,广度,实战五个方面,也只有将原理理论结合实战才能把技术点吃透。
下面是我会看的一些资料笔记,希望能帮助大家由浅入深,由点到面的学习Java,应对大厂面试官的灵魂追问,有需要的话就戳这里:蓝色传送门打包带走吧。
这部分内容过多,小编只贴出部分内容展示给大家了,见谅见谅!
- Java程序员必看《Java开发核心笔记(华山版)》
- Redis学习笔记
- Java并发编程学习笔记
四部分,详细拆分并发编程——并发编程+模式篇+应用篇+原理篇
- Java程序员必看书籍《深入理解 ava虚拟机第3版》(pdf版)
- 大厂面试必问——数据结构与算法汇集笔记
其他像Spring,SpringBoot,SpringCloud,SpringCloudAlibaba,Dubbo,Zookeeper,Kafka,RocketMQ,RabbitMQ,Netty,MySQL,Docker,K8s等等我都整理好,这里就不一一展示了。
2、狂刷面试题
技术主要是体现在平时的积累实用,面试前准备两个月的时间再好好复习一遍,紧接着就可以刷面试题了,下面这些面试题都是小编精心整理的,贴给大家看看。
①大厂高频45道笔试题(智商题)
②BAT大厂面试总结(部分内容截图)
③面试总结
3、结合实际,修改简历
程序员的简历一定要多下一些功夫,尤其是对一些字眼要再三斟酌,如“精通、熟悉、了解”这三者的区别一定要区分清楚,否则就是在给自己挖坑了。当然不会包装,我可以将我的简历给你参考参考,如果还不够,那下面这些简历模板任你挑选:
以上分享,希望大家可以在金三银四跳槽季找到一份好工作,但千万也记住,技术一定是平时工作种累计或者自学(或报班跟着老师学)通过实战累计的,千万不要临时抱佛脚。
另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。
作,但千万也记住,技术一定是平时工作种累计或者自学(或报班跟着老师学)通过实战累计的,千万不要临时抱佛脚。
另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。
以上文章中,提及到的所有的笔记内容、面试题等资料,均可以免费分享给大家学习,有需要的话就戳这里打包带走吧。