从事前端开发工作差不多3年了,自己也从一个什么都不懂的小白积累了一定的理论和实践经验,并且自己也对这3年来的学习实践历程有一个梳理,以供后面来细细回忆品味。

1、为什么选择学习前端开发?

你可能是因为兴趣,完成一个网站、页面、功能的成就感。你也可能是因为现在前端岗位火爆,就业率高。不管是因为什么,只要找准了目标,学就是了!

一个合格的前端需要哪些能力?

1、三大基础技能,js、css、html这三项技能是前端工程师能力中的基础,任何框架、工具、库都是基于这三者只上的。这是硬实力,决定了整个前端生涯能够达到的高度,以及在后面的技术栈拓展中的顺畅程度和能够达到的效果。结合题主的描述,“会用jquery、js写一些常见的动画”,会用jquery只能说明你了解jquery这个库提供的api的使用方法,然而你跟offer的差距就是使用与实现的差距。很简单的一个例子,为什么写$('#xxx')就能取到元素?而想要回答这个问题,需要的就是扎实的js基础,你能回答出多少,就决定了你能拿到多大的offer。

2、工程能力前端工程师,首先是个工程师,做项目就是在做工程,所以懂得如何把一个项目的前端部分的工程运行起来,是另一项必备技能。grunt、gulp、webpack都是著名的工程类工具,这些工具只要能熟练使用,就基本符合工程能力的要求。但是如果想要拿到更高一个层次的offer,理解工作原理必不可少。这些工具的根本作用,就是对资源的处理,包括代码的压缩打包、本地服务器的架设等。

3、调试能力如果还在用alert、console来调试程序定位问题,那么你还不符合要求。学习chrome调试工具的使用,Elements查看元素、Network查看网络请求、Sources查看代码,设置断点定位问题、call stack查看调用栈。这个能力很少有人提到,但是掌握这些技能,不仅能在面试时给你加分,更重要的是在日后实际的项目中发挥的作用。

4、团队协作能力指的就是git,在项目开发中必不可少,熟练使用git,掌握常用的命令,学会解决冲突。

5、热门框架的使用vue、react是当前两个最热门的框架,能够熟练使用是基本要求,如果你想在众多求职者中脱颖而出,你还需要理解原理,还是那句话,你跟offer的差距就是使用与实现的差距。试着理解virtual dom的原理,响应式的原理,双向数据绑定的原理。

6、项目经验这里的项目经验,不是题主所说的“仿了几个页面”,而是“项目”的经验,是经历过整个项目从0到1全过程的经验,在这个过程中遇到了什么坑,如何解决的,解决的过程中是如何思考的。这些经历、思考在面试中也是面试官所关注的。以上是一个前端工程师在项目中所需要具备的基本能力,这些能力的缺失不仅会在面试中暴露出来,更会成为日后实际项目开发中的隐患

最后

技术是没有终点的,也是学不完的,最重要的是活着、不秃。零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。