近3个月,筛选简历近百个,面试25+个,不管来自大厂还是小厂,千变一律的皮囊符合2:8原则(占80%),甚至更多。

千篇一律的“皮囊”

  • 「我精通 Vue.js,看过 Vue.js 源码」=== 「我能熟 Object.defineProperty/ Proxy,也知道发布订阅模式」
  • 「我精通 AST」===「我知道 AST 是抽象语法树,知道能用它做些什么」
  • 「我熟练使用并了解 Babel」===「我能记清楚很多 Babel 配置项,甚至默写出 Babel Plugin 模板代码」

进阶问揭露现象

  • 「你知道 Vue.js 完整版和运行时版本的区别吗?」

如果你不理解「Vue.runtime.js 运行时版本不包含模板编译器」,就大概率无法说清 Vue 在模板编译环节具体做了什么。如果只知道几个 APIs 实现数据劫持和发布订阅模式,又何谈精通原理?

  • 「请你手写一个“匹配有效括号”算法?」

如果连 LeetCode 上 easy 难度的编译原理相关算法题都无法做出,那么何谈分词、AST 这些概念?

  • 「如何设计一个 C 端 Polyfill 方案?」

如果不清楚@babel/preset-envuseBuiltIns不同配置背后的设计理念,又何谈了解 Babel,更别说设计一个性能更好的降级方案。

求职者困境

  • 我该如何避免相似的工作做三年,而不是具备了三年的工作经验?
  • 我该如何从繁杂且千篇一律的业务需求中抽身出来,有时间总结提高自己?
  • 我该如何为团队带来更大的价值,体现经验能力?

焦虑或处于安逸状态的开发者,逐渐成为“短期速成知识”收集者,他们以为收藏的是知识,其实收藏的是“知道”,你以为掌握了XXX技术的知识,其实你只是囤积了一堆“知道”。

我曾多次和团队的同学分享过,知识的学习分为6部曲:Remember 记忆—〉Understand 理解--〉Apply 应用—〉Analyze 分析--〉Evaluate 评估—〉Create 创造。

image.png

而理解和应用后,分析与评估的过程,包含着分享。当你能把一个技术讲给一个不了解的人听,并且听会了,证明你就掌握住了这个技术点,也证明了你的演讲和分析能力。

我们在整理技术点,思考如何清楚的分享给他人时,可能要补充体系,会有很多想法。比如一篇文章的总结可能漏掉一些细节,所以要继续找一些文章书籍什么的,才能补充到相对的完整。整理技术点内容的过程,也是结构化整理知识点的能力锻炼。

我也曾鼓励大家多讨论技术和技术分享,但效果不好。不尝试去突破能力的瓶颈,就无法质变性成长。久而久之,回头一看,你还是那个千变一律的皮囊。或者是尽管自己努力了,但也是一个人孤单的努力,没有别人地帮助或没有突破性成长,也会被人卷成皮囊。

此文同样告诫自己


参考资料:候策的 《前端基础建设与架构》