01 开篇词:前端面试的知识体系与世界
我们整个专栏的知识体系规划如下:
去年年中我立了个 Flag,打算把关于面试的思考和沉淀给具象化。半年来,一边 996 一边研究自己做过的题、研究别人做过的题、研究自己出过的题和别人出过的题,现在,是我交作业的时候了。 关于方法论的思考
怎么建立面向面试的知识体系?似乎不管你去问谁,对方都只会告诉你:刷题!看书! 然而现实中,就算每个备战面试的同学都在玩命地刷、反复地看,但最终的结果仍是大相径庭的 —— 这是因为不同的人对学习材料的选择和运用不同。
有的同学比较幸运,能够几乎不走什么弯路、在有限的备战时间中迅速地搭建起自己的前端知识体系。但更多的人做不到、或者说没法一下就做到,此时你要做的不是一味地死磕和问责自己,而是向外去寻求一些帮助、尝试切换自己的作战模式 —— 一下不行,我们就两下、三下、四下去搞定它。 前端知识体系本身是庞大、琐碎的,在这样的前提下,又存在技术点迭代飞快、信息碎片化的特征。种种因素综合起来,使得前端面试的知识构建过程变成了一个漫长的、内耗极大的过程 —— 学习者不得不拉开一个相当长的战线,阅读大量的纸质书、电子书、面经和真题之后,筛除其中错误、无用的部分(新手或许还未必能够很好地完成这个过滤的过程),再像拼拼图一样把零散的知识块组装到一起,才能渐渐切入到面试这个 “局” 里来 —— 不容易,我现在想起来也觉得,真 tm 难啊。 跟上节奏,保持乐观
技术类内容是难啃的,如此海量的技术内容更是在挑战每一个同学的耐心和意志品质。有人说,“学习本身就不是一件容易事”,这话不假。但当一块知识的学习成本变得这么高、高到令人望而却步的时候,就意味着问题已经产生了,它需要被解决。正因为如此,笔者希望能创作一个大家能看得懂、看得下去的专栏,希望它能成为各位求职路上的一个亲切的伙伴,而不是一块让各位一想起就头大、可望而不可及的 “心病”。 “以面试为契机、帮助大家完成知识体系的搭建”,是这个专栏要带大家做的第一件事,也是最重要的一件事。做完了这份 “作业”,相信搞定一个 offer 对各位来说已经不成问题了。 做工程师,不做答题机器
话说回来,如果你的目标不仅仅是 “有一个 offer” 这么简单,而是想要挑战一份好工作、挑战大厂,那么各位还需要做一道 “附加题”—— 建立一套面向面试的思维方式。很多同学存在一个误区,认为我只要能记住那些繁复的知识点,比如闭包、上下文、某个轮子的特性之类的,我大概就 “无敌” 了。至于思维方式,这玩意儿听上去太虚了,不是我们做技术的需要关心的东西。 诚然,基本功确实每一个人都避不开的,但是在面试过程中,对面试官来说,他期望看到的并非一个没有感情的答题机器,而是一个具备强大思维能力的工程师 —— 一个能出活、能扛事儿、能解决问题的战斗伙伴。 “面向面试的思维方式”,如何定义、如何考察?如何将这种能力内化为自己的一套思维工具? 这就是我们专栏要解决的第二个问题。
这块知识,学起来比硬的技术点要费力多了 —— 它涉及到你对自己认知能力、认知水平的改造。我知道有的同学打开一份像这样的专栏,你可能就直奔着知识点就去了,迫切地想要解决一些相对具体的问题,从而刻意地忽略了这些更高层次、抽象的能力的学习。 不过没有关系,读就完了 —— 这部分知识会被我规划在专栏的最末尾处。习惯一个人说话,需要时间。相信在专栏的结尾、在跟我一起打了那么多大怪小怪之后,学习区区一个章节的 “面试思维课” 对你来说不会是什么难事。
此外,在搭建知识体系的过程中,我也会引导各位去思考 —— 这个题,为啥这样出?出这道题的时候,面试官在想什么?慢慢你就会领悟到,一道题之所以成为高频考题、或者说面试官之所以抓着某个点不放,一定有其背后的原因。如果能够理解面试官的脑回路,相信你在触及自己知识边界的题目面前,也能够巧妙地化险为夷、把握面试的主动权。