2022感觉过得真快,还有一周就结束了,趁着周末有时间来总结一下2022做了什么。最近小人很多,各位老哥保重身体。
咱也不是刚毕业的小鲜肉了,不过也算不上什么工作经验丰富的老司机。大概分享一下今年工作以来的一些感想与心得吧。去年刚入职的时候基本上都是在扮演一个页面仔的角色,切切图CURD,没有什么特别值得说的事情。从今年开始,自己会从团队、工程化、性能优化的角度去考量自己做的事情。比如开发一些效率工具,有没有提升团队其他同学的开发效率这个我不能太确定,但是确实提升了我自己的开发效率。做完某一个功能的时候下意识的会去使用performance面板或者帧率面板去分析实现的耗时与性能,个人觉得这是一个好习惯,希望能够不怕麻烦坚持下去。
感觉前端很容易沦为页面仔,从刚毕业以来我就一直纠结于这个问题。也一直记着一位前辈说过的话:同样是一位五年的前端,但是写了五年官网的前端跟做过一些复杂业务的前端是不一样的。写五年官网怕是有点夸张,但是道理是那么一个道理。如果不让自己变成页面仔,貌似只能多折腾。
工作上有机会去突破或者接触到一些不是那么常规的前端技术当然是好事。比如说可视化、跨端、音视频等等。如果能接触到这些而且自己也不是那么排斥的话,大可以花多点时间去学习落地一下,这些有可能是凸显你个人亮点的一些地方。如果接触不到,个人觉得也可以从以下几个方面去思考。
如果是涉及到一些交互的场景,比如拖拽、重新渲染、排序等等,这些地方的性能有没有去考察过,考察过之后有没有值得提升的地方,能不能把这些还能提升的地方解决掉。
前端方面的约束比较少,但多人协作的时候难以写出统一风格的代码。试试自定义eslint、stylelint插件配合git的pre-commit或者pre-push钩子去做一些代码检测。考虑引入强制cr机制来保证整个代码的质量。
保持自身对代码的洁癖,约束自己不能写出屎山代码。敢于重构旧代码,在重构的时候如何保证功能的完整性以及整一个重构工作的顺利落地。
对于自己感兴趣的模块一定要积极参与,就算不能成为主导开发也要成为其中的开发人员,脸皮厚一点舔上去就完事了。
向上管理,这个是我做的不好的地方,有请评论区的老哥进行补充。
什么是好的代码好的设计?个人觉得能让人快速看懂快速上手的就是好的代码,而不是造一堆概念让人一脸懵逼。不过这样确实能展现这个人的编程水平,也对他的个人影响力有一个质的提升。只不过难为了我这个菜鸡同事而已~
在一个稳定的环境呆久了会有一种太过安逸的感觉,不知道自己的能力处于什么水平。所以我这一个多月也投了投简历,不过最近的面试机会真的少,不知道是不是整个大环境这样,且加上我的工作年限太短。一共就面了2家公司,加起来一共7轮技术面试,2家都是比较大的公司,说出来大家应该都听过的那种,具体是哪2家就不细说了。下面就说一下我自己的面试感受。
算法和八股文还是挺重要的,基本上一面都是浅聊了一下项目,就开始了八股文轰击。问的最多的还是JS相关的内容,比如事件循环、堆栈、节流防抖等等。也问了一些CSS相关的,比如flex布局、单行多行文本溢出等等,还有就是网络相关的问题,特别是TCP&HTTP,问的也很多。最后就是老生常谈的XSS、CSRF等安全相关的问题。都是一些相当经典的内容,牢记并背诵全文即可。
算法每一轮都有,感觉算法确实是没有什么捷径,只能多做做题,咱也不是什么竞赛选手,能理解的就理解,理解不了的就死记硬背。感觉一道middle的题目,如果没做过类似的或者一开始就没有什么思路的话,10分钟的限时加上面试的高压环境也很难写的出来,如果做过类似的话基本上也是秒解。所以没啥办法,只能刷题。
值得一提的是,框架的考察很少,问框架的原理的也很少。基本上只问了一两道框架相关的题目,而且也就是一些很经典的八股文,问框架的使用或者API的更是少之甚少。所以想撸框架源码的同学可能得想清楚自己为啥要去看框架的源码,如果是为了面试的话我觉得大可不必。背背掘金上的题目就够了。
从二面开始问八股文的就很少了,基本上都是深挖项目,可能一些八股文的考察会穿插在这个过程之中。从整一个模块的技术选型,到功能实现,再到工程优化、性能优化。都希望你能有一些自己的理解。我们常常谈性能优化,什么样的性能优化面试官会感兴趣?
Webpack打包优化属于性能优化吗?当然属于,之前特别流行一些文章,说把10M+体积的包优化成1M左右,性能提升了十倍。数字很惊人,但是别人真的感兴趣么。可能感兴趣的程度不会太大吧,因为太过千篇一律。就是这种优化是很有必要的,但是它放在哪一个项目都是有用的,那其实这个优化跟你的项目没有太大关系,这是一种通用的优化手段,可能属于一面的八股文环节。这个环节是要说你自己的项目亮点,不是这种千篇一律的东西。
再说回优化,一般可以分为工程优化以及性能优化。工程优化可以有你如何组织代码、如何提升开发效率、如何统一代码规范、如何降低代码的BUG率等等。性能优化是啥呢,可以从网络层面去考察,也就是上述的webpack打包优化,也需要从渲染层面去考察,使用一些检测工具去分析耗时与帧率,排查性能问题并解决它,我感觉面试官都比较喜欢听这个。突然想起几年前一位前辈对我说的话:进大厂,算法只是敲门砖,确实是的。
到了更高一级的面试官之后,会进行一些技术面试,也会开始穿插一些软技能的考察。比如你的绩效、你怎么跟产品测试同学沟通、你怎么看待需求的延期等等。这种隐隐约约有坑,但是我确实还没总结出一套应对的方案,但是确实不能够表现的太过负面,尽量展示自己阳光随和的一面。
2023希望自己还能保持技术的热情,工作上更积极主动一点。跟女朋友去吃更多好吃的玩更多好玩的,身边的人身体健康。各位老哥发大财~