〇、概述
一个优秀的工程师,必先是个优秀的程序员,一个优秀的程序员,必先是个优秀的人。这篇文章并不讲述如何在短时间内拿到 offer,而是讲述我作为一个普通的技术人,如何将面试当作人生规划的一部分,一步一步达到自己的目标。其时间跨度是一年、三年、五年,而不是一个月、两个月。
一、产品化思维分析自我,建立能力模型
苏格拉底提出“认识你自己”,在这里,我们要做的也是“认识我们自己”。当然不是为了解答“你是谁,你从哪里来,往哪里去?”的哲学问题,而是使用产品化的思维去分析你自己,将自己作为人才市场上竞争的产品,从而建立能力模型。
- 要分析什么
其实就是分析自己的亮点、缺点。作为技术人,分析的就是我们在技术上所擅长的,比如,框架熟悉的是 React、Vue 还是 Angular?其熟悉程度如何?能否解答大部分常见问题?是否有自己的独立见解和实践沉淀?和市场上其他人同质化能力相比,我的能力有何竞争力?
- 为何要分析
分析的目标是为了找出自己的竞争点,明白自己的价值在哪里,从而建立自己的能力模型。在学习过程中加强优点,补足缺点。在面试过程扬长避短,紧抓优点,规避不足和缺点。
-
如何分析
- 列出自己的亮点
- 找出自己亮点中的不足
- 列出市场需要的能力你却没有或者不够的(缺点)
- 针对前面 a、b、c 列出提升方案或者解决方案
亮点和不足的 ?:我觉得我的亮点是对 React 很熟悉,但是对 React 的实现原理不够了解。那么我就可以列一个关于 React 的提升计划,专攻 React,比如攻读源码,让这个能力更加具备稀缺性。
缺点的 ?:项目开发中常常需要使用网络相关的知识,但是我除了 axios 调用啥也不会。那么我可以列一个关于网络知识的学习计划,不足这块的不足。
二、工程化方法规划方向,重在扬长补短
其实分析出了我们的能力模型之后,我们就知道下一步该怎么做了,四个字,扬长补短。
想要让亮点成为真正在市场上有竞争力的亮点,那就必须提高它的稀缺性。要提高他的稀缺性,首先就是要消灭亮点中的不足。
就像亮点和不足的 ? 中的亮点是熟悉 React,而不足是对 React 的原理不够熟悉。那么我们可以用工厂化的方法规划,并执行落地(以下是一个 ?):
注意 3 点:
- 树立里程碑,也就是每一根鱼骨,达成之后让自己有成就感
2. 要有沉淀作为规划的支撑,可以是项目,也可以是文章
- 规划都在纸上,实践要在脚下。
三、重视简历维护,让简历可持续发展
很多人认为简历不过是面试时候的一张纸,但在我看来,简历是你的人生在某个时间点的切面。简历描绘的是你的能力模型,简历是什么样子的,那么你就是什么样子的。那么如何维护简历呢?
- 简历中寸土寸金,每一句话都要有意义,有内容,要紧扣你的亮点,重点突出,有实践支撑。 比如亮点是熟悉 React,那么可以有 React 博客、React 项目、React 开源工具作为沉淀输出
- 结合规划,跨越一个里程碑,就更新你的简历相关信息。 比如不足是对 React 原理不熟悉,但是当你补足这个不足的时候,就可以更新对 React 的描述了
- 宁缺毋滥,宜少不宜多,宜精不宜泛。 以前我喜欢在简历上罗列一大堆技术栈,显示自己经验丰富,但是发现,列得越多,打击面越广。所以“了解 Spring Cloud,MySql,RabbitMQ...”之类的和前端不太相关的技术描述我就变成了“有过后端开发经验,了解常见技术后端技术”,将可能的坑变成了优势。
- 面试之后复盘也要更新简历。 当我们面试之后发现简历上的一些描述给自己埋坑或者不符合,面试之后即刻修改。如 3 的 ?。
四、面试前的准备
- 通用题
通用题其实就是体现个人基本素质的地方。所谓通用题,就是自我介绍,项目介绍,职业规划说明等。看过去像是闲聊,但其实考察已经开始了。每一句话都体现了一个人的知识,素养。所以,推荐打好草稿,并练习,记住,时刻围绕自己建立的能力模型和简历。
- 技术题
- 常见面试题必会
- 技术要有自己的见解、实践、总结
- 算法、设计模式之类的属于积硅步致千里,需要始于足下,慢慢沉淀
-
询问题
面试官通常会给你一个机会,让你问他一些问题,这些问题可以准备一下,比如:- 团队情况
- 项目情况
- 你的职位定位
- 公司福利
- ...
- 题库
整理自己的题库,包含上面提到的三种类型的题目
五、面试中的表达
接触过一些面试官,他们说其实有些候选人很优秀,但是不知道如何去表达。我在面试中的表达总结出了以下三条:
-
回答前想几秒,打草稿
得到问题之后先不急于作答,而是先分析面试官所问的问题的目的是什么?然后打个小草稿,如果之前总结过那就更好了
-
回答时有条理,可以按总分总
通常面试官会做一些记录,那么如果你的回答太过泛,而没有中心,则就不知道该记录啥了。举个例子,我喜欢这么说:关于这个问题,我有三个看法,1、xxx,2、xxx,3、xxx,其中 1 说的是 xxx,2 说的是 xxx,3 说的是 xxx。总之 xxx。
先抛结论,再详细说明,最后再总结。临时发挥其实有点困难,但是如果养成习惯,或者打草稿并刻意练习,还是可以的。
-
始终围绕自己的亮点,不要给自己埋坑
面试中最怕的就是给自己挖坑,比如回答问题的时候引用了自己不熟悉的技术,让整个面试的走向走到了自己不熟悉的领域。所以我们才要分析自己的能力模型,明白自己的优势和劣势,同时对于常见问题需要打个草稿并练习。要将整场面试掌控在自己的领域内,首先先不要给自己挖坑,然后是引领面试官到自己的领域。
六、面试后的复盘
面试时候记录,面试后回顾:
- 如果是通用题答得不好,就修改好以后添加到自己的题库去
- 如果是技术题答得不好,就再去深入这个技术之后,总结、沉淀,确保下次能够很好的回答
七、心态
- 失败
失败是常态,成功是运气,或者是趟过了所有的坑积累出来的,就和 bug 一样,重在复盘和解决,让自己不会再一次踏入这个坑
- 放弃
放弃是常态,始终坚持才是不正常的,我基本一周要对人生放弃一次,但是务必找到方法让自己重新振作。比如我用规划来约束自己,达到了目标,那放弃一个周末也没啥大事。
八、总结
- 长期有规划
- 中期产沉淀
- 短期多准备
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。