早晨我从床上爬起来,打开手机,盯着那封“感谢你的时间,但经过慎重考虑……”的邮件发呆。熬了三天三夜备战面试,结果依然被拒告终,这是今年第五次倒在第一轮,实在是打击力度够大。
这次是面试的是某新能源头部大厂资深前端岗位,方向是跨端和微前端——正好是我的老本行。
我把压箱底的项目翻出来重新跑了一遍:Taro重构多端小程序、能源SaaS平台的qiankun落地、一体化收银解决方案,门店管理App的Flutter,以及拿过国家发明专利的一体化收银软件。
十年多的项目经验,堆成山的代码,两本专利,带过的团队——我把它们都整理成了一份漂亮的项目清单。
面试前,把防抖节流、leecode手写了一遍,把HTTP和HTTPS的区别背得滚瓜烂熟,把Web Worker的原理捋了三遍,连Vue的diff算法都重新看了两遍源码解析。
我甚至专门研究了一下该车厂的业务,想着怎么把前端技术和汽车智能化结合起来。
然而面试只进行了30分钟就结束了,那一刻,我就知道没戏了。面试官很客气,问题也都答上来了。微前端为什么不用iframe,我说得清清楚楚;Flutter的三棵树,我也讲得明明白白;性能优化案例,我直接一两个小程序项目举例,数据都记得:主包体积减少30%,首屏加载从2秒降到1.2秒。
但30分钟后,面试官说:“好,那今天就到这里,后面HR会联系你。”
没有追问,没有深挖,没有“你还有什么想问的”之后的长篇解答。
我懂这种节奏。资深面试官其实前20分钟就能判断出要不要你。30分钟结束,意味着他已经判断完了,而结果显然不是他想要的。
面试最后,他问了一个问题:“哦,对了,你是在职还是离职了?”
我说:“离职,随时到岗。”
现在回想起来,可能这句话本身就是减分项。一个38岁的前端,离职状态,随时到岗——在HR眼里,这可能不是“诚意”,而是“没有其他选择”。
我到底输在哪?躺在床上,我一遍遍复盘这场面试。
技术问题都答了,项目经历都讲了,连最后那个“你还有什么想问的”我都准备了两个高质量的问题。
也许是年龄。简历上写着“10多年工作经验”,换算一下就知道我多大。也许在筛选简历的时候,那个数字就已经被打了折。
也许是预期不匹配。一个38岁的前端,要的薪资、要的职级,可能和他们想招的“能写代码的年轻人”对不上。他们要的是执行者,而我的履历看起来像要带队的。
也许是单纯的不合适。他们想要一个React Native专家,而我的优势在Vue和Taro;他们想要一个能马上上手写业务代码的,而我的简历看起来像要做架构的。
谁知道呢?面试从来不会告诉你真实原因。
这十年,我都干了什么
躺在床上睡不着,我开始回想这十几年走过的路。
2012年,我还在写.NET,那时候叫“Web开发工程师”。后来转前端,从jQuery到Backbone,从Zepto到Sea.js。再后来,Vue火了,React火了,我跟着学,跟着用。

2018年,我开始带团队。曾经带了8个人,帮两个同事晋升成功,拿了公司级专项奖,还搞了两个国家发明专利。
2023年,去了某汽车大厂带着3个人做微前端重构,做Taro跨端,做能源SaaS平台从0到1。
我还学了Flutter,做了iOS和Android App;学了AI,玩过ollama和langchain;写过Webpack插件,搞过自动化CI/CD。
这十几年,技术栈换了四五轮,框架迭代了七八次,我一直在学,一直在追。我以为只要跟得上,就不会被落下。
现在看来,有些东西不是学就能解决的。
接下来呢?
五天后还有一场面试,做内部系统重构。
和这次一样,我又开始准备。把简历重新翻出来,把项目重新梳理一遍,把可能问到的问题都列出来。
可是说实话,这次面试把我打懵了。30分钟就结束的感觉,像是一拳打在棉花上,有力使不出。
但我不能停下来,房贷要还,孩子要养,简历还要继续投。
也许下一场会好一点,也许不会。也许我该考虑降薪,也许该考虑转行,也许该考虑自主创业,但都被现实打败,没有现金流真的让人绝望!
如果你也是大龄程序员,如果你也经历过这样的面试,点个赞吧。不为别的,就为我们都还在坚持。