为什么技术探索与实践?一个老广应届生的自白

高效_山峰
2025-12-13 04:03
阅读 733

上周五晚上十一点,我合上 MacBook,窗外是西关老屋斑驳的砖墙,楼下的糖水铺刚打烊,空气里还飘着点姜撞奶的甜香。老婆在隔壁房间已经睡着了,而我盯着邮箱里那封标题为《Offer Acceptance Confirmation》的邮件,手有点抖。

是的,我——一个土生土长的老广仔,终于拿到了某一线大厂的正式 offer,前端开发岗,base 广州,月薪从实习期的 15k 涨到了 22k。房租 3500 的老城区单间,终于不用再靠泡面续命了。

但你知道吗?三个月前,我还在为一道 JavaScript 面试题 蹲在珠江边发呆,差点以为自己这辈子和“大厂”俩字无缘。


事情得从去年十月说起。

那时我刚从华工计算机专业毕业,手里攥着几份中小厂的 offer,薪资都在 12–16k 区间。说实话,不算差,但对于一个从小听着“食在广州、赚在深圳”长大的老广来说,总觉得差点意思——不是钱的问题,而是那种“我还能更好”的执念。

那天下午,我约了同系师兄阿强喝早茶(对,程序员也喝早茶,别刻板印象了)。他在天河某大厂做前端三年,西装都没穿,就一件格子衫配人字拖,坐在我对面啃虾饺。

“你最近面大厂没?”他问。

“面了两家,全挂。”我低头搅着肠粉的酱油,“第二轮一面完,HR 直接说‘技术深度不够’。”

阿强咽下最后一口叉烧包,擦了擦嘴:“是不是又卡在 JS 原型链或者 event loop 那些题?”

我点点头。那道题是这样的:

“请手写一个 Promise.allSettled 的 polyfill,并解释它和 Promise.all 的区别。”

我当场懵了。平时用 Promise 用得飞起,但真要手写底层实现?脑子一片空白。面试官看我支支吾吾,叹了口气:“你项目经验不错,但基础太虚,像是只调过 API,没想过 API 是怎么来的。”

那一刻,我站在珠江新城地铁站出口,看着玻璃幕墙反射的夕阳,心里只有一个念头:我是不是只会“用”技术,却不懂“造”技术?


回家后,我翻出自己 GitHub 上那些“简历项目”——电商后台、个人博客、仿知乎界面……花里胡哨,动效炫酷,但点开代码,全是 copy-paste + 网上教程拼凑。连最基本的模块化都没做好,更别说性能优化、错误边界处理这些高阶玩意儿。

我突然意识到:我只是个“使用者”,不是“创造者”。

更扎心的是,我连公司里的“运营”逻辑都搞不清。有一次面试官问我:“你们那个用户增长项目,DAU 提升 15%,你是怎么配合运营团队做埋点和 AB 测试的?”
我支吾半天,最后老实交代:“其实……我就是把 UI 做出来,数据是他们给的,我没碰过埋点系统。”

面试官笑了:“前端不只是切图仔,现在大厂要的是能和产品、运营对齐目标的技术人。”

那一晚,我失眠了。老婆看我翻来覆去,问:“要不要去吃宵夜?”我说:“不如陪我去图书馆吧。”


接下来两个月,我做了三件事:

第一,死磕 JavaScript 底层。
我不再满足于“能跑就行”。我开始读 V8 引擎文档,手写各种 polyfill,甚至用 Proxy + Reflect 自己搞了个简易响应式系统。我还建了个小仓库,专门记录每一道被问倒的面试题,附上自己的思考和实现。比如那道 Promise.allSettled,我不仅写了 polyfill,还画了状态机图,模拟了并发失败场景。

第二,主动参与“运营”闭环。
我在本地搭了个 Mini 项目,假装自己是个独立开发者:设计功能 → 写代码 → 加埋点(用 GA + 自定义事件)→ 分析用户行为 → 迭代优化。我甚至给自己编了个“运营日报”,记录点击率、跳出率、转化路径。虽然没人看,但这个过程让我明白:技术不是孤岛,它要为业务结果负责。

第三,用实践倒逼学习。
我不再“为了学而学”。比如学 Webpack,我就给自己定任务:“把首屏加载从 3s 优化到 1s 以内”。于是去研究 code splitting、tree shaking、懒加载……过程中踩了无数坑,但每解决一个,就感觉离“真实世界”更近一步。

最疯狂的一次,是上周四凌晨三点。我在调试一个内存泄漏问题,Chrome DevTools 的 Memory 面板看了八百遍,最后发现是某个 setInterval 没 clear。那一刻,我居然笑出了声——不是因为解决了问题,而是因为我真的在“探索”技术,而不是应付面试


转折发生在今年三月。

我又投了那家大厂,还是前端岗。这次面试流程更狠:四轮技术面,两轮交叉面,最后一轮是和业务线负责人聊“如何用技术驱动用户增长”。

当又被问到 JS 底层时,我没背答案,而是打开笔记本,现场写了一个简易的微任务调度器,还顺带解释了为什么 Vue 3 的 nextTick 要用 MutationObserver + Promise 混合策略。

“那你平时怎么和运营协作?”负责人问。

我直接掏出手机,打开自己那个 Mini 项目的 GA 后台:“你看,这是我加的三个关键事件。当用户点击‘立即体验’但没完成注册,我会触发一个自定义事件,然后运营可以用这个数据做召回策略。技术在这里不是终点,是桥梁。”

他眼睛亮了一下,说:“有意思。”

三天后,HR 打电话来谈薪资。我说期望 20k,她沉默两秒:“我们给到 22k,base 广州,六险一金,还有房补。”

我深吸一口气:“能接受。”

挂掉电话,我冲进厨房,对我老婆喊:“今晚去炳胜!我请客!”


现在回头看,我终于明白:技术探索与实践,从来不是为了“显得厉害”,而是为了在真实世界的复杂问题面前,不慌。

很多应届生(包括曾经的我)有个误区:以为刷 LeetCode、背八股文就能进大厂。但现实是,大厂要的不是“知道答案的人”,而是“能定义问题并找到解法的人”。

JavaScript 只是一门语言,但它背后是浏览器、是网络、是用户体验、是业务指标。当你只把它当作面试题来背,它就是枷锁;当你用它去解决真实问题——比如帮运营提升转化率、帮产品减少用户流失——它就成了翅膀。

而且说真的,在广州这种节奏相对慢的城市,反而更容易沉下心来做技术沉淀。不用天天卷“996福报”,周末还能叹个早茶,晚上陪老婆散步上下九。技术可以激进,生活不必焦虑。


所以,如果你也在焦虑面试、纠结 offer、怀疑自己是不是“不够格”——别急。

先问问自己:我是在用技术解决问题,还是在用技术应付考试?

试着做一个小项目,哪怕只是个 Todo List,但加上埋点、加上性能监控、加上错误上报。让每一行代码都有“目的”,而不是“任务”。

你会发现,技术探索的乐趣,不在“学会”,而在“用会”。实践的过程,就是把知识变成肌肉记忆的过程。

最后分享一句我贴在显示器边的话,来自《禅与摩托车维修艺术》:

“当你关心你所做的事,事情本身就会变得有意义。”

我是阿杰,一个刚拿到 offer 的老广程序员。住在荔湾老巷,爱吃云吞面,爱写 bug 更爱 fix bug。希望明年此时,我能笑着告诉你:这 22k,拿得值。

共勉。

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝