前端难点在哪里呢?
共 1090字,需浏览 3分钟
·
2022-06-10 23:42
1,业务和极限边界的理解:
是的没错,业务理解比技术水平高还要重要,目标决定过程,一个需求实现有很多技术方案,如何选择最适合业务的比较难,也是考验一个前端经验是否丰富的标准。我举个实际例子,比如我们要做一个H5全屏视频的项目,直接 video 标签就可以了,但是针对不同的浏览器需要设计相应的降级方案,比如视频上需要有交互,某些浏览器视频是最高层级,那么程序应该如何处理这一类问题,产品是无法理解的,需要技术提出来,并给出建议,否则测试阶段就无法保障质量和项目进度,甚至可能导致项目重写或者实现不了,换方案。
2,对 BUG 的理解
和问题解决:依然不是一个技术能力高低的问题,而是一个思维方式的问题,一些初级的前端遇到解决不了的问题一般都是先百度一下,厉害点的可能 google 一下,但是并不是所有 bug 都可以搜到的,遇到一些无法理解的 bug 如何处理才是考验前端能力的一个门槛。比如是否能灵活运用 devtools 里的一些功能来分析定位,比如内存泄露,比如某些机型特别卡顿,可以快速定位到问题点。还有一些远程的客户遇到了 bug,你没有办法到达现场,应该如何处理这种场景,快速定位问题等。
3,代码风格和设计模式:
无论你是写 vue 还是写 react 还是写 nodejs 或者纯原生 js 的 sdk,都绕不开代码风格这个问题。老板不管你怎么实现,反正我就要明天上线,可是如何维护和组织代码这个问题是个经典的编程难题,是喜欢 oop 还是函数式,如何灵活扩展你的类或者抽象你的方法,参数如何设计,这些如果像题主一样,理解为照抄别人,那么第一个写这个功能的人是怎么设计出来的呢?前端 API 大家都说越来越简单了,但是面试的时候问到设计模式能够真正灵活运用到项目里的没几个。
4,对前后端,客户端的理解:
优秀的前端不仅仅只是会前端,前端是一个需要和全部门打交道的工种,如果不理解客户端的运行机制或者后端服务的运行逻辑,是无法很好的做到和其他部门沟通技术方案的,比如 hybrid 方案一定是一个又懂客户端又懂前端的人发明的,像 server render一定是需要你具备一定的后端能力甚至高并发,大流量场景的人才能真正 hold 住的。能做到以上四点的话,我觉得至少已经是个中高级前端人才了,很多技术博主迷信于比拼技术水平,算法难度,却忽视了作为一个公司最需要前端解决的是什么,所以很容易造成许多刚入职场的人有一种错觉,什么东西都很简单,真正需求来了的时候又总因为各种各样的问题导致延期。水平差距我理解也主要体现在这几个方面。