一个初级的前端工程师需要知道些什么?
一个初级的前端工程师需要知道些什么?
按照我的想法,我把前端工程师分为了入门、初级、中级、高级这四个级别入门级别指的是了解什么是前端(前端到底是什么其实很多人还是不清楚的,底什么是前端后端、后台),了解基本的html、css和javascript语法,可以根据设计师的设计图在不考虑兼容性的情况下把页面做出来,了解过一些框架的使用(例如烂大街但是依然牛逼的jQuery、zepto、bootstrap等等)
在经历过入门的阶段,已经了解了前端要做什么,并且把基本的语法学习过了可以独立做一些简单的页面了,那么就要继续学习达到初级前端工程师的水平,对于初级的前端工程师需要了解的就特别多了,需要对整个前端有一个清晰的认识,并且熟练使用各种技术,我感觉在校的学生达到初级水平就可以通过bat的校招笔试面试了(看到这里,您先不要吐槽,先把我下面说的初级水平需要掌握的东西看一下之后再来评论我说的有没有过)。
初级前端工程师首先要知道的就是如何处理各种浏览器的兼容处理(比如说在IE浏览器中的createElement有什么不同等等内容),现在基本上每个公司在招聘的时候都会要求熟练html5, css3, javascript,这个熟练的意思就是信手拈来,在下面会说初级前端工程师应该具体的学习哪些知识,然后就是要了解各种css的预处理器和后处理器,还有会使用常见前端的MV*框架(angularjs, backbone,reactjs等等)并知道这些框架的原理,另外就是要熟练使用nodejs,要会使用基于node的各种前端构建工具(grunt,gulp等等),熟练使用github或gitlab,对模块化、组件化、工程化、语义化有一个比较深入的了解,最后要知道如何开发移动端的页面,如何去优化一个页面的性能。
初级前端工程师的技术体系
目前在网上有很多关于技术体系的文章,但是几乎都是在一个很笼统的方面来介绍技术栈,这里我就给把那些笼统的概念给分解开,详细的来说一下需要掌握的知识内容。
html部分
首先是要掌握一些常用标签的使用和他们的各个属性,这些常用的标签我总结了一下有以下这些:
html:页面的根元素。
head:页面的头部标签,是所有头部元素的容器。
body:页面的主体标签,页面展现的内容就放置在这里面。
title:页面的标题。
meta:位于文档的头部,提供页面的元信息,包括关键字、描述等等。
link:定义文档与外部资源的关系,最常用的用途就是引入样式表。
script:脚本标签,可以把js脚本代码放置在这个标签内,也可以使用这个标签的src属性引入一个外部标签。
style:样式标签,可以把css代码写在这个标签中。
a:超链接,href属性代表要链接到的地方,target属性代表打开方式。
img:图像标签,src属性表示图片的位置。
form:表单元素,它内部的input、select、textarea等标签都是比较重要的。
div:定义文档中的分区或节,可以使用div来进行页面的布局等操作。
另外还有ul、li、p、button、iframe、p、table等标签也很常用,nav、section、article、header、aside、footer等语义化标签也需要了解一下。
除了要了解上面这一些标签之外,还需要对一些新的HTML5的API有一定的了解:
audio、video标签。
Canvas:定义图形,比如图表和其他图像。
input标签的accept属性,email、phone、url等类型。
getElementByClassName根据class名来获取一个元素结点。
Multiple file selection多文件选择属性。
html的import、template
process标签,webGL等内容。
还有一些要知道的知识点:
1.doctype的作用。
2.unicode、utf8等编码的原理和区别。
3.如何进行页面性能优化。
4.png、jpg、webp、gif等图片格式的不同的优势。
5.HTML行内元素与块级元素的区别。
6.移动web端开发常用head标签。
7.web语义化。
8.浏览器中的缓存原理
css部分
关于css这一块,我的看法就是网上下载一个chm格式的css的参考手册,然后根据手册里面写的一个个的都敲一下。
css大体分为下面这几块知识点:
① 定位布局
1.position属性的7个值(static | relative | absolute | fixed | center | page | sticky)分别有什么作用和不同?
2.实现品字形布局或者是三栏布局(左右宽度固定,中间适应屏幕)。
3.浮动与清除浮动的方法,flex布局,grid布局。
② 盒子模型
1.margin、padding、border这三个属性。
2.伸缩盒相关内容。
3.Multi-column Layout Module多列布局模型。
③ 文本字体
1.强制换行与不换行,清除空白。
2.文本对齐、大小(如何设置chrome小于12px的字体)、缩进、转换。
3.单位(em、rem、px等),颜色(rgb、rgba,hls)。
④ 变换、过渡和动画
1.transform的各种取值的作用与兼容性。
2.transition过渡的动画类型,贝塞尔曲线的原理。
3.animation动画的各种设置,@keyframes规则。
4.浏览器的重绘与重排。
⑤ 选择器
1.选择器的分类,权值和优先级。
2.有哪些属性可以被继承,哪些属性没法继承。
3.伪类和伪元素分别是什么,有什么作用。
上面这些都是基础的东西,除了这些基础的内容之外需要了解Less、Sass、stylus等css预处理器,这将会大幅度提升你的css开发效率,也需要了解一下Autoprefixer、PostCSS等css后处理器。
javascript部分
在这里就不说js的基础知识了,我把js按照语法的层次和使用的层次分为了两大块。
按照语法的层次来说:
首先是javascript的面向对象方面的内容:在javascript中实现封装、继承和多态。
① 封装:在js中可以通过闭包、作用域和作用域链来实现封装,ES6的const、let的作用。
② 继承:基于原型链的继承、基于构造函数的继承、组合式继承、寄生式继承等,外加ES6的class关键字,prototype和__proto__。
③ 多态:在javascript中多态是使用arguments来实现的,关于arguments会引申出来很多内容:
1.arguments的caller、callee等方法的作用。
2.方法的apply和call的作用和不同。
3.使用Array.prototype.slice.call来把一个数组对象转化为数组。
4.array的各种方法,如shift、splice、push、filter、map、reduce、forEach等等。
然后是Js的设计模式,比如说那三种工厂模式啊,建造者模式啊等等。
最后是在不同情况下的this分别都代表什么。
按照使用的层次来说:
首先最主要的就是ajax,ajax原理,ajax跨域的方法:jsonp、使用iframe的location.hash、postMessageAPI、websocket、服务器代理等等。
然后是tcp协议、udt协议以及http协议的协议头、状态码等内容。
浏览器的缓存,客户端存储方面的内容:localstorage、sessionstorage、indexDB、cookie等等。
最后是一些新的js的API,例如文件读取(fileReader)、fetch、Promise、Web Sockets等等内容,可以去caniuse上面看一下有哪些新的东西。
转载于:https://blog.51cto.com/12848275/1924359
一个初级的前端工程师需要知道些什么?相关推荐
- 初级Web前端工程师是什么?初级Web前端工程师的技术体系有哪些?
今天小编要跟大家分享的文章是关于初级Web前端工程师是什么?初级Web前端工程师的技术体系有哪些?本篇文章为大家整理出来了Web前端工程师初级阶段需要掌握的内容,很全面,希望大家好好阅读,看看自己掌握 ...
- 成为一个优秀的前端工程师,其实你也可以!
想成为一个优秀的前端工程师 其实很简单 只要你掌握了 HTML CSS PhotoshopECMAScript DOM BOMNodeJS FlashAS PHPfirebug YSlow IETes ...
- 对不起,我骗了你,我不是一个合格的前端工程师
我是一个梅州人,在深圳上班,从上图可以看出我是一个大专生,其实不是的,我欺骗了大家,我是06年高中毕业,因为读书偷懒,并没有考上一个好的大学,结果阴差阳错的跑去茂名读了一个中专,读中专的时候并没有好好 ...
- 学习web前端,合理的学习路线,如何成为一个合格的前端工程师
学习前端,首先应该列举出整个前端的知识图谱,然后制定一个合理的学习线路图,逐个击破,只要保持学习的热情和持之以恒,肯定能成为一位合格的前端工程师.前端算是目前互联网研发岗中门槛相对较低的,只要具备完整 ...
- 从10个角度来检测自己是不是一个合格的前端工程师,这些要求你都达到了吗?
开篇 前端开发是一个非常特殊的行业,它的历史实际上不是很长,但是知识之繁杂,技术迭代速度之快是其他技术所不能比拟的. winter在他的<重学前端>课程中提到: 到现在为止,前端工程师已经 ...
- 一个优秀的前端工程师年薪会有多少?
用户体验为王,是互联网时代的座右铭.人们在享受互联网带来的便捷的同时也对互联网产品的用户体验有了更高的要求,这意味着前端开发人员也会有更多的挑战和机会.近几年,前端的框架类库层出不穷,正处于工程化的新 ...
- 一个优秀的前端工程师简历应该是怎样的?
很多Web前端工程师在求职时很容易掉坑里,今天就聊聊怎么避坑. 一.简历中这些坑,千万别再踩了 大厂门的敲门砖,是一张拿得出手的简历. 毫不夸张地说,不管大厂还是其他公司HR每天经手的简历不少于50份 ...
- 从10个角度来检测自己是不是一个合格的前端工程师
开篇 前端开发是一个非常特殊的行业,它的历史实际上不是很长,但是知识之繁杂,技术迭代速度之快是其他技术所不能比拟的. winter在他的<重学前端>课程中提到: 到现在为止,前端工程师已经 ...
- 一个优秀的前端工程师应具备哪些技能?
作为一名前端工程师,产品的内外兼优才能体现它的完美,前端工程师需要学习的技能远远超过设计师. 那么一名优秀的WEB前端工程师应具备哪些技能呢,我在这里分享一下,供大家参考: 第一:HTML超文本标记语 ...
最新文章
- git回退commit_Git进阶 温故知新系列
- android第一天
- terminal怎么运行c语言文件,在mac电脑的terminal里该如何运行c语言
- MapReduce程序的优化
- html中图片的属性优化,Html标签元素在SEO中的优化方式(二)
- 为什么Java不允许super.super.method();
- [Hands On ML] 8. 降维
- 93没有了_杭州1米93程序员征婚贴火了!年薪50万,孩子随妈姓,没有皇位要继承...
- 从像素坐标到相机坐标_多视图几何基础——深入理解相机内外参数
- xgboost通俗_【通俗易懂】XGBoost从入门到实战,非常详细
- 开放防火墙的端口号mysql_linux下mysql开启远程访问权限及防火墙开放3306端口
- 防盗链python_python一行代码,实现网页视频下载
- Mysql数据库 自动增长 重新从0开始
- python中shuffle是什么意思_选择vs.Shuffle,Python
- 秒杀系统优化方案之缓存、队列、锁设计思路
- 绕过深澜校园宽带认证客户端使用校园网的方法
- 蛋白质组学数据分析实践
- 【Android】使用MPAndroidChart过程中BarChart的几点心得
- Office2010安装出错(Error1406)
- 申报2021国家高新技术企业认定,有哪些标准?