大厂技术 高级前端 Node进阶
点击上方 程序员成长指北,关注公众号
回复1,加入高级Node交流群
中部不知名二本毕业,半路转前端,2018 年 9 月入坑,如今整四年,目前就职于一家中型公司
为什么走编程这条路?
其实是没有选择, 有时 没有选择,就是最好的选择
这一路走来,笑过痛过,开心过也失望过,拥有过,也失去过
壮志未酬
很早就给自己定下了目标:两年月薪 20k+,三年进大厂(目标 top5 的互联网公司)
第一个目标很快就实现,第二个目标却陷入了屡败屡战的死循环中
大厂绝缘体
大厂面了近 10 次,都是专家岗,到了这个年纪再面普通开发岗,可能连面试机会都不给
2 次面阿里,都是 hr 面挂掉;1 次面美团,也是 hr 面挂。最近 1 次是面京东,到手的 offer 因为裁员影响停止了招聘
收到的 offfer 有:小米、网易、喜马拉雅、叮咚买菜等
阿里面试官后来也给我交了心:技术没问题,但 hr 觉得你的学历与履历,与其他竞争者相比没有优势。现在大环境不好,应聘的人多,公司的要求更高了
我理解,很感谢他给我说这些话
夜很黑,路还很长
站在风口上的猪
时间回到 2018 年 9 月
我是半路出家转前端,边工作边学习的情况下,自学了三个月时间,很顺利就找到了前端的工作,还是甲方
我战战兢兢给 hr 要了 10k,令我意外的是,最终给了我 11k
能拿到 offer,我觉得有几方面原因:
1)当时前端正处于蓬勃发展的时期,vue 和 react 框架的成熟,给压抑了十几年的前端,带来了一次脱胎换骨的巨变,而我只是踩在了这个风口上
俗话说,站在风口上,猪都能上树,可能我就是那头猪
2)我的大学同学在关键时刻,给我指明了方向,这些指引让我了解市场所需,有针对性的学习,在最短的时间达到入门的效果
混沌期
熬过去,活下来
工作第一天
虽然面试我混进去了,但一开始工作,就把我打回原型
第一天上班,开始上手写代码大家就知道了我的水平,同事让我调接口,我胆怯的说没有调过接口,同事一下子就不说话了……
领导找我谈话:我知道你的水平差,也没想到这么差。我说希望给我一个月时间,如果到时候我还不能完成工作,就主动离职
领导可能被我的真诚打动了,他同意了。这一个月,也是给我的最后期限,我心里完全没底
工作第一天的晚上,就背着电脑去找朋友,让他给我讲项目
那一个月我几乎都是凌晨一两点才睡,早上六点多点就起床写代码
整个人是极度亢奋或者说是亢奋到麻木的地步
不知道困,也不知道饿
最终我的表现还是获得了领导的信任,渐渐胜任了工作,算是在前端这个行业站住了脚
是的 我活下来了
上升期
量变引入质变
团队的变化:加入了技术更强的团队,后来团队中有人去了阿里、小红书、携程等
人员的扩展:前端从原来的 3 人变成 15 个人的团队
项目的增多:从原来 2 个项目,变成了几十个项目,最多时手里同时在跑十几个项目
用户的增长:从几百用户增长到了百万级用户
项目的增多,给予的技术自由度也就更高,各种新技术都可以尝试,不限制使用 vue 或 react
业务的扩展,可以接触到更多的场景,涵盖了 pc、h5、小程序、app 的混合开发等,解决了很多适配与兼容性问题
边界的扩展,还搞了几个纯后台的 node 抽奖项目,学会了如何操作数据库,如何解决高并发、接口如何防刷等等
随着用户的增多,项目的性能与持续优化就变成的异常重要
一百用户与一百万用户的网站有着本质区别,任何细节都变得更为重要
一个最常见的例子:商城项目的长列表渲染优化,长列表渲染的性能效率与用户体验成正比
用到的技术包括:分页+虚拟滚动、图片懒加载、图片的动态裁剪等等
在挑战中成长
开始第一次负责大型网站的系统架构、性能分析、网站优化、网站监控等方面
开始慢慢理解前端,开始注重用户体验,逐渐学会承受压力
瓶颈期
目标照亮前行的路
我不是一个自制力很强的人,需要给每个阶段都设置一个清晰的目标,否则就会掉队
一个风筝,必须有一根绳子牵着,大厂就是这根绳子
备战大厂
前后准备了 8 个月时间,把制定的学习计划具体到天
没有严格的时间限制,学习进度和效果就会大打折扣
时间 | 任务 |
---|---|
2 个月 | 系统性学习了前端的基础知识,浏览器运行机制,重点练习手写 js 题 |
2 个月 | 练习算法,对应数据结构与题型分类练习!刷了一百多道 leetcode 题 |
1 个月 | 利用 performanc 和 Lighthouse 分析工具,结合 web vitals 关键指标计算方法,制定页面的整体优化方案 |
1 个月 | 搭建自己的脚手架,创建 pc、h5 项目模板等,手写 webpack、手写 babel 插件等 |
1 个月 | 复习了 node 知识,学习了网络协议、网络安全与攻击的防御方法等 |
1 个月 | 复习 vue 与 react 源码,学会如何手写一个简单的 vue |
对算法的误解
之前我对算法的理解,仅仅是为了应付大厂的面试
在两个月的算法练习中,我第一次体会到:编程不仅仅是技术,还是艺术
比如简单的循环,就可以解决很复杂的数学问题
算法对前端来说并不是非常重要,但却是一个优秀前端工程师的必备技能,对于提升编码能力有着举重若轻的作用
开局即巅峰
先从中型公司开始面,面了叮咚买菜、喜马拉雅,下来开始面小米和网易,并顺利了拿到 offer
然而花朵没有绽放就枯萎了
,后来的面试却屡屡碰壁
结果已经知道了,阿里+美团,hr 面挂了 3 次,京东到手的 offer 飞了
有半年的时间,不是在面试,就是在面试的路上
大厂基本都是 4 轮技术面+1 轮 hr 面,多次这样的反反复复,确实很累
特别是第一次被美团的 hr 拒绝,那感觉锥心刺骨,以为成功触手可及,其实是海市蜃楼,一场空
根据运气守恒定律,可能前期的运气太好,到大厂这一步怎么都迈不过去,就像一堵透明的墙。我认为伸手能够到,却每次到最接近的时候又给当头一棒
备战大厂的结果虽然差强人意,但也是我目前成长最快的阶段
很享受这种向着目标冲锋的满足感
,如今,我也可以违心的说一句:过程比结果更重要
迷茫期
后面的路怎么走?
静下来、慢下来
过去几年我一直很焦虑,怕技不如人 怕蹉跎岁月
经历了这一系列挫折,渐渐认清了自己,我还是我,不忘初心
唯有在路上才能消除心中的迷茫
用心去研究一些框架,了解其设计原理和优秀示例的写法
输出一些文章,也相当于给自己做的总结,大致分为几个系列
系列 1:源码解读,比如正在写的 elementUI 组件库系列,经典永远是经典
系列 2:把这两年备战大厂的10w 字笔记,整理下发出来,温故而知新
系列 3:个人随笔,聊聊生活,谈谈理想。
难的不是编程,难的是生活
很喜欢《士兵突击》中的这段话
许三多:我就是一个兵
袁朗:一个很安分的兵,不太焦虑,耐得住寂寞。有很多人天天都在焦虑,怕没得到,怕寂寞。我喜欢不焦虑的人
失与得
唯一的坚持
这几年,唯一做的比较好的一点:坚持做笔记
把遇到的项目难点、解决方案,甚至是细小的知识点都记录下来。不知不觉,十万+的字数应该是有的
编程的好处
程序员活在自己的世界里
电脑没有人那么复杂,如果你的代码写的好,你和电脑的关系就很好相处,可以指挥电脑做你想做的事,不用去关注外边世界的繁杂与变化
编程的弊端
沟通能力的丧失,这一点是我这一年多才意识到的
可能是工作性质的原因,平时也不太需要怎么沟通,办公室哪怕一天不说话,也没啥问题。时间长了,感觉自己都得了“失语症”
嘴的作用在淡化,任何技能都需要练习,沟通的技能在代码世界中,一天天丧失掉了
我在大学里做过班长,交际沟通能力还算不错,到现在竟然落下了“残疾”
三十岁的人,与社会的人打交道,怎么感觉自己还是个学生模样呢
还有朋友圈的固化,想想微信快一年没加过好友了吧,哎,要认真反思了
越往上走,越发现沟通能力的重要性
选择大于努力
上个月,我最好的朋友也离开魔都了,对于这个结果深感无奈又并不觉意外
他这几年一直还是测试,工资没涨多少,而我已经涨了 3 倍(也只是中等水平)
他毕业于一本的大学,当时和我一起入职,是公司招的第一批本科测试。加上他的学历高,人缘好,沟通能力强,公司也把他当成骨干培养
传统测试的天花板很低,后来虽然都升了测试组长,但工资与开发的差距越拉越大
我要走了,劝他也转行做开发,他犹豫后拒绝了,因为他的女朋友就是我们公司的,他不想分开,觉得现在的生活挺好的
现在,压弯他最后的一棵稻草,是谈了 4 年的女朋友分手了,他觉得魔都对他没有任何留恋的地方了
从他的语气中,感觉他变化很大,很焦躁,杂着叹气与牢骚
他带着满心的遗憾与失望走了,不知到底是女朋友把他抛弃了,还是生活把他抛弃了?
假如他也做了编程,以他的学历与聪明程度,他现在的境遇又是怎么样呢?
有的人来了 有的人走了
鸟儿飞过天空 天空却没有留下翅膀的痕迹
结语
我不是一个努力的人,但我又是一个一天不学习就浑身难受的人
我不是一个乐观的人,但我又是对明天充满希望的人
作者:海阔_天空
https://juejin.cn/post/7139463067792277534
Node 社群
我组建了一个氛围特别好的 Node.js 社群,里面有很多 Node.js小伙伴,如果你对Node.js学习感兴趣的话(后续有计划也可以),我们可以一起进行Node.js相关的交流、学习、共建。下方加 考拉 好友回复「Node」即可。
“分享、点赞、在看” 支持一波👍