我建议从书籍、代码、标准三方面入手。
**书籍:**当需要了解某个知识点时,可以多看几本相关书籍,看不同作者对这个问题的不同阐述,加深自己的理解。对比着看效果更好。
**代码:**检验我们是否已经掌握知识的好办法就是阅读代码。它不仅帮助我们加深对知识的理解,还可以查漏补缺,让我们得到一些新的启示。有哪些源码值得我们去读呢?
· 书籍里的代码
· 前辈们留下来的代码
· 论坛里的经验
· 某个网站的代码
· 很多开源代码都可以作为我们的参考来源
· 归纳总结自己以前写的代码,你会得到不一样的惊喜
**标准:**当我们平时遇到问题时,需要追本溯源。而查阅标准就是关键。互联网技术更新迭代太快,而且网络上的资源良莠不齐。所以我们甄别的重要方法之一就是查阅标准。前端相关的标准主要分为两方面,即行业标准和厂商标准。
制定行业标准的组织主要包括:ecma组织/IETF组织/W3C组织
制定厂商标准的平台主要包括:IE/Chrome/火狐等
2
**实 践 篇
**
实践阶段对于遇到瓶颈的同学十分重要,因为不管以什么样的方式去学习,最终目的就是为了解决实际问题。
围绕着实践中的问题,实际上可以分为:发现问题、分析问题、解决问题、沉淀问题四个方面。
发现问题的途径有很多,包括产品的功能需求、开发的非功能要求以及疑问、建议、抱怨等。更多的时候需要前端工程师进行思考和归纳,这也是我们面临的挑战。
当我们发现问题时,不要急于上手解决,要分析问题的本质,确定产生问题的因素,和多方沟通,提出多种解决方案,分析各自利弊,再对照实际情况做出取舍最后解决问题。
在业务中,80% 的bug主要是业务逻辑考虑不全面,漏掉逻辑判断处理,数据格式不规范等引发的。这种bug改起来比较快,但是容易往复循环,或者引入新的bug。这些bug切碎了开发者的有效工作时间。
另外还有15%的bug是由开发者自身coding的问题引发,属于技术性的bug,但随着开发者对软件平台以及框架的熟悉,以及自身编程水平以及编程素养的提升,这类 bug会逐渐减少。
最后,对问题进行沉淀,加深理解,进而将简单问题的解决方式应用于复杂问题情况下,这也是提升的方式。
3
**进 阶 篇
**
到了一定程度之后,个人能力很难再提升,遇到了瓶颈。此时,需要先从个人角度出发,了解是否触及天花板,另可以从团队角度出发,寻找突破点。
**个人能力可以从深度和广度方面进行分析。深度分为三个阶段:表象、原理以及实现。**表象就是之前提到的基础阶段。下一个阶段就是能了解其中原理,对知识点能够把握和识别。实现阶段就是能够充分利用已有的知识体系,进行运用。
再从广度角度出发,可以分为专业技能和领域范围两部分。专业技能可以从知识体系的覆盖面和了解度出发。也就是覆盖面够不够广,以及对常见解决方案的了解程度。而领域范围的拓展就需要对其他产品进行了解,比如移动端、桌面端等的了解。
以上方面如果都很优秀的话,就是一个很优秀的前端工程师了。但是仅仅个人优秀还不够,我们还需要团队优秀。
最后
小编综合了阿里的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析
虽只说了一个公司的面试,但我们可以知道大厂关注的东西并举一反三,通过一个知识点延伸到另一个知识点,这是我们要掌握的学习方法,小伙伴们在这篇有学到的请评论点赞转发告诉小编哦,谢谢大家的支持!