今年1月底,我离职了。第一次主动提离职,感觉就像谈恋爱分手了,非常难过,但又非常确定,长期来看这是正确的。
为什么离职呢?我有点技术理想主义,又还年轻,总之,计划赶不上变化。
离职之前我就已经预想到我会承担离职后的不确定性,会不容易,但是没想到几天里,现实的摩擦会如此强烈,这种不确定性会这么具体,我陷入了典型的“离职窗口期混乱”。
上一秒觉得自己能力不错,下一秒又觉得自己够不着。今天想往一个方向转,明天发现准备太累又放弃了。后天觉得自己应该沉淀下来想想适合什么环境,大后天又觉得别多想了,赶紧行动。
这样想几轮,我突然能够脱身出来,观察我这反反复复的状态,然后就感到自己摸到了进化论的天花板,不是我主观意识在控制想法,而是基因程序的执行,我的大脑自动在寻找新的确定性。
为了获得力量,我又读了一遍Paul Graham的《How to Do Great Work》。
The work you choose needs to have three qualities:
it has to be something you have a natural aptitude for,
that you have a deep interest in,
and that offers scope to do great work.
你选择的工作需要具备三点:
你有天赋;
你有深度兴趣;
它有做出伟大成果的空间。
In practice you don’t have to worry much about the third criterion.
现实中,你几乎不需要担心第三点。
The way to figure out what to work on is by working.
找出该做什么的方式,只有一个:去做。
这篇文章里有一个观点很关键:你只有通过做点东西去靠近目标,才能让不确定性慢慢变得确定。
所以,与其在脑海里反复推演各种可能性,不如尽早根据现在的情况准备面试,争取尽快落地下一份工作。
面试前准备
今年的面试准备,和去年状态完全不一样。
去年是盲目自信,只知道背八股文的表层,没有架构和复杂系统的思考能力。但今年不一样了。在这一年的工作中,我开始学着做技术决策,也逐渐理解了系统闭环的思维。虽然还不太成熟,更多是“看见并理解”,还没到熟练运用的程度,但也正因为这样,准备面试变得特别难。
我重新翻出以前积累的八股文题库,发现完全看不下去了,没有逻辑,全是碎片。今年的我已经没办法靠背题库来应付“八股文”了。所以我决定把前端的底层知识重新梳理一遍。
好在现在有AI工具。
我用的是Notion AI,里面集成了Claude、OpenAI和Gemini的模型。我写了一份提示词给Notion AI用,这份文档里规定了“系统化学习课程”的风格,核心是围绕“闭环”的理念来设计:
· 知识点介绍
· 引导问题
· 通过实验实现闭环
用这套提示词,我把JavaScript、React与Vue框架、前端工程化、性能优化这些重点知识都重新学了一遍。学完之后,对前端整体的技术树有了更清晰的印象。
但当真正开始准备面试时,还是会有“某个点没掌握好”的感觉。我发现自己属于那种“没把握就不自信”的人,哪怕其他部分准备得不错,只要有一点没覆盖到,心里就不踏实。
这时候豆包大模型帮了大忙。我的用法是:打开豆包App,用语音输入把问题转成文字直接问,豆包响应很快,能帮我快速补齐那些零散的知识点。
我常用的大模型有ChatGPT、豆包、Gemini和Claude。整体来看,问知识点类的问题,Claude和Gemini的回答更准确、更有逻辑,豆包稍微弱一点,但胜在方便:国内模型打开快,语音转文字也快,适合随时查漏补缺。
面试中准备
面试其实是一个“以一概全”的准备过程。你不知道面试官熟悉哪个领域,也不清楚他具体做的业务(虽然JD上会透露一些),所以我们通常会把准备做得很全面。但这样也容易导致一个问题:什么都准备了,却没有一个是真正精通的。
所以面试的第一个行动,就是要有取舍,但是不能有明显短板。
比如React和Vue,你不一定要两个都会,但一定要有一个是真正懂的。这时候就尽量保住你擅长的那个框架,另一个了解,但是又不能完全不知道。
讲项目的三层结构
面试中讲项目,我把它分成三个层次:
第一层:实现细节
明确功能是怎么实现的,用了什么库
梳理整体流程,状态流和数据流转的具体做法
性能优化怎么做的,用了哪些工具
第二层:价值产出
- 最终通过这些技术手段达到了什么结果
第三层:利弊权衡
讲清楚为什么用这个而不是那个
这三个层次一套下来,面试官基本就能判断你是不是真的做过这个项目,有没有思考过。
说实话,也不是每次都这样顺畅的三层思路,因为要完美得讲出来,需要一点表演成分
其实就算某个“为什么”你没想过,也不代表你不爱思考,很可能你只是在这个点上没想过,其他方面你想得比谁都深。这个时候要刻意引导,被动回答问题是接受面试官的评价体系,主动引导是定义和表现你的价值体系。
由于行业的筛选机制,面试都爱问难点,前端的难点,本质上就是复杂场景下的稳定性、可维护性、交互体验、性能和边界处理,所以准备项目难点,按照这些思路来。
但这里有个现实问题:如果你接手的业务本身没那么复杂,那你了解的技术实现也不会太复杂。所以真要讲清楚这些难点,前提是你确实见过、主动思考过或者你之前的业务已经达到了这种复杂度。
从这个角度看,这解释了大部分情况下,下一份工作和上一份工作关联很大,所谓的“经验”。另一个关键因素,是你个人的兴趣和精力投入。
今年前端岗位的情况
我个人感觉今年面试机会和去年差不多,但是拿到offer机会更少,这说明了今年比去年竞争更激烈。
对前端来说,“全栈”“AI” “Agent”是新的趋势。我看了老海的JDwatch平台统计,222个前端岗位里,“全栈”关键词出现了41次,“agent”关键词56次,“AI”关键词151次。
这非常直观地体现了市场的技术倾向。
面试题:现在几乎必问“你怎么用AI”
今年面试最明显的变化是:几乎所有公司都会问你“平时怎么用AI”。为了准备好这个问题,我专门做了调研,读了大厂AI工程化的实践报告,也看了社区大牛怎么用AI做个人提效。
我的回答思路是这样的:
先说个人使用:
我按任务难度分层用AI。日常编码用Tab补全和局部改写,省掉重复劳动;中等难度的任务,我选中代码直接下指令,配合对话调整;复杂的多文件改动,交给Claude Code这类Agent工具。
再说方法论:
我把自己定位成架构师和审查者。AI产出越多,审查越重要。写提示词时,我会先写规格说明、拆解任务、给完整上下文,让AI先提问再执行,这样输出质量会高很多。
最后上升到团队视角:
我理解AI工程化有成熟度路径。L1是工程师自发使用,没有统一规范;L2是集成期,AI工具接入IDE,有基本规范;L3是流程期,AI嵌入CI/CD流水线。未来可以逐步把AI接入代码审查流程。
这个回答的逻辑是从个人工具使用出发,讲清楚方法论,再上升到工程化视角。既展示了实操能力,又体现了系统性思考,比单纯说“我经常用ChatGPT写代码”要扎实得多。
另外,我也发现,“怎么用好AI”不只是应付面试的问题,更是对个人工作流的思考:如果你的日常只用豆包、ChatGPT, DeepSeek这类的chatbot覆盖,那说明你的工作流程不连续,一问一答就结束了,内容复杂度不高,流程不长且没有闭环,产出有限。
如何你是这种情况,也没有关系,要认识到,复杂度是积累起来的,效率是随着复杂度痛点触发的,但是做啥事都要讲究闭环和反馈。
最后,当一切都沉淀下来
我最近开始上班了,勇闯深圳了,从去年就想来深圳了,但是我也热爱英语,想进外企学英语。
回顾面试那段时间,心情感觉就像坐过山车。面试被认可了就开心,觉得自己热爱技术;挂了就抑郁,怀疑自己是不是不适合这行。正反两面镜子一照,我开始把自己分离出来,意识到:原来我的技术水平是有一条客观线的,低于这个线下的技术问题,我了如指掌,之上的我磕磕巴巴。
另外一点更深层次的,我把自我价值的锚点放在了外界反馈上,这动摇了我的价值系统,我知道外界反馈很重要,我离职一个很重要的原因就是这个,但是反馈的前提是,自己已经定义好反馈是用来调优的,而不是跟着反馈波动,自我定位忽高忽低。
在上一段工作里,我真的很热爱工作,坦诚说,我其实带着一种学生思维,觉得公司应该培养人,技术应该标准化,业务必须有价值,但是我没意识到系统追求的是稳定性,而不是目标函数。
离职前几天,我开始动摇了,甚至怀疑我这种人不适合职场,我想的理想工作根本不可能有,朋友劝我下一份工作看钱就行了,我想了想,钱确实很重要,理想和目标也很重要,在有选择的时候,一定不要放弃后者。
职场的本质是交换,你用时间和技能,换取金钱和未来成长的空间,不仅要换来工资,更要换来你未来想要的能力和方向。
人生的本质:设计一套愿意支付副作用成本的状态组合
找工作这段高现实摩擦的时间里,我反复观察自己的心绪,我意识到,痛苦、快乐、焦虑、不确定、自由,它们不是轮流出现的,而是长期叠加、彼此缠绕的。
人在痛苦时总希望解脱,在长期确定时又觉得被束缚;自由了又感到不确定,想要安定。这就是人生的本质:意识总是站在当前状态之外评价当前状态,所以痛苦一直持续。
那怎么办呢?既然不管选什么都有副作用,关键就不是寻找完美状态,而是设计一套你愿意长期支付副作用成本的状态组合。
我问过自己一个问题:如果财务自由,我会怎么过一天?
第一阶段是短暂休息,看山看水,看看家人朋友;第二阶段是回归正常,建立生活节奏,学习、提升、尝试新东西。
这样一想,我发现我真正要的不是技术理想实现,而是稳定的健康、持续的提升和自我掌控感。
从我当下所拥有的和能掌控的,以及外界客观规律来看,选择技术是一条我可以承受的路径。
选择的本质
这次离职决定和几个朋友聊了,其中一个有意思的观点,我称之为“沟通万能法”,他的观点是离职是不必要的,冲突可以通过更好的沟通解决。
我觉得他说的有道理,但是有局限,因为我确实相信人的适应性很强,比如可以强到忍住心理不适去吃屎,只要给他满意的钱。但是问题的关键在于:你得问问自己是不是有这个必要。
这让我进一步思考了做选择的本质,毕竟,离职后我也不确定,状态也有差到自我怀疑,甚至开始美化过去的不适。
答案是机会成本。很多人做选择时只看“选了这个能得到什么”,却忽略了“选了这个会失去什么”。比如在犹豫要不要离职时,很多人会算“留下来能省什么”,比如省去找工作的麻烦。但正确的算法应该是:留下来会失去什么。
计算公式是:留下来的成本 = 想成为的人 - 现在被迫扮演的人。
这就是机会成本的思维。以后做任何选择,不要只看收益,要看代价。
我这次选择已经用机会成本衡量了,但是现在想想,我遇到的问题是,不确定性如果没被量化,那“下一个选择是更好的”概率带有一点运气成分。
所以,做选择,不仅要衡量机会成本,用替代指标计算成本,而且还要量化不确定性,用概率和数据统计收敛不确定性。
那讲到这,又具体怎么量化、计算统计和收敛呢,我还没想这么清楚,let’s figure out together.
底图是我以前非常喜欢玩的一件小霸王游戏