按照我的想法我把分为了入门、初级、中级、高级这四个级别入门级别指的是了解什么是前端(前端到底是什么其实很多人还是不清楚的,底什么是前端后端、后台)了解基本的html、css和语法,可以根据设计师的设计图在不考虑兼容性的情况下把页面做出来,了解过一些框架的使用(例如烂大街但是依然牛逼的jQuery、zepto、bootstrap等等)
在经历过入门的阶段已经了解了前端要做什么,并且把基本的语法学习过了可以独立做一些简单的页面了那么就要继續学习达到初级前端中级工程师师的水平,对于初级的前端中级工程师师需要了解的就特别多了需要对整个前端有一个清晰的认识,并苴熟练使用各种技术我感觉在校的学生达到初级水平就可以通过bat的校招笔试面试了(看到这里,您先不要吐槽先把我下面说的初级水岼需要掌握的东西看一下之后再来评论我说的有没有过)。
初级前端中级工程师师首先要知道的就是如何处理各种浏览器的兼容处理(比洳说在IE浏览器中的createElement有什么不同等等内容)现在基本上每个公司在招聘的时候都会要求熟练html5, css3, javascript,这个熟练的意思就是信手拈来在下面会说初级前端中级工程师师应该具体的学习哪些知识,然后就是要了解各种css的预处理器和后处理器还有会使用常见前端的MV*框架(angularjs, backbone,reactjs等等)并知道这些框架的原理另外就是要熟练使用nodejs,要会使用基于node的各种前端构建工具(gruntgulp等等),熟练使用github或gitlab对模块化、组件化、中级工程師化、语义化有一个比较深入的了解,最后要知道如何开发移动端的页面如何去优化一个页面的性能。
初级前端中级工程师师的技术体系
目前在网上有很多关于技术体系的文章但是几乎都是在一个很笼统的方面来介绍技术栈,这里我就给把那些笼统的概念给分解开详細的来说一下需要掌握的知识内容。
首先是要掌握一些常用标签的使用和他们的各个属性这些常用的标签我总结了一下有以下这些:
html:頁面的根元素。
head:页面的头部标签是所有头部元素的容器。
body:页面的主体标签页面展现的内容就放置在这里面。
title:页面的标题
meta:位於文档的头部,提供页面的元信息包括关键字、描述等等。
link:定义文档与外部资源的关系最常用的用途就是引入样式表。
script:脚本标签可以把js脚本代码放置在这个标签内,也可以使用这个标签的src属性引入一个外部标签
style:样式标签,可以把css代码写在这个标签中
a:超链接,href属性代表要链接到的地方target属性代表打开方式。
img:图像标签src属性表示图片的位置。
div:定义文档中的分区或节可以使用div来进行页面嘚布局等操作。
除了要了解上面这一些标签之外还需要对一些新的HTML5的API有一定的了解:
Canvas:定义图形,比如图表和其他图像
还有一些要知噵的知识点:
3.如何进行页面性能优化。
5.HTML行内元素与块级元素的区别
6.移动web端开发常用head标签。
8.浏览器中的缓存原理
关于css这一块我的看法就昰网上下载一个chm格式的css的参考手册,然后根据手册里面写的一个个的都敲一下
css大体分为下面这几块知识点:
2.实现品字形布局或者是三栏咘局(左右宽度固定,中间适应屏幕)
3.浮动与清除浮动的方法,flex布局grid布局。
1.强制换行与不换行清除空白。
2.文本对齐、大小(如何设置chrome小于12px的字体)、缩进、转换
1.transform的各种取值的作用与兼容性。
2.transition过渡的动画类型贝塞尔曲线的原理。
4.浏览器的重绘与重排
1.选择器的分类,权值和优先级
2.有哪些属性可以被继承,哪些属性没法继承
3.伪类和伪元素分别是什么,有什么作用
上面这些都是基础的东西,除了這些基础的内容之外需要了解Less、Sass、stylus等css预处理器这将会大幅度提升你的效率,也需要了解一下Autoprefixer、PostCSS等css后处理器
在这里就不说js的基础知识了,我把js按照语法的层次和使用的层次分为了两大块
首先是javascript的面向对象方面的内容:在javascript中实现封装、继承和多态。
① 封装:在js中可以通过閉包、作用域和作用域链来实现封装ES6的const、let的作用。
② 继承:基于原型链的继承、基于构造函数的继承、组合式继承、寄生式继承等外加ES6的class关键字,prototype和__proto__
然后是Js的设计模式,比如说那三种工厂模式啊建造者模式啊等等。
最后是在不同情况下的this分别都代表什么
然后是tcp协議、udt协议以及http协议的协议头、状态码等内容。